検索

ホームページ  >  に質問  >  本文

Git 怎么用 rebase 合并几个 commit

据说 Git 可以通过 rebase 合并几次提交,最终在历史记录中只留下合并后的那一个。

因为我在改一个 bug 的时候中途提交了几次,但最后需要把中间几次提交都取消掉,直接合并最后一次提交上去,比如

aaaaaa 修改前小小的重构
bbbbbb 修改拼写错误
cccccc 重算 a 过程
dddddd 重算 b 过程
eeeeee fix #2382

我想最终在历史记录只有

abcdef fix #2382,重算了 a、b 过程

应该怎么做?
我平时用 SmartGit,不过用命令行解决也行

世界只因有你世界只因有你2763日前613

全員に返信(1)返信します

  • 伊谢尔伦

    伊谢尔伦2017-05-02 09:24:52

    git rebase -i <eeeee の以前のコミット>
    不要なコミットの先頭を s に設定し、保存して終了して新しいログを編集しますが、これはより複雑ですgit rebase -i <eeeee的前一次提交>
    把不需要的 commit 前面设为 s 保存退出后编辑新的log,比较复杂

    还有一种方法,但是要求 aaaaa 是当前最新的提交
    git reset --soft <eeeee的前一次提交>然后重新 git commit

    別の方法もありますが、aaaaa が最新のコミットである必要があります
    git replace --soft <eeeeee の以前の commit> を実行してから、再度 git commit を実行します

    いずれにしても、これら 2 つの方法は比較的危険な操作です。初心者は、最初に試してみるお気に入りのプロジェクトを見つけることをお勧めします。

    返事
    0
  • キャンセル返事