## git rebase 合并多条 commit 记录
### PS:gedit 不太好用,可以执行如下命令将编辑器修改为熟悉的 vim
```shell
git config --global core.editor "vim"
```
如图,我们有一些 commit 是比较凌乱的,现在希望将其整理为一条合适的 commit 提交到 远程仓库。

我们需要将 day1 day2 add file 这三条记录合并为一条,执行
```shell
git rebase -i [commit]
```
**commit** 为你要合并的最后一条提交的下一个 commit,
这里为 640f9a20c7bb7e9e3dfc76b089745d5c95818fed
指令如下
```shell
git rebase -i 640f9a20c7bb7e9e3dfc76b089745d5c95818fed
```

这里将弹出 vim 编辑窗口,可以看到有此次 rebase 涉及到三个 commit id,我们选取需要 pick 的 commit id,其余的参考下面注释,添加 s 前缀,表示 commit 用于提交但是归并到 pick 的 commit 中。
:wq 保存,将进入下一个 vim 编辑界面

将所有的 commit msg 编辑一个合适的归并 commit msg。
再次执行 :wq 保存即可。

可以看到,我们将两条不希望留存的 commit 记录归并到了

640f9a20c7bb7e9e3dfc76b089745d5c95818fed 提交之中,并且,这样的操作并不会改变原本这个 commit id 的值。
PS: 具体 rebase 指令细节参考 ```git rebase --help```