最近生產(chǎn)線上master分支因為某個不合法的合并導致新提交的某些文件或代碼被刪除被覆蓋,結(jié)果十分慘烈,everybody加班... 先總結(jié)一下TortoiseGit解決沖突、合并、切換分支、創(chuàng)建分支、導出歷史版本、還原等常用的日常操作。 日常管理代碼版本主要通過工具TortoiseGit,代碼管理平臺GitLab。
1、開始一個新需求,基于最新master分支創(chuàng)建一個自己的分支。
2、工作中,同事間負責的項目修改一般不會沖突。這時合并自己代碼到master就不復雜了。到GitLab選擇MergeRequest的New Merge Request或者 Create Merge Request(New的那個無非就是多做一步,選擇要合并的分支)。下一步就是去合并了。
合并成功后顯示如下圖:
3、也有的時候,合并會發(fā)生沖突,這時就會合并不成功,并被反饋Conflict。How to deal with it ?1、到GitTortorise切換到Master分支,并且拉取最新內(nèi)容 。(原來我想從Remote的Master合并,但就是沒有成功,所以通過本地的Master來合并)2、然后切回自己的分支,從Master里合并到自己的分支,這時就是顯示沖突了,然后解決沖突,重新提交推送自己分支。3、到GitLab再重新Merge。
4、解決沖突(暫時沒有圖片,待更),如果解決沖突錯了,只要沒有提交,還能去還原,可以還原全部,可以選擇某些文件還原。
5、有時候,想讓全部代碼回到以前某個時刻的版本。這時打開日志,去基于某個提交創(chuàng)建分支,或重置到某個版本的提交,或者去導出某個歷史提交的版本。
在解決沖突比較多的時候,一個一個文件解決不太實際,批量的覆蓋,批量的以某個版本為準,更高效。
|
|