如何使用来自2个git分支的合并文件而不合并?

时间:2019-05-14 22:36:30

标签: git

我想将一个项目移到git中,该项目由供应商提供的一堆代码组成,并且在该代码之上有一些自定义项(添加的文件和修改的文件)。

我有一个vendor分支,该分支具有全部代码,并且我仅将自定义内容存储在master中。现在,我正在研究如何通过将vendormaster都添加为远程对象来拉低所有代码以构建整个项目,但是git fetch --all似乎不行。它会跳过master以外的所有文件夹。

我会以错误的方式处理吗?这不可能吗?

2 个答案:

答案 0 :(得分:0)

不,您尝试使用的git无法正常工作。分支是分开的。

git fetch仅更新其有关遥控器的内部知识,而不会更改您看到的文件。 fetch --all的意思是“从所有远程获取”,例如当您跟踪来自多个github存储库的更改时。

您只能合并两个分支以获得所需的结果。您可以使用其他临时分支作为示例,例如:

git checkout vendor --branch my-temp-branch
git merge master

这样,供应商分支和主分支将保持不变,而my-temp-branch将具有两个分支中的文件。

其他替代方法:

答案 1 :(得分:0)

如果您确实希望合并整个分支,而只希望合并特定提交的更改,则可以使用Cherry Pick来做到这一点。 https://git-scm.com/docs/git-cherry-pick