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