Git 文件沖突合并的幾種情況

假設(shè)沖突文件是 index.html

下面分5種情況討論。

1、本地不變。

然后遠程別人有更新。
git pull
這種最簡單,沒有沖突,本地工作區(qū)直接更新

2、我本地修改,但是不add。

然后遠程別人有更新,此時 :
git pull,
git會告訴你:

error: Your local changes to the following files would be overwritten by merge: 
index.html

此時,我git checkout -- index.html千萬注意,上條命令會導(dǎo)致你自己的修改丟失了!!
然后git pull.成功。
這種情況下,你自己的修改完全丟失。本地接受了遠程的修改。

3、我本地修改,但是已經(jīng)add了。

然后別人遠程更新,
git pull
這種情況,和上面幾乎一樣。
git reset HEAD test/TestCase.php
上面這條命令可以理解為add命令的逆命令。即,取消add操作。

然后繼續(xù)
git checkout -- index.html
千萬注意,上條命令會導(dǎo)致你自己的修改丟失了??!
然后git pull.成功。
這種情況下,你自己的修改完全丟失。 本地接受了遠程的修改。

4、我本地修改,add 且 commit了

然后別人遠程更新,
git pull
注意:這種情況和第2,第3種情況不同。git會認為你的commit也很重要。同等重要。
突然發(fā)現(xiàn),自動進入vi界面。
Merge branch 'master' of https://github.com/xxxx
這什么意思呢?就是git會主動再幫你添加一個commit。
先讓你寫點注釋,并且它已經(jīng)幫你寫了幾句話
那自己寫點東西,然后保存退出vi
請注意,這個commit是在本地的,還沒有發(fā)到遠程。
這個commit會自動合并 你添加到代碼,和 別人遠程更新的代碼,
所以,之后請自己檢查一下這個代碼有無問題。

如果都沒有問題,則你現(xiàn)在
git push
這個命令可以把你的本地改動推送到遠程。
push之后,遠程得到你和他人的所有更新。push之前,僅本地得到你和他人的所有更新。

5、使用分支功能。

git的分支功能很強大,應(yīng)該多使用。 上面幾種情況都沒有使用分支。使用分支會更好。 首先,我本地新建并切換分支branch_1,自己起有意義名字,并修改文件。

  git checkout -b branch_1 
  vi index.html
  git add index.html
  git commit -m "change test" 

現(xiàn)在,別人已經(jīng)更新了遠程主分支代碼(沒更新就極其方便了,也不必說了,快速更新)我想把分支合并到主分支。 我應(yīng)該,先回到主分支,并更新。

  git  checkout master
  git pull

然后,在本地,把我的修改分支合并上去。git merge branch_1 自動進入vi界面,讓你寫注釋。 然后會合并好。 類似提示:

index.html | 3 ++- 

上面,兩個加號表示文件增加了兩行,一個減號表示文件減少了一行。

此時,注意,凡是進入vi界面后, 最好自己再檢查一下程序,檢查那些被提示修改過的文件,(這是一個好習(xí)慣,但我從來不遵守) 如果認為正確,最后, git push,推送到遠程。

push之后,遠程得到你和他人的所有更新。push之前,僅本地得到你和他人的所有更新。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,813評論 4 54
  • Git常用語法 [TOC] Git簡介 描述 ? Git(讀音為/g?t/。)是一個開源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,933評論 0 13
  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,853評論 1 26
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,837評論 9 163
  • 芳尊清酒, 夜深玉兔敲門。 翠竹流韻, 窗梅淡影, 數(shù)枝約住輕云。 裊嬌姿醉態(tài),舞風(fēng)月, 佳人粉痕。 繡衾雙擁, ...
    斷紅塵閱讀 276評論 0 0

友情鏈接更多精彩內(nèi)容