Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git分叉是如何工作的?_Git_Github - Fatal编程技术网

git分叉是如何工作的?

git分叉是如何工作的?,git,github,Git,Github,因此,我在github上签名,并参与了一个项目。我的分叉回购会在每次原始回购更新时更新吗?或者我应该每次都从原始repo进行分叉,这样我就不会错过对原始存储库所做的任何新更改 我的分叉回购会在每次原始回购更新时更新吗 不,从原始回购协议中取回资金完全取决于您。您可以在本地repo上轻松完成此操作(按照惯例,原始远程称为上游,而fork远程称为原始)。当您希望从原始版本获取更新并将其与您的版本合并时,可以使用git pull命令。更多信息请点击此处: 如果您选择分叉存储库,它会将此存储库复制到您的

因此,我在github上签名,并参与了一个项目。我的分叉回购会在每次原始回购更新时更新吗?或者我应该每次都从原始repo进行分叉,这样我就不会错过对原始存储库所做的任何新更改

我的分叉回购会在每次原始回购更新时更新吗


不,从原始回购协议中取回资金完全取决于您。您可以在本地repo上轻松完成此操作(按照惯例,原始远程称为
上游
,而fork远程称为
原始
)。

当您希望从原始版本获取更新并将其与您的版本合并时,可以使用git pull命令。更多信息请点击此处:

如果您选择分叉存储库,它会将此存储库复制到您的配置文件中。它本质上与克隆相同,但使用fork时,您的“fork”版本和原始版本之间的连接将得到维护(用于pull请求)


这是一个非常快速和简单的描述。这里有更多信息:

fork是存储库的副本。分叉存储库允许您自由地试验更改,而不会影响原始项目

不,您的fork不会每次自动更新,并且您不能多次fork存储库。如果您愿意,您必须删除prev fork并重新标记回购

要使您的fork与原始fork保持更新,您可以执行以下步骤:

首先,将原始回购协议作为远程上游添加到本地分支回购协议中:

git remote add upstream [upstream.git]
git pull origin master
现在,您可以通过执行以下操作轻松地将分叉(源)存储库与上游存储库同步

git checkout master # Make sure you always run the following commands from the master branch
git fetch --all
git pull --rebase upstream master
git push origin master
这将
retbase
本地分叉版本上的上游更改,以便
master
分支git历史在结尾处看起来完全相同

要从原始回购中提取,请使用:

git pull upstream master  # you will get the original repo's update
从叉子上拔出:

git remote add upstream [upstream.git]
git pull origin master

考虑咨询文档,提供完整的说明: