黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Git教程
Git標(biāo)簽管理
Git分支
Git操作
Git應(yīng)用
GitHub應(yīng)用
IDEA對(duì)于Git&GitHub的支持
Git與GitHub使用注意事項(xiàng)

Git處理沖突

假設(shè)要在wchar_support分支中執(zhí)行更改,修改wchar_support分支中的代碼。添加一個(gè)計(jì)算長(zhǎng)度的函數(shù):count_len(obj),代碼變化如下:

$ git branch
  master
* wchar_support

Administrator@MY-PC /D/worksp/sample/src (wchar_support)
$ git diff
diff --git a/src/string.py b/src/string.py
index ba6d584..4307fe2 100644
--- a/src/string.py
+++ b/src/string.py
@@ -13,4 +13,7 @@ a = '我'  #
 b = 'ab'
 ab = '我ab'

-print(len(a), len(b), len(ab), len('='))
\ No newline at end of file
+print(len(a), len(b), len(ab), len('='))
+
+def count_len(obj):
+    return len(obj)
\ No newline at end of file

假設(shè)驗(yàn)證代碼后,沒(méi)有問(wèn)題就提交這些更改。

$ git status
On branch wchar_support
Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

        modified:   string.py

no changes added to commit (use "git add" and/or "git commit -a")

Administrator@MY-PC /D/worksp/sample/src (wchar_support)
$ git add string.py

Administrator@MY-PC /D/worksp/sample/src (wchar_support)
$ git commit -m "add new function: count_len(obj)"
[wchar_support 1cc9ddb] add new function: count_len(obj)
 1 file changed, 4 insertions(+), 1 deletion(-)

執(zhí)行 master 分支變更

同時(shí)在master分支中,另外一個(gè)開(kāi)發(fā)人員(minsu)還會(huì)更改了內(nèi)容,并將其更改推送到master分支。

bjpowernode@ubuntu:~/git/sample/src$ git diff
diff --git a/src/string.py b/src/string.py
index ba6d584..5eb2a5d 100644
--- a/src/string.py
+++ b/src/string.py
@@ -13,4 +13,6 @@ a = '我'  #
b = 'ab'
ab = '我ab'

-print(len(a), len(b), len(ab), len('='))
\ No newline at end of file
+print(len(a), len(b), len(ab), len('='))
+def obj_len(obj):
+    return len(obj)
bjpowernode@ubuntu:~/git/sample/src$

驗(yàn)證差異后,現(xiàn)在就提交更新內(nèi)容。

bjpowernode@ubuntu:~/git/sample/src$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

        modified:   string.py

no changes added to commit (use "git add" and/or "git commit -a")
bjpowernode@ubuntu:~/git/sample/src$ git add string.py
bjpowernode@ubuntu:~/git/sample/src$ git commit -m 'Changed function name from w_strlen to my_wc_strlen'
[master 07cd5af] Changed function name from w_strlen to my_wc_strlen
 1 file changed, 3 insertions(+), 1 deletion(-)
bjpowernode@ubuntu:~/git/sample/src$ git push origin master
Username for 'http://git.oschina.net': [email protected]
Password for 'http://[email protected]@git.oschina.net':
Counting objects: 4, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 398 bytes | 0 bytes/s, done.
Total 4 (delta 1), reused 0 (delta 0)
To http://git.oschina.net/bjpowernode/sample.git
   e7d1734..07cd5af  master -> master

在wchar_support分支上,我們已經(jīng)實(shí)現(xiàn)了一個(gè)count_len(obj)函數(shù)。假設(shè)經(jīng)過(guò)測(cè)試后,提交并將其更改推送到wchar_support分支。

出現(xiàn)沖突

假設(shè)另外一個(gè)開(kāi)發(fā)人員(minsu)想看看我們?cè)趙char_branch分支上做了什么,他試圖從wchar_support分支中拉出最新的變化,但是Git會(huì)中斷這個(gè)操作,并顯示以下錯(cuò)誤消息。

bjpowernode@ubuntu:~/git/sample/src$ git pull origin wchar_support
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (4/4), done.
From http://git.oschina.net/bjpowernode/sample
 * branch            wchar_support -> FETCH_HEAD
   e7d1734..1cc9ddb  wchar_support -> origin/wchar_support
Auto-merging src/string.py
CONFLICT (content): Merge conflict in src/string.py
Automatic merge failed; fix conflicts and then commit the result.
bjpowernode@ubuntu:~/git/sample/src$

解決沖突

從錯(cuò)誤消息中,很明顯文件:src/string.py 中存在沖突。運(yùn)行g(shù)it diff命令查看更多細(xì)節(jié)。

bjpowernode@ubuntu:~/git/sample/src$ git diff
diff --cc src/string.py
index 5eb2a5d,4307fe2..0000000
--- a/src/string.py
+++ b/src/string.py
@@@ -14,5 -14,6 +14,11 @@@ b = 'ab
  ab = '??‘a(chǎn)b'

  print(len(a), len(b), len(ab), len('='))
++<<<<<<< HEAD
 +def obj_len(obj):
 +    return len(obj)
++=======
+
+ def count_len(obj):
 -    return len(obj)
++    return len(obj)
++>>>>>>> 1cc9ddb410561976b006106590481cc01b79080e
bjpowernode@ubuntu:~/git/sample/src$

由于兩個(gè)人同進(jìn)修改了string.py中的代碼,所以Git處于混亂狀態(tài),并且要求用戶手動(dòng)解決沖突。

假設(shè)maxsu決定保留修改的代碼,并刪除了自己定義的函數(shù):obj_len(obj)。刪除沖突標(biāo)記后(<<<<<<<<<<<<<<<< 和 >>>>>>>>>>>>>>>>>>>>的行),現(xiàn)在沖突的代碼如下所示:

解決沖突需要修改代碼后,如下所示:

git diff將如下所示:

bjpowernode@ubuntu:~/git/sample/src$ git diff
diff --cc src/string.py
index 5eb2a5d,4307fe2..0000000
--- a/src/string.py
+++ b/src/string.py
@@@ -14,5 -14,6 +14,7 @@@ b = 'ab
  ab = '??‘a(chǎn)b'

  print(len(a), len(b), len(ab), len('='))
+
 -def count_len(obj):
 -    return len(obj)
 +def obj_len(obj):
 +    return len(obj)
++
bjpowernode@ubuntu:~/git/sample/src$

由于minsu已經(jīng)修改了這些文件,所以必須首先提交這些修改,然后就可以提出這些修改。如下所示:

bjpowernode@ubuntu:~/git/sample/src$ git add .
bjpowernode@ubuntu:~/git/sample/src$ git commit -a -m 'Resolved conflict'
[master 33f0406] Resolved conflict
bjpowernode@ubuntu:~/git/sample/src$ git pull origin wchar_support

已經(jīng)解決了沖突,現(xiàn)在執(zhí)行g(shù)it pull應(yīng)該沒(méi)有問(wèn)題了。

全部教程
主站蜘蛛池模板: 亚洲五月激情综合图片区 | 你懂的国产高清在线播放视频 | 国产日韩视频在线观看 | 免费午夜影院 | 国产精品成人观看视频网站 | 国产精品手机视频一区二区 | 毛片大全免费 | 国产一级特黄高清免费大片 | 羞羞网站免费 | 久久九九综合 | 成人毛片在线视频 | 曰批全过程免费视频免费 | 欧美九九 | 日本特级淫片 | 欧美午夜性刺激在线观看免费 | a黄色片| 日本黄色大片视频 | 免费看亚洲| 一区二区三区精品国产 | 国产欧美曰韩一区二区三区 | 人人澡人摸人人爽歪歪 | 久草中文在线观看 | 日日操天天 | 亚洲精品福利在线观看 | 欧美不卡视频在线 | 香蕉视频在线观 | 国产欧美大片 | 成人毛片在线视频 | 五月婷婷六月爱 | 六月丁香激情综合成人 | 久青草香蕉精品视频在线 | xxxxx日本护士xxxhd| 视频精品一区二区 | 在线播放h| 午夜影院一区二区三区 | 亚洲国产精品91 | 国产在线一卡 | 欧美极品video粗暴 | 一个人看的www在线高清 | 亚洲视频在线免费播放 | 97精品伊人久久久大香线焦 |