明天总结一下本人在理论工作我的项目中搭配git和gitee代码托管平台实现日常工作流的开发。
第一步
每天早上下班须要切到主分支上拉取一下最新的代码。
留神:这里有一个须要特地关怀的点就是如果你工作的分支有未实现的批改(也就是昨天晚上你工作的代码没批改完,你忘了推送下来)你是无奈切换分支的
这里着重讲一下这种状况如何正确处理
1.下图能够看到咱们当初批改了一部分代码,然而还未修改完,不想发一个commit
到master
分支上
2.当初我仓库上游有代码更新了,我须要去切换到master
分支上拉去最新的代码。
当前然而因为你没有commit
,所以git
不容许你切换分支因为你的代码并没有实现,如果你commit
的话,会多一条无用的记录,并且commit -m
的时候信息也不晓得如何填写适合。
这时候我会用到git stash
,这里咱们不过多解说stash
的用法,它是用来代替commit
的,相当于把你的改变临时放到了和暂存区同级别的一个中央。
3.让咱们git status
看一下哪些文件被批改了
就是这个红色的文件被咱们批改了,导致咱们无奈切换到主分支。接下来让咱们git stash
一下试试。而后再执行
能够看到咱们的批改如同隐没了一样,这时候咱们就能够切换到master上了,执行git pull
,同步一下最新的代码。
ok,这时候咱们master
分支的代码是最新的了,然而咱们开发是在分支上开发的呀,text
分支代码还不是最新的。这时候咱们就须要让text
分支和master
分支的代码同步。
4.这里切回text
分支。
在理论开发中我会抉择git rebase master
这个命令来同步最新的代码,因为应用git merge master
会造成一次非凡的commit
,意思就是master
分支上拉下来和你不同的那些代码git
会主动生成一次commit
记录来帮你记忆这次代码的更改。但往往这个commit
是无用的,它会再你代码改好当前,等真正想push
代码的时候,这条commit
会跟着你改代码时候“真正的”那条commit
一起推送过来。
所以咱们就选用git rebase
,在这里只简略解说一下,具体意思能够百度搜查更具体的答案。它真正让人感到和merge
的不同之处就是不会产生多余的那条commit
5.执行一下git rebase
看看
如同不对劲,有谬误?先采纳上面这个答复的形式解决,至于起因这个我之前也没钻研过,待我当前搞清楚再来补充
6.执行完git fetch origin
当前,咱们在text
分支上执行git rebase master
命令。
能够看到当初咱们的代码就是上游仓库,你的共事所有提交完当前的最新代码。
然而别忘了,你批改的代码还在stash
仓库里放着。
咱们只需执行stash apply
,就能够拿下来所有add
当前的代码了。
相熟的那个文件就又呈现了。留神!!!!!!这时候可能会引起抵触。情理很简略因为你当初更改的代码,有可能你共事也改过了,这时候git
就不晓得该才用谁的代码了,所以这时候git
就会提醒你优先更改抵触。
此时批改抵触即可。