[英]Merging a modified file from one branch, to another branch with additional commits Git
我正在嘗試將對特定文件(更改2所示的GitBasics.docx)所做的某些更改合並到另一個分支。
以下是分支develop
部門最近提交的三個文件(包含我對其進行更改的文件):
commit c5fab21e2837808fbc1a4d351b9d605ae856477e
Author: <>
Date: Tue Jul 10 17:25:40 2018 +0530
change 3
commit 872926a8a356183e46d281a14578f3895438ae72
Author: <>
Date: Mon Jul 9 12:58:33 2018 +0530
change 2 (made to Git Basics.docx)
commit 25ce9bcf0b2c44e29e148d11ea89df508758d014
Author: <>
Date: Thu Jul 5 20:22:21 2018 +0530
change 1
下面是分支test
的兩個最近提交(我對此進行了其他更改):
commit c9f0ef332e1f5e9f398179372222d2ac5580ee96
Author: <>
Date: Fri Jul 6 19:41:55 2018 +0530
change 4
commit 25ce9bcf0b2c44e29e148d11ea89df508758d014
Author: <>
Date: Thu Jul 5 20:22:21 2018 +0530
change 1
您可能會看到,更改1是我創建分支test
。 我想將變更2從develop
合並到test
。 我將無法使用git merge
因為develop
還具有與test
不同的其他提交(更改4),並且我不希望它們被合並。
通過做一些研究,我發現了git checkout source_branch <paths>
命令,該命令目前git checkout source_branch <paths>
我的目的,但是我也了解到該方法只是在新分支中替換文件,而不是合並。 因此,如果在兩個分支上都進行了更改(對同一文件),那么我將在文件被復制到的分支上丟失這些更改。
我相信另一個選擇是git cherry-pick
但是坦率地說,我無法從在線提供的信息中了解如何使用此命令。 我如何使用此命令,或者是否有其他方法可以實現我要完成的任務?
我指的是http://schacon.github.io/git/git-cherry-pick.html上的git cherry-pick
,我不認為所提供的解決方案會這么簡單。 我正在共享鏈接,以防它對其他人有幫助。
隨着問題的改變,答案也隨之改變。 采用:
git checkout test
git cherry-pick 872926a8a
這將在分支測試中創建872926a8a提交(更改2)的副本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.