亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

寫在前面

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

1:cherry-pick

通過git的cherry-pick命令可以選擇合并哪個提交id對應(yīng)的修改到當前分支,接下來詳細看下。

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

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 一一一

當前我們在 dev2 ,當前假設(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 的修改到主干,此時我們需要記下這個提交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 進行合并,如下:

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合并的信息到遠程master了。其他的提交ID也可以通過這種方式來完成合并。在idea中也可以進行這種操作,都是如下的步驟:

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

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

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

然后選中項目->git->show history,進入如下界面:

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

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

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

接下來就可以push到遠端了。

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

2:idea compare功能

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

手動點擊中間的 >> 比較合并就可以了,因為是手工,一定要細心,不要合并錯了。

3:最佳實踐★★★★★

按照如下2種情況:

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

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

相關(guān)文章

最新評論