簡體   English   中英

使用其他提交將修改后的文件從一個分支合並到另一個分支

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM