GIT:删除日志中的提交,但保持全部

时间:2015-06-09 09:21:14

标签: git git-commit git-revert

嗨我在我的git repo中有一个提交要删除,但我想保留其他所有提交。

df5bf4b != 'Test' to =='Test'
c1f6f9f fixed occupations getJob to check if is empty
4e818fa added utility links partial to client template. Remove old utility links
f954acf Changes 'Site Map' link
276cd1f resolve conflict
db65577 Changes link
57f776e Changes corporate header 'Insights' link and underlines 'E-Briefings'
9f96c8f Changes link in the cookie banner for corporate sites
5b3d187 Moves 'Client' validation messages to JS alert box

我想删除提交9f96c8f,但保持每个提交低于及高于,有没有办法可以做到这一点?

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果您已经将提交推送到中央存储库,而其他人也使用此存储库,那么您实际上无法“删除”提交(至少在没有与所有其他开发人员协调并让他们运行某些命令的情况下)在他们的本地机器上)。如果您只想撤消该提交中引入的更改,则应该进行还原:git revert 9f96c8f。这不会从历史记录中删除提交,但工作目录的结束状态将像提交从未发生过一样。

另一方面,如果将违规提交推送到存储库,那么您可以按照Tony Barnes的回答中所述进行改造。

答案 1 :(得分:0)

你可以做一个git rebase:

if(Thread.currentThread().isInterrupted()) {
    // if you need cleanup, do it here
    return;
}

这将启动您的编辑器,您可以选择所需的提交。