成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面試官:說(shuō)說(shuō) Git 發(fā)生沖突的場(chǎng)景?如何解決?

開(kāi)源
應(yīng)用在命令中,就是push、pull、stash、rebase等命令下都有可能產(chǎn)生沖突情況,從本質(zhì)上來(lái)講,都是merge和patch(應(yīng)用補(bǔ)丁)時(shí)產(chǎn)生沖突。

[[418175]]

本文轉(zhuǎn)載自微信公眾號(hào)「JS每日一題」,作者灰灰。轉(zhuǎn)載本文請(qǐng)聯(lián)系JS每日一題公眾號(hào)。

一、是什么

一般情況下,出現(xiàn)沖突的場(chǎng)景有如下:

  • 多個(gè)分支代碼合并到一個(gè)分支時(shí)
  • 多個(gè)分支向同一個(gè)遠(yuǎn)端分支推送

具體情況就是,多個(gè)分支修改了同一個(gè)文件(任何地方)或者多個(gè)分支修改了同一個(gè)文件的名稱

如果兩個(gè)分支中分別修改了不同文件中的部分,是不會(huì)產(chǎn)生沖突,直接合并即可

應(yīng)用在命令中,就是push、pull、stash、rebase等命令下都有可能產(chǎn)生沖突情況,從本質(zhì)上來(lái)講,都是merge和patch(應(yīng)用補(bǔ)丁)時(shí)產(chǎn)生沖突

二、分析

在本地主分值master創(chuàng)建一個(gè)a.txt文件,文件起始位置寫(xiě)上master commit,如下:

然后提交到倉(cāng)庫(kù):

  • git add a.txt
  • git commit -m 'master first commit'

創(chuàng)建一個(gè)新的分支featurel1分支,并進(jìn)行切換,如下:

  1. git checkout -b featurel1 

然后修改a.txt文件首行文字為 featurel commit,然后添加到暫存區(qū),并開(kāi)始進(jìn)行提交到倉(cāng)庫(kù):

  • git add a.txt
  • git commit -m 'featurel first change'

然后通過(guò)git checkout master切換到主分支,通過(guò)git merge進(jìn)行合并,發(fā)現(xiàn)不會(huì)沖突

此時(shí)a.txt文件的內(nèi)容變成featurel commit,沒(méi)有出現(xiàn)沖突情況,這是因?yàn)間it在內(nèi)部發(fā)生了快速合并

如果當(dāng)前分支的每一個(gè)提交(commit)都已經(jīng)存在另一個(gè)分支里了,git 就會(huì)執(zhí)行一個(gè)“快速向前”(fast forward)操作

git 不創(chuàng)建任何新的提交(commit),只是將當(dāng)前分支指向合并進(jìn)來(lái)的分支

如果此時(shí)切換到featurel分支,將文件的內(nèi)容修改成featrue second commit,然后提交到本地倉(cāng)庫(kù)

然后切換到主分支,如果此時(shí)在a.txt文件再次修改,修改成mastet second commit,然后再次提交到本地倉(cāng)庫(kù)

此時(shí),master分支和feature1分支各自都分別有新的提交,變成了下圖所示:

這種情況下,無(wú)法執(zhí)行快速合并,只能試圖把各自的修改合并起來(lái),但這種合并就可能會(huì)有沖突

現(xiàn)在通過(guò)git merge featurel進(jìn)行分支合并,如下所示:

從沖突信息可以看到,a.txt發(fā)生沖突,必須手動(dòng)解決沖突之后再提交

而git status同樣可以告知我們沖突的文件:

打開(kāi)a.txt文件,可以看到如下內(nèi)容:

git用<<<<<<<,=======,>>>>>>>標(biāo)記出不同分支的內(nèi)容:

  • <<<<<<< 和 ======= 之間的區(qū)域就是當(dāng)前更改的內(nèi)容
  • ======= 和 >>>>>>> 之間的區(qū)域就是傳入進(jìn)來(lái)更改的內(nèi)容

現(xiàn)在要做的事情就是將沖突的內(nèi)容進(jìn)行更改,對(duì)每個(gè)文件使用 git add 命令來(lái)將其標(biāo)記為沖突已解決。一旦暫存這些原本有沖突的文件,Git就會(huì)將它們標(biāo)記為沖突已解決然后再提交:

  • git add a.txt
  • git commit -m "conflict fixed"

此時(shí)master分支和feature1分支變成了下圖所示:

使用git log命令可以看到合并的信息:

三、總結(jié)

當(dāng)Git無(wú)法自動(dòng)合并分支時(shí),就必須首先解決沖突,解決沖突后,再提交,合并完成

解決沖突就是把Git合并失敗的文件手動(dòng)編輯為我們期望的內(nèi)容,再提交

參考文獻(xiàn)

  • https://www.liaoxuefeng.com/wiki/896043488029600/900004111093344
  • https://vue3js.cn/interview

 

責(zé)任編輯:武曉燕 來(lái)源: JS每日一題
相關(guān)推薦

2021-08-09 07:47:40

Git面試版本

2021-08-16 08:33:26

git

2021-08-11 08:53:23

Git命令面試

2023-05-30 18:13:59

Git代碼

2021-05-31 10:35:34

TCPWebSocket協(xié)議

2021-09-28 07:12:09

測(cè)試路徑

2021-09-29 07:24:20

場(chǎng)景數(shù)據(jù)

2021-07-12 08:35:24

組件應(yīng)用場(chǎng)景

2021-09-16 07:52:18

算法應(yīng)用場(chǎng)景

2021-07-07 08:36:45

React應(yīng)用場(chǎng)景

2021-08-17 07:15:16

Git RebaseGit Merge面試

2021-08-19 08:36:22

Git ResetGit Revert版本

2021-05-20 08:34:03

CDN原理網(wǎng)絡(luò)

2024-11-19 15:13:02

2025-04-08 00:00:00

@AsyncSpring異步

2023-12-27 18:16:39

MVCC隔離級(jí)別幻讀

2025-04-16 00:00:01

JWT客戶端存儲(chǔ)加密令

2021-10-13 18:01:33

快速排序場(chǎng)景

2021-10-08 09:59:32

冒泡排序場(chǎng)景

2021-10-09 10:25:41

排序應(yīng)用場(chǎng)景
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 搞黄网站在线观看 | 午夜影院操 | 粉嫩粉嫩芽的虎白女18在线视频 | 国产高清精品一区二区三区 | 成人在线观看免费视频 | 日韩毛片免费看 | 国产视频中文字幕在线观看 | 亚洲激情在线视频 | 国产精品免费一区二区三区四区 | 欧美性精品 | 日韩乱码av | 亚洲成人观看 | 一区二区在线免费播放 | 成人国产精品久久久 | 亚洲欧美日韩在线不卡 | 韩日精品一区 | 81精品国产乱码久久久久久 | 久久久久久91 | 亚洲国产成人精品女人久久久 | 久久国产综合 | 久久91精品 | 国产三区在线观看视频 | 欧美综合一区二区 | 亚洲精品久久久蜜桃 | 欧美在线天堂 | 在线欧美日韩 | 国产精品视频网 | 亚洲精品在线免费 | 成人国产精品免费观看 | 欧美午夜精品久久久久免费视 | 自拍偷拍精品 | 午夜视频在线免费观看 | 一区二区三区中文字幕 | 国内久久| 久久视频精品 | 国产成人福利 | 盗摄精品av一区二区三区 | 精品1区2区| 亚洲区一区二 | 欧美成人精品一区二区三区 | 日韩视频免费看 |