Git 衝突處理

2021-07-09 13:52:59 字數 1721 閱讀 5151

tom想看,jerry 在他的私人分支做什麼?這就是為什麼他試圖從wchar_support分支把最新的修改,但git 放棄操作在得到錯誤訊息後。

[tom@centos src]$ git pull origin wchar_support
上面的命令會產生以下結果。

remote: counting objects: 11, done.

63git tutorials

remote: compressing objects: 100% (8/8), done.

remote: total 8 (delta 2), reused 0 (delta 0)

unpacking objects: 100% (8/8), done.

from git.server.com:project

* branch

wchar_support -> fetch_head

auto-merging src/string_operations.c

conflict (content): merge conflict in src/string_operations.c

automatic merge failed; fix conflicts and then commit the result.

從錯誤訊息很顯然知道,是有衝突的在src/string_operations.c。他執行 git diff 命令檢視進一步的細節。

[tom@centos src]$ git diff
上面的命令會產生以下結果。

diff --cc src/string_operations.c

index 52bec84,163a779..0000000

--- a/src/string_operations.c

+++ b/src/string_operations.c

@@@ -1,8 -1,17 +1,22 @@@

#include #include ++<<<<<<< head

+/* wide character strlen fucntion */

+size_t my_wc_strlen(const wchar_t *s)

++*****==

+ wchar_t *my_wstrchr(wchar_t *ws, wchar_t wc)

++ return null;+}+

+ size_t my_wstrlen(const wchar_t *s)

++>>>>>>>9d201a9c61bc4713f4095175f8954b642dae8f86

+ return null;+}+

+/* wide character strlen fucntion */

- size_t my_wc_strlen(const wchar_t *s)

+ size_t my_wstrlen(const wchar_t *s)

{const wchar_t *p = s;

tom 修改過的檔案,他先提交這些更改後,他就可以推送了。

[tom@centos src]$ git commit -a -m 'resolved conflict'

[master 6b1ac36] resolved conflict

[tom@centos src]$ git pull origin wchar_support.

tom 已經解決衝突,現在推送操作將成功。

git衝突處理

當兩條分支對同乙個檔案的同乙個文字塊進行了不同的修改,並試圖合併時,git不能自動合併的,稱之為衝突 conflict 解決衝突需要人工處理。比如當前在master分支,想把dev分支merge過來,結果產生了乙個衝突,開啟檔案內容可以看到這麼乙個衝突 head test in master tes...

git 處理衝突

git操作中,衝突時,經常表現為,git pull 時 發生失敗 和 git push 時被拒絕。git pull 時因為衝突而失敗的原因是,本地修改了 但是沒有提交,其他隊友也修改了某檔案,並且已經提交過了。如果強行pull 很可能導致你本地修改的 被覆蓋,無法找回 因為本地 沒有提交,沒有生成版...

git處理分支衝突

首先假設我們有乙個分支master,為了開發我們將在master分支的基礎上建立新分支dev git branch dev 然後檢視是否建立分支成功 git branch 將會顯示我們建立的全部分支 然後我們切換到dev分支開始工作 git checkout dev 到目前git的分支管理如下 假設...