背景
使用git进行协同开发的时候,本地的改动很经常会和同事提交的代码产生冲突,需要先在本地将改动提交后才能拉取同事的代码,而后在本地解决冲突。这种做法虽然解决了冲突问题,但是会产生自己的提交和他人的提交合并的记录,这个在sourcetree上是两条线合成一条线的样子,个人感觉非常难看,有强迫症的我简直无法忍受但也无可奈何。然而,某年某月的某一天,我师傅达哥看到后,授予了我一套秘籍,就是使用贮藏。
如何巧用贮藏功能避免解决冲突时的两条提交合并记录
git使用工作区、暂存区、版本库来实现我们的协同开发。使用贮藏功能可以将本地工作区的改动保存起来,并使工作区回到没有任何改动的状态。
那么刚才背景提到的情况,在发现和同事的提交有冲突时,贮藏的作用在这个时候就完美体现出来了。
- 先用贮藏将本地的改动保存起来。贮藏使得工作区回到了没有任何改动的状态,那么就可以顺利将同事的远端提交拉取到本地。
- 之后,将贮藏的改动应用到这条提交上,这个时候还是会产生冲突的,但是这个时候我们只是针对这一条提交,解决完冲突后,并不会产生两条提交合并的记录,对应的在sourcetree上显示的还是一条线,完美治好了强迫症患者的病。
最后
两种方式都可以解决冲突,区别只是在于你是否患了强迫症,仅此而已。
歌曲推荐:多余的解释-许嵩