Git,手动将文件从上游仓库合并到不同的仓库

时间:2015-06-02 18:15:12

标签: git merge

我将解释如何将文件从一个repo提取到另一个repo并使用git手动合并文件。

我建议的解决方案基于您可以找到的其他几个帖子herehere

您可能还会发现这些帖子很有用:

git -p options

list files for a git commit

希望这有助于节省一些时间。

1 个答案:

答案 0 :(得分:0)

1-从repo R1的分支X

转到包含代码的文件夹

2-通过运行:

将repo R2添加为上游

git remote add upstream

3-获取(不要拉)repo R2的分支Y:

git fetch upstream Y

注意:如果在R1和R2中有相同的分支名称(在本例中为#34; Y"),git将在此阶段混淆,您必须消除分支名称的歧义让git继续。

4-如果您不想错误地将更改推送到上游,请使用虚拟URL作为pushurl:

git config remote.upstream.pushurl"一些随机文本"

5-通过

计算出在R2的Y分支中最后一次提交时哪些文件发生了变化

运行以下命令:

git rev-parse HEAD

git diff-tree --no-commit-id --name-only -r

注意:您可以通过转到包含R2分支Y的文件夹或在同一文件夹中查看R2中的Y来运行上述命令

6-对于合并已更改的文件运行:

git checkout -p upstream / Y PATH / TO / CHANGED / FILE / FILENAME 你可以选择" a"隐藏所有本地更改并合并来自上游的更改

7-添加新文件只需运行(不要使用-p param): git checkout upstream / Y PATH / TO / CHANGED / FILE / FILENAME

希望这有帮助。