溫馨提示×

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

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

怎么解決Git合并沖突的問題

發(fā)布時(shí)間:2021-09-09 11:54:00 來源:億速云 閱讀:154 作者:chen 欄目:網(wǎng)絡(luò)安全

本篇內(nèi)容介紹了“怎么解決Git合并沖突的問題”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

合并并不僅僅是簡(jiǎn)單的文件添加、移除的操作,Git 也會(huì)合并修改。

$ git branch
* master
$ cat runoob.php

首先,我們創(chuàng)建一個(gè)叫做 change_site 的分支,切換過去,我們將 runoob.php 內(nèi)容改為:

< ?php
echo 'runoob';
?>

創(chuàng)建 change_site 分支:

$ git checkout -b change_site
Switched to a new branch 'change_site'
$ vim runoob.php
$ head -3 runoob.php
< ?php
echo 'runoob';
?>
$ git commit -am 'changed the runoob.php'
[change_site 7774248] changed the runoob.php
 1 file changed, 3 insertions(+)

將修改的內(nèi)容提交到 change_site 分支中。 現(xiàn)在,假如切換回 master 分支我們可以看內(nèi)容恢復(fù)到我們修改前的(空文件,沒有代碼),我們?cè)俅涡薷?runoob.php 文件。

$ git checkout master
Switched to branch 'master'
$ cat runoob.php
$ vim runoob.php    # 修改內(nèi)容如下
$ cat runoob.php
< ?php
echo 1;
?>
$ git diff
diff --git a/runoob.php b/runoob.php
index e69de29..ac60739 100644
--- a/runoob.php
+++ b/runoob.php
@@ -0,0 +1,3 @@
+< ?php
+echo 1;
+?>
$ git commit -am '修改代碼'
[master c68142b] 修改代碼
 1 file changed, 3 insertions(+)

現(xiàn)在這些改變已經(jīng)記錄到我的 "master" 分支了。接下來我們將 "change_site" 分支合并過來。

$ git merge change_site
Auto-merging runoob.php
CONFLICT (content): Merge conflict in runoob.php
Automatic merge failed; fix conflicts and then commit the result.
$ cat runoob.php     # 代開文件,看到?jīng)_突內(nèi)容
< ?php
<<<<<<< HEAD
echo 1;
=======
echo 'runoob';
>>>>>>> change_site
?>

我們將前一個(gè)分支合并到 master 分支,一個(gè)合并沖突就出現(xiàn)了,接下來我們需要手動(dòng)去修改它。

$ vim runoob.php 
$ cat runoob.php
< ?php
echo 1;
echo 'runoob';
?>
$ git diff
diff --cc runoob.php
index ac60739,b63d7d7..0000000
--- a/runoob.php
+++ b/runoob.php
@@@ -1,3 -1,3 +1,4 @@@
  < ?php
 +echo 1;
+ echo 'runoob';
  ?>

在 Git 中,我們可以用 git add 要告訴 Git 文件沖突已經(jīng)解決

$ git status -s
UU runoob.php
$ git add runoob.php
$ git status -s
M  runoob.php
$ git commit
[master 88afe0e] Merge branch 'change_site'

現(xiàn)在我們成功解決了合并中的沖突,并提交了結(jié)果。

“怎么解決Git合并沖突的問題”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

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

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

git
AI