欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

git合并部分提交的實(shí)現(xiàn)

 更新時(shí)間:2023年08月23日 10:37:56   作者:一戶(hù)董  
在進(jìn)行Git合并某一次提交時(shí),有時(shí)會(huì)出現(xiàn)沖突,本文主要介紹了git合并部分提交的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下

寫(xiě)在前面

在日常工作中經(jīng)常會(huì)有這樣的場(chǎng)景,在正常的功能開(kāi)發(fā)中突然有緊急的bug修改,或者是緊急功能開(kāi)發(fā)上線,在上線時(shí)又不能將正在開(kāi)發(fā)中的功能合并到主干,此時(shí)我們就需要只合并需要緊急上線的代碼到主干,接下來(lái)我們就看下這種情況如何處理。

1:cherry-pick

通過(guò)git的cherry-pick命令可以選擇合并哪個(gè)提交id對(duì)應(yīng)的修改到當(dāng)前分支,接下來(lái)詳細(xì)看下。

假設(shè)現(xiàn)在本地有master分支和dev兩個(gè)分支,如下圖:

PS D:\test\test-cherry-pick> git branch -vv
 * dev2   64af4de [origin/dev2] modify bbb.txt add 二二二
   master 10ac835 [origin/master] modify aaa.ttxt add 一一一

當(dāng)前我們?cè)?dev2 ,當(dāng)前假設(shè)提交記錄如下:

PS D:\test\test-cherry-pick> git log -n2 --pretty=oneline
64af4de7d496fff9d68489e7ab6304589f00a0d1 (HEAD -> dev2, origin/dev2) modify bbb.txt add 二二二
5aed452f3bebebd87d6be48388f8dab57037cbb8 modify aaa.ttxt add 一一一

我們希望合并提交ID為 64af4de7d496fff9d68489e7ab6304589f00a0d1 的修改到主干,此時(shí)我們需要記下這個(gè)提交ID,然后切換到master,如下:

PS D:\test\test-cherry-pick> git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
PS D:\test\test-cherry-pick> git branch
  dev2
* master

然后使用命令 git cherry-pick 提交ID 進(jìn)行合并,如下:

PS D:\test\test-cherry-pick> git cherry-pick 64af4de7d496fff9d68489e7ab6304589f00a0d1
[master 88c7faf] modify bbb.txt add 二二二
 Date: Tue May 17 18:07:05 2022 +0800
 1 file changed, 2 insertions(+), 1 deletion(-)

然后就可以正常的push合并的信息到遠(yuǎn)程master了。其他的提交ID也可以通過(guò)這種方式來(lái)完成合并。在idea中也可以進(jìn)行這種操作,都是如下的步驟:

1:切換到要合并代碼的分支
2:獲取要合并的提交,執(zhí)行cherry-pick。

只不過(guò)使用idea是通過(guò)界面操作,而不是使用命令罷了,如下我們?cè)?dev2 分支進(jìn)行了如下修改,先增加了文件 ddd.txt ,然后增加了文件 eee.txt ,產(chǎn)生的提交記錄如下:

然后我們將這2次提交通過(guò)cherry-pick合并到master,首先切換到master分支:

然后選中項(xiàng)目->git->show history,進(jìn)入如下界面:

默認(rèn)顯示的是當(dāng)前分支的提交記錄,為了能夠看到dev2分支的提交記錄,我們將查看歷史的分支切換為dev2,如下:

此時(shí)就可以看到dev2的提交記錄了,如下:

接下來(lái)shift選中紅框記錄,然后右鍵cherry-pick即可,如下圖:

接下來(lái)就可以push到遠(yuǎn)端了。

如果,凡事有如果,cherry-pick本質(zhì)也是合并代碼,如果是合并代碼有沖突怎么辦呢?會(huì)提示失敗,此時(shí)怎么辦呢?如果是idea的話會(huì)給出比較友好的提示讓我們自己合并,但是個(gè)人建議一旦出現(xiàn)沖突,就不要采用cherry-pick方式來(lái)合并了,可以考慮使用 2:idea compare功能 方式。

2:idea compare功能

git提供了比較的功能,通過(guò)比較我們也可以很方便的合并自己想要合并的內(nèi)容,按照如下操作:

手動(dòng)點(diǎn)擊中間的 >> 比較合并就可以了,因?yàn)槭鞘止?,一定要?xì)心,不要合并錯(cuò)了。

3:最佳實(shí)踐★★★★★

按照如下2種情況:

1:如果是完全獨(dú)立的修改(修改已有文件,沒(méi)有其他人修改,或者是新添加的文件),則優(yōu)先選擇使用"1:cherry-pick",至于命令行方式還是idea的GUI方式,根據(jù)個(gè)人習(xí)慣,推薦idea方式,效率高。
2:如果是存在非獨(dú)立的修改(修改的已有文件也有他人修改且不可合并,或者是添加了不可合并的新文件),使用"2:idea compare功能",雖然效率相對(duì)低一些,但是安全性高,不容易出問(wèn)題,對(duì)于新文件,手動(dòng)CV即可。

到此這篇關(guān)于git合并部分提交的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)git合并部分提交內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論