2016-12-01 65 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'更改加入其中。 –