繁体   English   中英

如何在github中比较/ diff特定版本的master和fork repo

[英]How to compare/diff specific version of master and fork repo in github

Github上有两个回购:

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

我想在两个Repos之间做一个DIFF,基于“Repo1”中由“Repo2”(大约2年前)分支的代码版本。 我的目标是从“Repo1”中获取最新的代码,以及现在从“Repo2”中分离出来的变化,并将这些变化合并为一个新的“Repo3”,有效地将2年前添加到fork中的更改添加到我的新最新代码“Repo1”的分支。

我遇到的一个问题是,当我尝试将多个Fork形式分叉到相同的root / master时,它似乎无法工作,只需将我指向第一个fork即可。 我想我需要在本地克隆everythign,并在那里做必要的工作然后推回到一个新的干净的合并回购?

任何指导非常感谢。

我尝试将多个Fork形式分叉为同一个root / master

您不必分叉多个仓库:只分叉您想要贡献的仓库(通过PR - Pull Request)。 在这里,fork Repo1,然后在本地克隆它。

在本地克隆上,键入:

git remote add /url/repo2
git fetch repo2

然后你可以masterrepo2/master之间进行repo2/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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM