2014-11-08 271 views
0

我是一個Git新手,完全搞砸了我的遠程主分支。我有一個分支(添加評論模型),我合併到主(並實際推動它),並後悔。現在我想撤銷所有這些,但合併是在命令行上完成的。git撤消合併提交另一個合併提交

我的Git大師的日誌是這樣的:

111 Merge branch 'add-comments-model' 
222 Merge branch 'master' into 'add-comments-model' 
333 Merge pull request #24 from good-merge 
444 some commits from add-comments-model 
. 
. 
666 some commits from add-comments-model 

理想我希望回到提交333(合併提交),但我注意到合併分支「主人」到「附加評論 - 模型'必須導致一些來自add-comments-model的提交滲透到主分支日誌中?

有人能告訴我如何讓我的主分支返回提交333嗎?

+0

退房的答案在這裏:http://stackoverflow.com/questions/2389361/undo-a-git-merge 我建議避免最流行的答案那裏。相反,看看「git revert -m 1 commit_hash」。 – 2014-11-08 06:47:56

回答

0

本地:
git reset --hard 333
git push --force origin master

+0

感謝您的回答。 'git push --force origin master'會影響其他團隊成員嗎?另外,是否會刪除444和666次提交? – kelvintaywl 2014-11-08 05:55:34

+0

它會影響遠程存儲庫,所以只要他們拉出來,它們就會和你一樣。它不會刪除較舊的提交,而只會提交333 – 2014-11-08 05:57:50

+0

@ user3673335之後的提交。如果他們已經完成了提交,那麼他們就會發生衝突。 – 2014-11-08 06:15:55