Undo git push to Assembla

雨燕双飞 提交于 2019-12-23 12:40:51

问题


So - today I wanted to do a good thing and rearrange files in my repository. Committed and pushed up to my Assembla repository.

Since I did not use the git moving command, all files lost their history. I realized my mistake and wanted to get rid of the unneeded changing so I could make the right kind of move afterwards. I tried the approach, showed in here, but instead I got:

$ git push -f origin 49bcfdceb30a1e9cfab0f0e7e39bfa04dc726b78:master
Total 0 (delta 0), reused 0 (delta 0)
remote: error: denying non-fast-forward refs/heads/master (you should pull first)
To git@git.assembla.com:myproject.git
 ! [remote rejected] 49bcfdceb30a1e9cfab0f0e7e39bfa04dc726b78 -> master (non-fast-forward)
error: failed to push some refs to 'git@git.assembla.com:myproject.git'

Info:

% 49bcfdceb30a1e9cfab0f0e7e39bfa04dc726b78 is the one tagged 'beforerearrange'

Any suggestions on how to fix this problem?


回答1:


When asked, I had no idea it could be connected with restrictions of Assembla.

Since this is a one time deal, I choose the following method that worked:

Citing the last comment from Assembla in the link (now obsolete but you can still find it in way back machine) mentioned by @michael-mior There is now an option “Allow force push” in the Git-Settings page, so

  1. Go to Assembla.com
  2. Go to your project -> Source/Git -> Settings
  3. Check the check-box "Allow --force push"
  4. Force push the right node:

    git push -f origin 49bcfdceb30a1e9cfab0f0e7e39bfa04dc726b78:master
    
  5. Clean up local mess.
  6. Go back to Assembla.com and disable "Allow --force push"

Result:




回答2:


It seems Assembla denies forced pushes. (This thread suggests you have to contact support.)

Since it's just a few commits, your best option is probably just to use git revert to undo them all in turn.



来源:https://stackoverflow.com/questions/13344483/undo-git-push-to-assembla

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!