1.5 KiB
1.5 KiB
git rebase 合并多条 commit 记录
PS:gedit 不太好用,可以执行如下命令将编辑器修改为熟悉的 vim
git config --global core.editor "vim"
如图,我们有一些 commit 是比较凌乱的,现在希望将其整理为一条合适的 commit 提交到 远程仓库。
我们需要将 day1 day2 add file 这三条记录合并为一条,执行
git rebase -i [commit]
commit 为你要合并的最后一条提交的下一个 commit,
这里为 640f9a20c7bb7e9e3dfc76b089745d5c95818fed
指令如下
git rebase -i 640f9a20c7bb7e9e3dfc76b089745d5c95818fed
这里将弹出 vim 编辑窗口,可以看到有此次 rebase 涉及到三个 commit id,我们选取需要 pick 的 commit id,其余的参考下面注释,添加 s 前缀,表示 commit 用于提交但是归并到 pick 的 commit 中。
将所有的 commit msg 编辑一个合适的归并 commit msg。
再次执行 :wq 保存即可。
可以看到,我们将两条不希望留存的 commit 记录归并到了
640f9a20c7bb7e9e3dfc76b089745d5c95818fed 提交之中,并且,这样的操作并不会改变原本这个 commit id 的值。
PS: 具体 rebase 指令细节参考 git rebase --help