假設這樣乙個場景,a和b兩位同學各自建了兩個分支來開發不同的功能,大部分情況下都會盡量互不干擾的,
但是有乙個需求a需要改動乙個基礎庫中的乙個類的方法,不巧b這個時候由於業務需要也改動了基礎庫的這個方法。
那麼在提交的時候便有可能會出現衝突conflicts
一定要記住這個單詞,conflict
此時使用 git diff
檢視具體衝突
上圖就是衝突的示例,
衝突的地方**********
====分出了上下兩個部分,
上半部分 **head** 是當前所在分支的**
下半部分是別人提交的**
此時進入**中把判斷哪些**進行刪改,
我們只需要移除掉那些老舊**,同時也要把那些 <<< head ==== 以及 >>>>>>baidu_activity 標記符號刪除,最後進行一次 commit 就可以了。
diff的用法
diff命令是很常用的,在開發過程中,大家會經常做一些**改動,但時間久了難免會忘記做過哪些改動,在提交之前需要確認下,這個時候就可以用diff來檢視到底做了哪些改動,
例如,有乙個 a.md 的檔案,做了一些改動,
當輸入 git diff 時,
就會看到如下內容:
需要注意的是,直接輸入 git diff 只能比較當前檔案和暫存區檔案差異,
什麼是暫存區?就是還沒有執行 git add 的檔案。
當然除了與暫存區做比較之外,他還可以有其他用法,如比較兩次 commit 之間的差異,比較兩個分支之間的差異,比較暫存區和版本庫之間的差異等,具體用法如下:
git 找到衝突 git 衝突解決
用git pull來更新 的時候,遇到了下面的問題 出現這個問題的原因是其他人修改了 php並提交到版本庫中去了,而你本地也修改了 php,這時候你進行git pull操作就好出現衝突了,解決方法,在上面的提示中也說的很明確了。1 保留本地的修改 的改法 1 直接commit本地的修改 也一般不用這...
git衝突解決
2年前 2013 08 09 10564瀏覽 同事在使用git pull 時,經常會碰到有衝突的情況,提示如下資訊 error your local changes to c environ.c would be overwritten by merge.aborting.please,commit...
git解決衝突
一 當發生以下三種情況時,git會自動進行合併 1.修改不同的檔案 2.修改相同檔案的不同區域 3.同時更改檔名和檔案內容 二 邏輯衝突 自動合併成功執行後,並不一定意味著萬事大吉,在某些特殊情況下,確存在者邏輯衝突。假如乙個使用者修改了函式返回值,但是,另外乙個使用者仍然使用舊的返回值,雖然成功合...