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