Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.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 fetch时仍显示(本地过时)?_Git_Git Pull_Git Fetch - Fatal编程技术网

为什么我的本地分支在执行git fetch时仍显示(本地过时)?

为什么我的本地分支在执行git fetch时仍显示(本地过时)?,git,git-pull,git-fetch,Git,Git Pull,Git Fetch,当我在处理feature2时,我的队友在remote上更新了他的分支feature1 现在,当我执行$git remote show origin时,它会显示- 为“git push”配置的本地引用: feature1推送到feature1(本地过期) 我目前在分支feature2上签出,我尝试了下面的所有命令,但feature1的状态没有更改为(最新)。(所有命令执行时无任何错误) $git获取来源 $git fetch--all $git获取原始功能2 为什么会发生这种情况?我缺少什么?只需

当我在处理
feature2
时,我的队友在remote上更新了他的分支
feature1

现在,当我执行
$git remote show origin
时,它会显示-

为“git push”配置的本地引用:

feature1推送到feature1(本地过期)

我目前在分支
feature2
上签出,我尝试了下面的所有命令,但
feature1
的状态没有更改为
(最新)
。(所有命令执行时无任何错误)

$git获取来源

$git fetch--all

$git获取原始功能2

为什么会发生这种情况?我缺少什么?

只需从另一个存储库下载对象和引用。要使更改进入您的分支,您必须执行以下操作

要在一个步骤中完成这两件事,您可以使用

就你而言:

git merge origin/feature2
只需从另一个存储库下载对象和引用。要使更改进入您的分支,您必须执行以下操作

要在一个步骤中完成这两件事,您可以使用

就你而言:

git merge origin/feature2

使用
git fetch
从其他git获取新提交后,您必须选择如何将这些新提交与您自己的任何现有提交相结合

组合提交有两种主要方式:

  • git合并
  • git-rebase
在某些情况下,这些行为是非常不同的。在其他情况下,特别是在所有现有的提交最初都来自另一个Git的情况下,您从不进行任何自己的提交,并且管理另一个Git的人表现良好,他们做的事情完全相同,因此您做哪一个都无关紧要(除非第二个命令失败;请参见下文)

我自己的过程通常是:运行
git fetch
,检查发生了什么,然后选择我想做的
git merge
git rebase
中的哪一个,如果我想做的话。然后,我根据这次检查的结果执行第二个命令,或者完全根据这次检查的结果推迟执行

如果确定要使用第二个命令,可以使用运行git fetch的git pull,然后运行另外两个git命令中的一个。在看到
git fetch
带来什么之前,您需要提前选择要运行的其他git命令。默认的第二个命令是
git merge
,因此,如果您事先完全确定要
git fetch
,然后
git merge
,则可以运行
git pull
。如果您事先完全确定要运行
git-rebase
second,那么可以运行
git-pull--rebase


请注意,
git merge
git rebase
都可能失败,给您留下一团混乱需要清理。如果运行<代码> git拉< /代码>,并且它的第二个命令失败,则您仍然处于您选择的第二个命令的中间,即<代码> git拉< /代码>运行。你仍然需要收拾残局。您可以等到实际发生这种情况时再学习如何清理它,但请记住,清理它的方式取决于您选择的第二个命令!我喜欢避免使用git pull
git pull
,这样我就可以通过输入第二个命令来知道我使用了哪一个命令。:-)

使用
git fetch
从其他git获取新提交后,您必须选择如何将这些新提交与您自己的任何现有提交相结合

组合提交有两种主要方式:

  • git合并
  • git-rebase
在某些情况下,这些行为是非常不同的。在其他情况下,特别是在所有现有的提交最初都来自另一个Git的情况下,您从不进行任何自己的提交,并且管理另一个Git的人表现良好,他们做的事情完全相同,因此您做哪一个都无关紧要(除非第二个命令失败;请参见下文)

我自己的过程通常是:运行
git fetch
,检查发生了什么,然后选择我想做的
git merge
git rebase
中的哪一个,如果我想做的话。然后,我根据这次检查的结果执行第二个命令,或者完全根据这次检查的结果推迟执行

如果确定要使用第二个命令,可以使用运行git fetch的git pull,然后运行另外两个git命令中的一个。在看到
git fetch
带来什么之前,您需要提前选择要运行的其他git命令。默认的第二个命令是
git merge
,因此,如果您事先完全确定要
git fetch
,然后
git merge
,则可以运行
git pull
。如果您事先完全确定要运行
git-rebase
second,那么可以运行
git-pull--rebase


请注意,
git merge
git rebase
都可能失败,给您留下一团混乱需要清理。如果运行<代码> git拉< /代码>,并且它的第二个命令失败,则您仍然处于您选择的第二个命令的中间,即<代码> git拉< /代码>运行。你仍然需要收拾残局。您可以等到实际发生这种情况时再学习如何清理它,但请记住,清理它的方式取决于您选择的第二个命令!我喜欢避免使用git pull
git pull
,这样我就可以通过输入第二个命令来知道我使用了哪一个命令。:-)

你得拉。Fecthing只是半途而废:它获取新的引用,但不更新任何本地分支。您必须拉。Fecthing只是半途而废:它获取新的引用,但不更新任何本地分支