日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

解决冲突

發布時間:2023/12/9 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解决冲突 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

人生不如意之事十之八九,合并分支往往也不是一帆風順的。

準備新的feature1分支,繼續我們的新分支開發:

$ git checkout -b feature1 Switched to a new branch 'feature1'

修改readme.txt最后一行,改為:

Creating a new branch is quick AND simple.

在feature1分支上提交:

$ git add readme.txt $ git commit -m "AND simple" [feature1 75a857c] AND simple 1 file changed, 1 insertion(+), 1 deletion(-)

切換到master分支:

$ git checkout master Switched to branch 'master' Your branch is ahead of 'origin/master' by 1 commit.

Git還會自動提示我們當前master分支比遠程的master分支要超前1個提交。

在master分支上把readme.txt文件的最后一行改為:

Creating a new branch is quick & simple.

提交:

$ git add readme.txt $ git commit -m "& simple" [master 400b400] & simple 1 file changed, 1 insertion(+), 1 deletion(-)

現在,master分支和feature1分支各自都分別有新的提交,變成了這樣:

這種情況下,Git無法執行“快速合并”,只能試圖把各自的修改合并起來,但這種合并就可能會有沖突,我們試試看:

$ git merge feature1 Auto-merging readme.txt CONFLICT (content): Merge conflict in readme.txt Automatic merge failed; fix conflicts and then commit the result.

果然沖突了!Git告訴我們,readme.txt文件存在沖突,必須手動解決沖突后再提交。git status也可以告訴我們沖突的文件:

$ git status # On branch master # Your branch is ahead of 'origin/master' by 2 commits. # # Unmerged paths: # (use "git add/rm <file>..." as appropriate to mark resolution) # # both modified: readme.txt # no changes added to commit (use "git add" and/or "git commit -a")

我們可以直接查看readme.txt的內容:

Git is a distributed version control system. Git is free software distributed under the GPL. Git has a mutable index called stage. Git tracks changes of files. <<<<<<< HEAD Creating a new branch is quick & simple. ======= Creating a new branch is quick AND simple. >>>>>>> feature1

Git用<<<<<<<,=======,>>>>>>>標記出不同分支的內容,我們修改如下后保存:

Creating a new branch is quick and simple.

再提交:

$ git add readme.txt $ git commit -m "conflict fixed" [master 59bc1cb] conflict fixed

現在,master分支和feature1分支變成了下圖所示:

用帶參數的git log也可以看到分支的合并情況:

$ git log --graph --pretty=oneline --abbrev-commit * 59bc1cb conflict fixed |\ | * 75a857c AND simple * | 400b400 & simple |/ * fec145a branch test ...

最后,刪除feature1分支:

$ git branch -d feature1 Deleted branch feature1 (was 75a857c).

工作完成。

小結

當Git無法自動合并分支時,就必須首先解決沖突。解決沖突后,再提交,合并完成。

用git log --graph命令可以看到分支合并圖。

?

貌似沒有看到有沖突:

第一次試驗沒有沖突,重新在feature1分支上修改 提交,隨后跳轉到 master分支上再次進行修改,然后提交,第三 用 merge 合并 feature1分支,出現沖突。

對文件進行修改后,再次提交,commit ? conflict fixed 提交,然后處理沖突結束。

記錄如下:

轉載于:https://www.cnblogs.com/jeremylee/p/5537425.html

總結

以上是生活随笔為你收集整理的解决冲突的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。