2016-12-01 54 views
1

我有以下情形:Github:我有一个叉子的叉子..我可以使它成为原始的repo叉子吗?

.../orig-user/repo # the original repo 
.../user2/repo  # a fork of above 
.../user3/repo  # a fork of .../user2/repo 

有任何方便的方式来“再回家” .../user3/repo所以它成为.../orig-user/repo“直接”叉?

另外,是否有一个简单的方法让user3保持更新而不涉及user2

+0

可能重复的:https://stackoverflow.com/questions/28672714/manually-set-forked-from -to-github-project – LeGEC

回答

1

如果你只是想允许用户3推/从原来的回购拉:

How do I change which GitHub project I forked from?

如果你也想改变回购的“分叉从...”消息:

Manually set 'forked from' to GitHub project

+0

我想改变“从...分叉”。该链接中的答案表示,我必须将'.../orig-user/repo'分叉到新的'..user3/repo2'中,然后将'.../user3/repo'推入新的'.../user3/repo2',然后放弃'.../user3/repo'并开始使用新的'.../user3/repo2'。我理解正确吗? @sajibkhan建议的方法不起作用吗? – thebjorn

+0

@thebjorn:你确实理解正确。 – LeGEC

2

您可以更改/添加remote(比如,upstream),将显示/orig-user/repo

如果您的上游已存在,则使用/ orig-user/repo更改该网址。

$ git remote -v  # see all the remotes 
$ git remote set-url upstream <url-of-orig-user-repo>  # change the upstream url 

或者,添加一个新的上游的一个。

$ git remote add <upstream> <url-of-orig-user-repo> # Add new remote/repositories 

现在,当需要采取/orig-user/repo回购的变化只是拉从upstream

$ git pull upstream master   # here, upstream is the remote of /orig-user/repo 
+0

我是否正确地认为这不会改变github中的“fork from ...”(fork-of-fork分叉的pull请求似乎更具挑战性)。 – thebjorn

+0

你说得对。这不会改变'从...分出。因此,在这种情况下,您可以从原始版本中重新分配一个新的回购,并将您的'user3'更改加入其中。 –