45
考虑这种情况:如何回滚前两次提交?
- 开发人员A没有提交:#N
- 开发。 B确实承诺#n + 1
- Dev。 A不提交#N + 2
- ,并承诺#N + 3
,然后发现他犯#N + 2他介绍了一个缺陷。
如何开发。回滚他最后2次提交并继续开发承诺#n + 1?
尝试过git reset --hard HEAD~2
*,但是它回到了开发者A的承诺#n。
考虑这种情况:如何回滚前两次提交?
,然后发现他犯#N + 2他介绍了一个缺陷。
如何开发。回滚他最后2次提交并继续开发承诺#n + 1?
尝试过git reset --hard HEAD~2
*,但是它回到了开发者A的承诺#n。
它应该回到n + 1提交。您可能也有合并提交。你也可以做一个git reset --hard <sha1_of_where_you_want_to_be>
警告!
--hard
意味着您目前有任何未提交的更改 将被永久抛弃。
git reset HEAD〜2应该重置为#n + 1提交,如果您在此时已经提交了B提交。你拉他们了吗? – Snowbear 2011-01-21 20:04:24
...不在#n + 2提交之前。它是:[0] B推`commit`#n + 1,[1]`commit`ted#n + 2,[2]不成功`push`,[3]`pull`,[4]`push` 。所以现在在github上有一个提交(#n + 2)和一个合并分支'master'(#n + 3)。 – 2011-01-21 20:23:33