溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何解決git合并沖突問題

發(fā)布時(shí)間:2020-07-27 09:17:32 來源:億速云 閱讀:274 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了如何解決git合并沖突問題,內(nèi)容簡(jiǎn)而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會(huì)有收獲的,下面讓小編帶大家一起來看看吧。

1、git merge沖突了,根據(jù)提示找到?jīng)_突的文件,解決沖突

如果文件有沖突,那么會(huì)有類似的標(biāo)記

2、修改完之后,執(zhí)行g(shù)it add 沖突文件名

3、git commit

注意:沒有-m選項(xiàng)

進(jìn)去類似于vim的操作界面,把conflict相關(guān)的行刪除掉

4、直接push就可以了,因?yàn)閯倓傄呀?jīng)執(zhí)行過相關(guān)merge操作了

相關(guān)的操作如下

沖突產(chǎn)生

[root@Monitor Demo]# git branch #當(dāng)前在master分支下
* master
 psr/psr-01
 psr/psr-02
[root@Monitor Demo]# git checkout psr/psr-02 #切換到psr/psr-02分支下
Switched to branch 'psr/psr-02'
[root@Monitor Demo]# git branch
 master
 psr/psr-01
* psr/psr-02
[root@Monitor Demo]# ls
LICENSE new_remote_branch.txt psr_psr-02.txt README.md
[root@Monitor Demo]# vim psr_psr-02.txt #修改psr/psr-02分支上的文件
[root@Monitor Demo]# git add psr_psr-02.txt
[root@Monitor Demo]# git commit -m 'psr_psr-02.txt has changed on psr/psr-02 branch' #提交到暫存區(qū)
[psr/psr-02 62ca72c] psr_psr-02.txt has changed on psr/psr-02 branch
 1 files changed, 6 insertions(+), 0 deletions(-)
[root@Monitor Demo]# git checkout master #切換到master分支下
Switched to branch 'master'
[root@Monitor Demo]# vim psr_psr-02.txt #在master分支下也對(duì)psr_psr-02.txt進(jìn)行修改
[root@Monitor Demo]# git add psr_psr-02.txt
[root@Monitor Demo]# git commit -m 'changed this file on master branch'
[master 282fbeb] changed this file on master branch
 1 files changed, 2 insertions(+), 0 deletions(-)
[root@Monitor Demo]# git merge psr/psr-02 #把psr/psr-02分支合并到當(dāng)前分支,這時(shí)提示沖突了
Auto-merging psr_psr-02.txt
CONFLICT (content): Merge conflict in psr_psr-02.txt
Automatic merge failed; fix conflicts and then commit the result.

沖突解決過程

沖突文件的格式基本如下
<<<<<<<到=======是在當(dāng)前分支合并之前的文件內(nèi)容
=======到>>>>>>> psr/psr-02是在其它分支下修改的內(nèi)容
需要在這個(gè)兩個(gè)版本中選擇一個(gè),然后把標(biāo)記符號(hào)也要一起刪除
<<<<<<< HEAD

add some lines on master branch

add some lines on psr/psr-01 branch

2016年12月13日14:43:34 changed after psr/psr-02
=======
1
2
3
4
5
>>>>>>> psr/psr-02

沖突文件

vim psr_psr-02.txt

<<<<<<< HEAD
add some lines on master branch

add some lines on psr/psr-01 branch

2016年12月13日14:43:34 changed after psr/psr-02
=======
1
2
3
4
5
>>>>>>> psr/psr-02

修改沖突文件

# vim psr_psr-02.txt
README.md

I'am in new branch psr/psr-02 based on psr/psr-01

add some lines on master branch

add some lines on psr/psr-01 branch

2016年12月13日14:43:34 changed after psr/psr-02

添加沖突的文件,然后就可以直接push了

Merge branch 'psr/psr-02'

Conflicts:
  psr_psr-02.txt
#
# It looks like you may be committing a MERGE.
# If this is not correct, please remove the file
#  .git/MERGE_HEAD
# and try again.
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#

需要?jiǎng)h掉下面這兩行

Conflicts:
  psr_psr-02.txt

執(zhí)行g(shù)it push 操作

git push origin master

以上就是關(guān)于如何解決git合并沖突問題的內(nèi)容,如果你們有學(xué)習(xí)到知識(shí)或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

git
AI