【发布时间】:2013-02-05 20:17:46
【问题描述】:
当我点击这些按钮时,Github 在做什么?假设我在 Github 上做了一个拉取请求。我要输入的 git 命令是什么(git pull ....?)。那么分叉呢? Github 在幕后做了什么。
【问题讨论】:
标签: git github pull-request git-fork
当我点击这些按钮时,Github 在做什么?假设我在 Github 上做了一个拉取请求。我要输入的 git 命令是什么(git pull ....?)。那么分叉呢? Github 在幕后做了什么。
【问题讨论】:
标签: git github pull-request git-fork
尽管 GitHub 上的 repo 是裸露的(没有工作树“签出”文件),但可以认为 fork 等同于 git clone <URL for source repo>,因此在幕后他们可能正在做类似 git clone --bare <URL> 的事情。
拉取请求是要求源代码库的所有者将您的更改拉入他们的代码库中……因此没有等效的 git 命令。这有点像给那个 repo 的所有者发电子邮件说“这是我所做的一些更改,希望你喜欢它们”。如果他们接受拉取请求,他们基本上会做相当于git pull <URL for your repo>。
【讨论】:
如果您想知道如何模拟分叉和拉取请求的行为,VonC 的回答比我的回答要好得多here。基本上是clone 和pull。
如果您对 GitHub实际上在幕后所做的事情感兴趣,它会稍微复杂一些。 Zach Holman,@holman 在 GitHub 上最近发表了一次演讲 "How To Build A GitHub",他详细介绍了它们的实现。
【讨论】: