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_Fetch - Fatal编程技术网

Git的“远程添加”和“获取”过程说明

Git的“远程添加”和“获取”过程说明,git,github,fetch,Git,Github,Fetch,此示例位于github网站上“步骤3:配置远程”下的 git remote add upstream git://github.com/octocat/Spoon-Knife.git git fetch upstream 据我所知,在执行这些命令之后,github用户octocat在我克隆repo后所做的更改现在在我的本地项目repo中实现。 但是假设在我执行上述命令之后,用户octocat再次在项目中进行更改 问题1:所有更改现在是否会自动更新到我的本地文件夹?我想不是 如果Q1的答案为否:

此示例位于github网站上“步骤3:配置远程”下的

git remote add upstream git://github.com/octocat/Spoon-Knife.git
git fetch upstream
据我所知,在执行这些命令之后,github用户octocat在我克隆repo后所做的更改现在在我的本地项目repo中实现。 但是假设在我执行上述命令之后,用户octocat再次在项目中进行更改

问题1:所有更改现在是否会自动更新到我的本地文件夹?我想不是

如果Q1的答案为否:

问题2.1:为了让我再次更新新的更改,我是否只需要再次执行单个命令git fetch upstream来更新新的更改


问题2.2:我可以只获取在最新获取中所做更改的日志吗

Q1:否。Git不会轮询远程设备的更改。您必须命令git使用git fetch或pull下拉更改

但是,如果您的分支正在跟踪远程分支,并且很可能是这样,那么当您发出git status时,git将告诉您分支位于远程分支的前面还是后面。如果你领先,那么你在远程上没有任何更改的情况下进行了提交。如果您落后,则新的提交已添加到远程

问题2:是的。但是,请注意git fetch只会将更改拉下来。它不会将它们合并到当前分支中。因此,在您真正合并它们之前,您不会看到更改。它们生活在一个单独的分支中——在这种情况下,上游/主节点假设主节点就是所讨论的分支

当您检查了更改并准备将其合并到本地分支中时,您可以使用:

git merge upstream/master
问题2.2:是的。这就是为什么git fetch是有用的。与git pull相比,它更容易看到更改是什么,在git pull中,它在一个操作中进行获取和合并。虽然在这种情况下,您仍然可以获得一个更改列表,但这稍微有点困难


在您的情况下,如果您正在执行git fetch,要查看所做的更改,请执行git diff upstream/master。

Q1:否。git不会轮询远程设备进行更改。您必须命令git使用git fetch或pull下拉更改

但是,如果您的分支正在跟踪远程分支,并且很可能是这样,那么当您发出git status时,git将告诉您分支位于远程分支的前面还是后面。如果你领先,那么你在远程上没有任何更改的情况下进行了提交。如果您落后,则新的提交已添加到远程

问题2:是的。但是,请注意git fetch只会将更改拉下来。它不会将它们合并到当前分支中。因此,在您真正合并它们之前,您不会看到更改。它们生活在一个单独的分支中——在这种情况下,上游/主节点假设主节点就是所讨论的分支

当您检查了更改并准备将其合并到本地分支中时,您可以使用:

git merge upstream/master
问题2.2:是的。这就是为什么git fetch是有用的。与git pull相比,它更容易看到更改是什么,在git pull中,它在一个操作中进行获取和合并。虽然在这种情况下,您仍然可以获得一个更改列表,但这稍微有点困难


在您的情况下,如果您正在进行git fetch,要查看所做的更改,请执行git diff upstream/master。

谢谢,我还发现您需要执行git branch-a,如果您想在执行fetch后查看本地repo中列出的远程分支。谢谢,我还发现,如果您想在获取后看到本地repo中列出的远程分支,那么您需要执行git branch-a。