mirror of
https://gitee.com/jiuyilian/embedded-framework.git
synced 2025-01-06 10:16:51 -05:00
41 lines
1.5 KiB
Markdown
41 lines
1.5 KiB
Markdown
|
||
## 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,
|
||
|
||
这里为 <font color=red>640f9a20c7bb7e9e3dfc76b089745d5c95818fed </font>
|
||
|
||
指令如下
|
||
```shell
|
||
git rebase -i 640f9a20c7bb7e9e3dfc76b089745d5c95818fed
|
||
```
|
||

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

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

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

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