繁体   English   中英

“fork”和“push upstream”对GitHub意味着什么?

[英]What does “fork” and “push upstream” mean for GitHub?

我目前正在与我的大学教授一起使用GitHub进行项目。 由于我不太熟悉GitHub,我无法理解他寄给我的指示。

我希望有人能为我解释这些并帮助我理解它。

学生应该使用GIT Hub并使用Project7分支。 分叉他自己的存储库并将新开发的分支上游推送到主项目存储库

我对GitHub及其存储库有所了解,现在我正在读取分支机构。 但我仍然无法理解如何使用命令实现上述指令。

说明的第一部分非常清楚。 你需要:

  • 登录GitHub,转到教授的存储库,然后单击“Fork”。
  • 找到存储库的fork的SSH URL,并使用以下内容在本地克隆它:

     git clone git@github.com:whoever/whatever.git 
  • 如果您运行git branch -r您应该会看到您现在已经拥有了远程跟踪分支origin/Project7
  • 您需要在该分支上工作,因此您需要基于origin/Project7创建本地分支。 你可以这样做:

     git checkout -b Project7 origin/Project7 
  • 现在,您应该像往常一样进行开发并创建提交以推进Project7分支。

现在这部分对我来说有点不清楚:

[...]将新开发的分支上游推送到主项目存储库

这可能意味着:

(a)你应该把你的分支推回到GitHub上你自己的分叉存储库。 你可以这样做: git push origin Project7

另一方面,它可能意味着(b)您的教授已将您作为协作者添加到GitHub上的存储库中,并希望您推送到其存储库中的新分支。 在这种情况下,您可能会执行以下操作:

git remote add professor git@github.com:professor/whatever.git 
git push professor Project7:WarDoGG-Project7

这会将您的分支Project7Project7教授的存储库中的一个新分支: WarDoGG-Project7 或者他可能希望你通过推回原来的Project7来推进他的分支,在这种情况下你可以错过命令的:<destination-branch>部分。

我认为情况(a)更有可能,但你应该检查。

我从说明中了解到:

1)您应该转到主项目github页面(登录后)并单击“Fork”右上角的按钮。 有了这个,您已将主项目分支到您的github帐户。

2)将您的分叉项目克隆到您的计算机:

3)在你当地的git仓库: > git checkout -b Project7 origin/Project7

4)处理代码....

5)将您的更改推送到您的github仓库。

6)在github上向主仓库发出拉取请求。

他告诉你下载存储库,然后切换到Project7分支,并分叉你自己的分支。 你应该能够按照这些说明克隆一个分叉的repo(就像普通的克隆一样,除了你必须先在github上分叉):

http://help.github.com/fork-a-repo/

然后,在克隆之后,切换到Project7分支

git checkout -b newlocalbranchname origin / branch-name

然后,确保你回到你的分支:

git push origin branch-name

暂无
暂无

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

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