最后更新于
最后更新于
翻译过程中,难免会对同一个PR
进行多次提交,在最终的PR
里面就会出现多次提交,其中大部分提交的内容都是fix translate type
、fix translation issue
。如果合并到翻译分支,且merge
到上游仓库(有可能,这也是我们的目标),就会显得commit
信息杂乱。虽然我们review
团队在最终的merge
时候会选择squash
,但是良好的commit
习惯还是由开发人员自己养成。下面就些一个将多个commit
进行rebase
,将其变成一个节点进行提交。
执行 git rebase -i HEAD~n
,其中n
代表想要合并的commit
节点数量,本例子为3
。执行前述命令后会出现如下内容:
具体意思大家可以详读上面的具体内容。接下来是比较重要的一步,将后面两个commit
的信息进行压缩,也就是将pick
改成s
(代表squash
)。
然后根据提示,进行保存退出。在接下来出现的界面中,根据提示修改commit
信息:
保留想要的commit
信息,不想保留的可以以#
进行注释即可。比如本例注释后面的两行,只保留第一行:
保存并推出。
可以看到前三个commit
信息被整合成了一个。接下来只需要将修改推送至远端仓库即可。
将rebase
结果推送至远端仓库。这儿需要注意的是,必须用-f
或者--force
来完成强制推送,否则会报如下错:
使用git push -f
或者git push --force
来完成强制推送。(推送分支基于大家自己的选择)
随后即可看到,推送成功的信息
大家可以在github
对应的PR
上看到信息已经被合并成了一个。