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

Yas*_*sai 8 git github

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

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

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

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

Mar*_*air 6

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

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

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

    git checkout -b Project7 origin/Project7
    
    Run Code Online (Sandbox Code Playgroud)
  • 现在,您应该像往常一样进行开发并创建提交以推进您的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
Run Code Online (Sandbox Code Playgroud)

那会把你的分支推Project7到教授的一个新的分支中,叫做:WarDoGG-Project7.或者他可能希望你只是通过推回原来推进他的分支Project7,在这种情况下你可以错过:<destination-branch>命令的一部分.

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