如何合并一个分支只与一个不同分支的提交的一部分

时间:2014-05-31 16:02:50

标签: git merge latex

我想将属于不同分支的提交的几个代码行合并到我的master的新提交中,即使用difftool仅应用另一个提交的一些更改。

我尝试从master

merge --no-commit --no-ff newJob
git reset . 

但我不知道如何只选择部分更改。

这是因为我在乳胶中写了我的简历,当我使用不同的模板,新的布局或者我想为特定的工作定制它时,我想创建一个不同的分支。 然后我会更新或更正分支中的详细信息,让我们说newJob,我还必须将这些细节更正为master。使用difftool会非常快。

2 个答案:

答案 0 :(得分:0)

记录合并表示需要应用的所有更改都是;稍后合并两个历史记录将不会重新检查您在此合并中丢弃的更改。它可能不是你想要的。

要仅从提交B应用一些更改,请执行以下操作:

git diff-tree -p B file ... | git apply
git add -p .             # (this is the pick-my-diffs command you wanted)
git checkout file ...    # (optional, undo any changes not staged)

答案 1 :(得分:0)

您可以使用git cherry-pick来实现。

git checkout branch-B
git cherry-pick commit-a2

它可以将分支A的提交合并到分支B。