3

Github 上有两个 repo:

“Repo1”是一个有定期提交的主节点(我还没有分叉)“Repo2”是大约 2 年前的 Repo1 的一个分叉(我还没有分叉)

我想根据“Repo2”(大约 2 年前)分支的“Repo1”中的代码版本在两个 Repos 之间做一个 DIFF。我的目标是从“Repo1”获取最新的代码,从“Repo2”获取现在隔离的更改,并将它们合并到一个新的“Repo3”中,有效地将 2 年前添加到 fork 的更改带入我的新“Repo1”的最新代码的分支。

我遇到的一个问题是,当我尝试从同一个根/主服务器分叉多个叉子时,它似乎不起作用,只是将我指向第一个叉子。我想我需要在本地克隆所有内容,并在那里完成所需的工作,然后推回一个新的干净合并回购?

非常感谢任何指导。

4

1 回答 1

2

我尝试从同一个 root/master 分叉多个 Fork

你不必 fork 一个以上的 repo:只 fork 你打算贡献的 repo(通过 PR - Pull Request)。在这里,fork Repo1,然后在本地克隆它。

在本地克隆上,键入:

git remote add /url/repo2
git fetch repo2

然后你可以区分masterrepo2/master

git diff repo2/master..master

在“显示 git 分支之间更改了哪些文件”中查看更多信息

git diff --name-status repo2/master..master

OP qtime67在评论中添加:

由于 Repo1 自从 Repo2 分叉以来已经有了很大的发展,我希望首先只看到原始 Fork (Repo2) 和分叉时的 Repo1 版本之间所做的核心更改。

如“ ?有和没有点Git diff ..之间有什么区别..”中所述,将使用三个点:

git diff repo2/master...master
git diff master...repo2/master

http://sphinx.mythic-beasts.com/~mark/git-diff-help.png

三点差异将与共同祖先 ( git merge-base foo master)

于 2014-06-07T15:20:00.123 回答