嗨,为了ilustration目的,这是服务器上的树。
(...) Change to E from user TTT Change to D from user LLL Change to C from user me Change to B from user QQQ Change to A from user TTT (...)
我不小心推了C,我怎样才能将它从主存储库中删除而不影响我的同事们之后推送的所有工作?
如果可能的话,仍然保留它作为我自己的本地提交。
答案 0 :(得分:2)
您想要的命令是git revert
。它创建了一个提交来取消另一个提交:
git revert <SHA1 C>
然后,您可以将其推送到主存储库,并且将恢复提交所做的更改,同时仍保留提交本身(以及后续历史记录):
- A - B - C - D - E - ... - C' - ...
要继续基于它自己工作,你可以恢复还原,或者挑选原始提交 - 希望在本地分支上,这样你就不会意外地推送它!