在我们小菜菜的日常使用中,使用更多的workflow是收藏2中说的基本的Git Workflow
,使用pull拉取代码,push提交代码,永远都是单分支操作。正常情况下,pull拉取代码,会自动将我们的代码进行merge,但是总会有遇到无法自动合并代码的时候,这时可能会出现以下三种情况:
操作不担当,自己的代码丢失
操作不当,覆盖掉组员的代码
手动合并的代码中,因为带有组员代码,导致组员自己与自己的代码冲突
那正确的操作方法应该是怎么样的呢?
首先我们要达到的目的有以下几个:
保证自己的代码不丢失
保证不覆盖组员的代码
保证不手动merge操作时,提交组员的代码
fetch&rebase
拉取代码,提交记录清晰,与pull的差别,参照收藏3fetch&rebase
操作时,workspace中不能有正在修改中的代码,要么commit后执行,要么stash后执行fetch&rebase
操作当在倒数第二个版本使用reset “master” to this
操作后,最后一个版本的代码,会体现在workspace中,这时使用stash
操作,等同于将最后一个版本转移到了stash中,在stash之前,将冲突的内容手动解决,最后在master分支git stash pop
重新commit
代码,以此解决代码冲突。
merge request
请求,将这个麻烦事,甩给组长