10

当我点击这些按钮时,Github 在做什么?假设我在 Github 上做了一个拉取请求。我要输入的 git 命令是什么(git pull ....?)。那么分叉呢?Github 在幕后做什么。

4

2 回答 2

7

虽然 GitHub 上的 repo 是裸露的(没有工作树“签出”文件),但可以认为 fork 等效于git clone <URL for source repo>,所以在幕后他们可能正在做类似git clone --bare <URL>.

拉取请求是要求源仓库的所有者将您的更改拉入他们的仓库......所以没有等效的 git 命令。这有点像给那个 repo 的所有者发电子邮件说“这是我所做的一些更改,希望你喜欢它们”。如果他们接受拉取请求,他们基本上会做相当于git pull <URL for your repo>.

于 2013-02-24T22:57:50.183 回答
5

如果您想知道如何模拟分叉和拉取请求的行为,VonC的回答比我在这里的要好得多。基本上clonepull

如果您对 GitHub在幕后实际所做的事情感兴趣,它会稍微复杂一些。GitHub 上的@holman的Zach Holman最近发表了一个演讲“如何构建 GitHub”,他详细介绍了它们的实现。

于 2013-02-25T00:06:45.870 回答