假设我有以下的git承诺:如何暂时删除最后一次提交与Git?
aaaaaa
bbbbbb
cccccc
(最新)
我想回去bbbbbb
,并从那里继续发展。本质上,我想删除cccccc
现在,并能够在未来检索它(我知道我仍然需要cccccc
)。我应该回复cccccc
还是回滚到bbbbbb
?
假设我有以下的git承诺:如何暂时删除最后一次提交与Git?
aaaaaa
bbbbbb
cccccc
(最新)我想回去bbbbbb
,并从那里继续发展。本质上,我想删除cccccc
现在,并能够在未来检索它(我知道我仍然需要cccccc
)。我应该回复cccccc
还是回滚到bbbbbb
?
只要做到:
git checkout -b dev_on_b bbbbbbb
将独自留下CCCCCC分支,给你一个新的分支从开始BBBBBB。当你想重新使用CCCCC您可以执行的:
git merge branch_with_cccccc # bring cccccc into dev_on_b
或
git checkout branch_with_ccccc
正确的解决方案取决于这是否是公共git存储库。
如果你使用这个命令,git revert HEAD^
那么它将恢复到(2),这可能是正确的事情。
但是,您需要确保在执行(4)时恢复为(3),然后在再次提交时合并所做的更改。
你可能想看看这个,因为它会根据不同情况讨论不同的选择,: http://book.git-scm.com/4_undoing_in_git_-_reset,_checkout_and_revert.html
感谢您的指点。它实际上是一个私人回购,与一些私人捐助者。 – moey 2012-03-26 01:01:47
这是一个私人的Git仓库。 – moey 2012-03-26 01:14:43