我想将一个项目移到git中,该项目由供应商提供的一堆代码组成,并且在该代码之上有一些自定义项(添加的文件和修改的文件)。
我有一个vendor
分支,该分支具有全部代码,并且我仅将自定义内容存储在master
中。现在,我正在研究如何通过将vendor
和master
都添加为远程对象来拉低所有代码以构建整个项目,但是git fetch --all
似乎不行。它会跳过master
以外的所有文件夹。
我会以错误的方式处理吗?这不可能吗?
答案 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