Git解決衝突和diff用法

2022-04-18 04:56:57 字數 992 閱讀 6448

假設這樣乙個場景,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.同時更改檔名和檔案內容 二 邏輯衝突 自動合併成功執行後,並不一定意味著萬事大吉,在某些特殊情況下,確存在者邏輯衝突。假如乙個使用者修改了函式返回值,但是,另外乙個使用者仍然使用舊的返回值,雖然成功合...