git 删除中间的 commit

loyalpartner
  • 126

维护一个 git 项目, 发现里面的 commit 描述都是,修改某某文件,增加某某文件,有没有办法把这些 commit 删除呢?

比方说:
1 代表的是有效的 commit ,注释清楚
0 代表注释不清晰的 commit

1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1

我要如何把注释不清楚的 commit 删掉呢?

回复
阅读 14.4k
2 个回答

题主要的不是「删除」,而是「合并」。

  1. git rebase -i <commit hash> 从某一个 commit 开始
  2. 在打开的编辑器中,将需要合并的 commits 前的 pick 修改为 squash
  3. 保存并退出

建议 git checkout -b squash_some_commits 新建一个临时分支处理这件事,犯错了删掉重来便是。

git rebase 命令
http://zhidao.baidu.com/link?url=Q8DXAl3eVJpkBKF9hcmCi0TlKC0Vyu47PuIkfBWviAoACV6wk67ahzJDXPgxsTpJtyz5euQzqTVu_95QAnN9xLazCzMPsC9gBwFT3RifXYO

宣传栏