0

我从一个原始官方 repo 分叉了一个 repo moodle。它有超过15个分支机构master作为分支机构。然后我将它克隆到我的本地机器上。假设我将它克隆到一个文件夹中project,它创建了一些 50 folders

git remote -v给了以下内容:

origin  https://github.com/ps/moodle.git (fetch)
origin  https://github.com/ps/moodle.git (push)
upstream    https://github.com/moodle/moodle.git (fetch)
upstream    https://github.com/moodle/moodle.git (push)

所以,我有一个origin和一个upstream

现在,我想forkclone另一个用户的另一个分支。可以说分支是gs. 因此,该用户gsmaster来自moodle. 现在,为了在我的本地机器上克隆它,我创建了一个远程otheruser并克隆了它。

所以,现在做 git remote -v给出了以下内容:

origin  https://github.com/ps/moodle.git (fetch)
origin  https://github.com/ps/moodle.git (push)
otheruser   https://github.com/otheruser/moodle.git (fetch)
otheruser   https://github.com/otheruser/moodle.git (push)
upstream    https://github.com/moodle/moodle.git (fetch)
upstream    https://github.com/moodle/moodle.git (push)

我的问题是这样的:

当我克隆分支gs时,它创建了额外的子目录。所以,我的意思是我无法从物理上理解它是如何工作的?如果我在这些额外的子目录中做任何更改,然后将其推送到master分支下的我的 Github 帐户,可以吗?

4

2 回答 2

0

otheruser是一个完全不同的 git repo。它是从原来的分支中分离出来的,但现在它是独立的。它可以从原始内容中提取和合并更改,但就对原始内容进行更改而言,它可以做的最好的事情是请求原始内容提取它所做的更改。

您不清楚您是否有直接推送到otheruser's fork 的权限。我会回答这两种情况:

如果你分叉:

当你分叉 thisotheruser时,你正在从那个叉子上分叉。因此,您将再次基于该回购创建一个全新的回购,并且最多可以拉取请求以更改该分叉。至于推送到你的分叉,绝对没问题,在你想要的任何分支上,你想要的任何子目录上;现在是你的了。

如果您有直接许可:

这很简单,只需推送到otheruser's master 因为你有权限,就像你通常自己做的那样。

于 2013-03-27T17:48:10.697 回答
0

只要您在提交之前索引子目录中的更改,就可以。但是,没有任何内容会自动编入索引。

于 2013-03-27T17:01:21.997 回答