我在 Git 中合并了一些提交,现在我需要删除这个提交,因为它有一些机密信息。我需要在合并之前将 HEAD 放入提交中。
问问题
63 次
2 回答
1
我更喜欢使用git rebase
这项工作,因为会弹出一个不错的列表,我可以在其中选择要摆脱的提交。选择要列出的提交数量,然后像这样调用
git rebase -i HEAD~3
样品清单
pick aa28ba7 Sanity check for RtmpSrv port
pick c26c541 RtmpSrv version option
pick 58d6909 Better URL decoding support
然后 git 将删除您删除的任何行的提交。
于 2013-01-18T22:59:02.650 回答
0
还有另一种方法可以做到这一点,但在这种情况下我有一个解决方案。
假设您正在使用master
分支。
首先,我签出我想成为 master 中最后一个的提交并重新创建 master 分支。
git checkout 2fa59698256c4c3fb85c6e32741071797d5965b3
git checkout -b master
然后我撤回强制服务器删除它的历史记录。
git checkout --amend
git push origin master --force
这将删除之后的所有提交。
您可以使用git rebalse~x
然后强制推送...但是当我遇到麻烦时,我总是记得使用结帐,我一直在分支之间切换。
于 2013-01-18T23:01:45.070 回答