搜索

首页  >  问答  >  正文

git 删除中间的 commit

维护一个 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 删掉呢?

过去多啦不再A梦过去多啦不再A梦2767 天前583

全部回复(2)我来回复

  • 怪我咯

    怪我咯2017-05-02 09:21:49

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

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

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

    回复
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-02 09:21:49

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

    回复
    0
  • 取消回复