看本文之前,建议先看之前的章节,理解rebase变基的含义。
本文将结合rebase命令,为“如何优雅的使用git“ 第二节内容寻找第二条解决办法,第二节中讲到,小王为了避免解决冲突产生的提交记录,提交代码的步骤为:git stash先暂存代码=>git pull拉到最新=>git add并commit ,这里为大家介绍另一种方案
rebase解决办法:
我们回到第二节的场景,小王提交代码时git要求先进行commit或者stash,这一次我们不使用stash,看看能否避免多一条merge记录,操作步骤:
- 执行git add .并且git commit - m 'xxx' 提交代码至本地存储
- 执行git pull --rebase,学习过之前章节的同学是不是很熟悉,这时rebase的有一种用法,与git pull不同的是,该命令在pull request之后如果与本地代码有冲突,将进入rebasing状态,这时我们需要解决冲突后执行git add,然后执行git rebase --continue直至冲突解决完毕,如果本地有多次commit可能要解决多次冲突,全部解决完毕后,自动退出rebasing状态,这时发现并没有多出处理冲突的提交
- 执行git push推送至远端
总结:
在提交代码前如果无法拉取最新代码,除了可以使用git stash暂存,还可以使用git commit配合git pull --rebase提交代码,最终达到减少代码”不良记录“的目的,这样我们的代码记录又干净不少。