「GIT SourceTree冲突」解决方案
現(xiàn)在程序猿標(biāo)配GIT作為代碼管理,但是從SVN到GIT學(xué)習(xí)中,其中GIT的沖突是一個(gè)難點(diǎn),常常會(huì)導(dǎo)致Push不上去,Pull不下來,很尷尬的地步,還不知道自己寫的代碼被覆蓋沒,廢話不多說,直接上干貨!
亮點(diǎn)
采用SourceTree插件和BeyondCompare?可視化解決沖突
方法
構(gòu)造沖突
-
A 修改了conflict.file 中第1行內(nèi)容并且提交到git上
-
B 這個(gè)時(shí)候也修改了confilct.file中第一行內(nèi)容準(zhǔn)備提交,這個(gè)時(shí)候git就會(huì)提示
提示遠(yuǎn)程已經(jīng)有更新了,本地版本太低,讓我們先pull拉取最新的代碼。
-
我們pull一下,這個(gè)時(shí)候由于本地有修改這個(gè)文件,就會(huì)在本地產(chǎn)生沖突文件
配置外部比較工具
-
下載Beyond Compare
-
打開SourceTree->工具->選項(xiàng)->比較->外部差異對(duì)比合并->選擇BeyondCompare
解決沖突
-
在本地副本->右鍵->解決沖突->打開外部合并工具
-
和svn一樣解決好沖突保存更改,退出即可
另外一種情況
-
拉取時(shí)出現(xiàn)如下提示:
提示需要暫存本地修改,才能拉取服務(wù)器上新的代碼
-
點(diǎn)擊貯存(英文版:Stash),隨便起一個(gè)名字,里面存的都是距離上次服務(wù)器版本到本地修改之間的差異,千萬別刪掉了,合并成功無誤了再刪掉。
-
pull拉取服務(wù)器代碼,這個(gè)時(shí)候,本地的代碼變成了服務(wù)器上的代碼。
-
點(diǎn)擊貯藏->應(yīng)用貯藏區(qū) ,這個(gè)時(shí)候是把之前的修改合并到本地上,這個(gè)時(shí)候會(huì)提示沖突。
可以在sourcetree里看到有感嘆號(hào),代表沖突文件,和上面解決沖突方法類似,但是稍微不同,最左邊成了遠(yuǎn)程版本,中間為遠(yuǎn)程上一個(gè)版本,最后才是本地修改。
這個(gè)是和我們操作方式有關(guān):我們是先暫存本地修改,先拉取遠(yuǎn)程代碼,這個(gè)時(shí)候local 就成了遠(yuǎn)程代碼,最后我們用暫存的合并進(jìn)去,remote就成了本地修改
多余的.orig文件
這個(gè)是由于git自身造成的 它會(huì)解決沖突后 生成一個(gè)原來沖突的備份,我們可以去掉
git config --global mergetool.keepBackup false
總結(jié)
以上是生活随笔為你收集整理的「GIT SourceTree冲突」解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么蔬菜吃了长胖?
- 下一篇: Git+SourceTree使用时出现的