0

我在 Git 中合并了一些提交,现在我需要删除这个提交,因为它有一些机密信息。我需要在合并之前将 HEAD 放入提交中。

4

2 回答 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 回答