欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)邀請(qǐng)碼778899分享:Git 解決分支沖突

柚子快報(bào)邀請(qǐng)碼778899分享:Git 解決分支沖突

http://yzkb.51969.com/

一、前言

一直習(xí)慣于 add commit push 的三步走,偶然間看到了一個(gè)評(píng)論說在 push 之前還有一個(gè) pull,小小的疑問就埋在了我的心里。于是我就先了解了 pull 的工作原理,就是先拉取代碼(fetch)再合并分支(merge)的過程,簡而言之就是在本地進(jìn)行項(xiàng)目編寫時(shí),他人也在其他地方進(jìn)行項(xiàng)目編寫并且提前進(jìn)行了 push 操作,使得當(dāng)前的云端文件比我克隆下來的文件版本更加新,那么進(jìn)行合并就會(huì)因?yàn)闆_突被拒絕(rejected)。因此才需要先更新項(xiàng)目(pull),再進(jìn)行我的 push。那么問題來了,如果別人編寫的內(nèi)容與我編寫的內(nèi)容在源文件的同一個(gè)地方,那不就出問題了嗎?!于是有了這篇文章

二、項(xiàng)目演示

我們通過 github 上的 Network 進(jìn)行可視化講解。假設(shè)現(xiàn)在我們有一個(gè)本地項(xiàng)目、github 空倉庫、本地倉庫提交記錄,如下

第一次 push 后,我們查看 Network 效果如下:

已知 test.md 文件中內(nèi)容現(xiàn)在是這樣的

2.1 沒有沖突時(shí)

現(xiàn)在我們?cè)诒镜貙?duì) test.md 文件進(jìn)行編輯,編輯后如下:

然后在 github 上對(duì)該文件的 其他地方 進(jìn)行編輯并 push,模擬 別人更早更新項(xiàng)目代碼但是不沖突 的情況,如下:

現(xiàn)在我們?cè)诒镜剡M(jìn)行提交操作,顯然會(huì)報(bào)錯(cuò),因?yàn)檫h(yuǎn)程已經(jīng)更新:

現(xiàn)在我們需要進(jìn)行合并,也就是執(zhí)行 pull,再 push 即可,由于合并后會(huì)產(chǎn)生一個(gè)新的結(jié)點(diǎn),因此會(huì)彈出 vim 界面讓你編寫 comment:

然后就成功 pull 了代碼,之后再 push 就沒問題了:

我們來看一下現(xiàn)在的 test.md 是什么樣的:

可以發(fā)現(xiàn)內(nèi)容進(jìn)行了合并,現(xiàn)在的 Network 圖如下:

2.2 有沖突時(shí)

為了更加直觀的展示,我們?cè)谠械幕A(chǔ)上多增加幾個(gè)正常結(jié)點(diǎn),當(dāng)前 Network 如下:

然后我們?cè)诒镜貙?duì) test.md 文件進(jìn)行編寫:

然后在 github 上對(duì)該文件的 相同地方 進(jìn)行編輯并 push,模擬 別人更早更新項(xiàng)目代碼但是發(fā)生沖突 的情況,如下:

然后 add、commit,在視圖 pull 進(jìn)行合并時(shí),出現(xiàn)了問題:

提示我們修復(fù)沖突后再進(jìn)行 commit,同時(shí)分支名變成了 main|MERGING 狀態(tài),本地試圖 push 的代碼也出現(xiàn)了變化,如下:

我們也可以使用 git diff 或 git status 來查看沖突:

其中,<<<<<<< 和 ======= 之間是 HEAD 的代碼,======== 和 >>>>>>> 之間是 main 的代碼,git 對(duì)沖突內(nèi)容主動(dòng)進(jìn)行了錯(cuò)位,我方最新內(nèi)容在上(也就是 HEAD 的代碼),分支最新內(nèi)容在下,確保不會(huì)再?zèng)_突。我們根據(jù)實(shí)際情況解決沖突內(nèi)容,如下:

然后我們重新 commit 并加上 -a 參數(shù)后,進(jìn)行 push:

最終 test.md 內(nèi)容如圖:

最終 Network 如圖:

三、總結(jié)

總的來說,就兩句話

當(dāng)我的改動(dòng)與最新項(xiàng)目的改動(dòng)沒有重疊時(shí):pull 后就直接進(jìn)行合并當(dāng)我的改動(dòng)與最新項(xiàng)目的改動(dòng)有重疊時(shí):pull 后解決沖突,然后執(zhí)行下方命令即可

git commit -a -m ''git push

柚子快報(bào)邀請(qǐng)碼778899分享:Git 解決分支沖突

http://yzkb.51969.com/

好文鏈接

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19094636.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄