Git在被删除的分支上拉
假设我签出了名为“feature1”的分支。在origin,在我不知道的情况下,有人删除了那个分支。当我坐在这个被删除的分支上时,执行Git在被删除的分支上拉,git,version-control,git-pull,Git,Version Control,Git Pull,假设我签出了名为“feature1”的分支。在origin,在我不知道的情况下,有人删除了那个分支。当我坐在这个被删除的分支上时,执行git pull的结果是什么?我会被移动到另一个分支吗?如果您使用feature1并执行git pull,则不会发生任何事情。超越Git无法完成拉。您将得到一个关于无法找到远程引用的错误(因为它已被删除)。您的功能1分支保持不变 您不是“坐在这个已删除的分支上”,因为它是在原始位置删除的,这不会影响您的本地回购。您所在的分支不跟踪远程分支。如果您使用feature
git pull
的结果是什么?我会被移动到另一个分支吗?如果您使用feature1
并执行git pull
,则不会发生任何事情。超越Git无法完成拉。您将得到一个关于无法找到远程引用的错误(因为它已被删除)。您的功能1
分支保持不变
您不是“坐在这个已删除的分支上”,因为它是在原始位置删除的,这不会影响您的本地回购。您所在的分支不跟踪远程分支。如果您使用
feature1
并执行git pull
,则不会发生任何事情。超越Git无法完成拉。您将得到一个关于无法找到远程引用的错误(因为它已被删除)。您的功能1
分支保持不变
您不是“坐在这个已删除的分支上”,因为它是在原始位置删除的,这不会影响您的本地回购。您所在的分支机构不跟踪远程分支机构。不会发生任何会影响本地回购的情况。而且你也不会被转到另一个分支 以下是在对已删除的分支执行
git pull
时返回的实际信息(假设该分支设置为跟踪同名的远程分支):
不会发生任何会影响本地回购的事情。而且你也不会被转到另一个分支 以下是在对已删除的分支执行
git pull
时返回的实际信息(假设该分支设置为跟踪同名的远程分支):
你的分支机构就是你的。只有你才能删除它们
如果分支feature1
将origin/feature1
作为其上游,并且feature1
已在origin
上删除,则在运行git fetch origin
时会发生以下情况之一:
- 没什么。您的
将继续存在。由于origin/feature1
上没有origin
供您的feature1
记住,所以您的Git的origin/feature1
就永远保持不变origin/feature1
- 由于
上不再有origin
,并且您已经设置了“prune”选项,您的Git将删除您的feature1
。您自己的origin/feature1
现在有一个不存在的feature1
作为其上游origin/feature1
git fetch--prune origin
,或者在配置中将fetch.prune
设置为true
)
请注意,git pull
只是运行git fetch
——它执行这两件事情中的一件,然后根据所获取的内容正常运行git merge
。由于不会获取任何内容,由两部分组成的pull
命令的第二步将失败。(这种情况下,无论您是否指定修剪,提取步骤在origin
上都没有看到任何名为feature1
的内容,并且提取代码会注意到这一事实。)您的分支属于您。只有你才能删除它们
如果分支feature1
将origin/feature1
作为其上游,并且feature1
已在origin
上删除,则在运行git fetch origin
时会发生以下情况之一:
- 没什么。您的
将继续存在。由于origin/feature1
上没有origin
供您的feature1
记住,所以您的Git的origin/feature1
就永远保持不变origin/feature1
- 由于
上不再有origin
,并且您已经设置了“prune”选项,您的Git将删除您的feature1
。您自己的origin/feature1
现在有一个不存在的feature1
作为其上游origin/feature1
git fetch--prune origin
,或者在配置中将fetch.prune
设置为true
)
请注意,git pull
只是运行git fetch
——它执行这两件事情中的一件,然后根据所获取的内容正常运行git merge
。由于不会获取任何内容,由两部分组成的pull
命令的第二步将失败。(无论是否指定修剪,都是这种情况。提取步骤在源代码上没有看到任何名为feature1
的内容,并且提取代码会注意到这一事实。)