如何在Git中识别已删除的远程分支?

时间:2019-06-10 03:30:02

标签: git git-branch

如何知道Git服务器端的远程分支已被删除?

我和我的同事一起工作过一个UserStory。我们为此创建了一个分支(假设US_123)。完成所有这些工作之后,我的同事将US_123合并到master分支中并删除了(使用git push origin --delete US_123)。

对我来说,除了与同事交流外,还有某种方法可以知道US_123已在服务器端被删除。

我已经使用以下命令从服务器获取了代码:

  git fetch
  git pull

但是我身边仍然列出了远程分支origin/US_123(和本地跟踪分支US_123')。

git fetch
git pull
git branch -vv
  US_123 9aee544 [origin/US_123] Merge branch 'US_123'
* master 9aee544 [origin/master] Merge branch 'US_123'

预期: 远程分支被标记为已删除。就像在TFS中一样,该分支将变为“灰色”,这意味着有人在TFS中删除了相关的远程分支。

实际: 没有注意到发生了。至少,没有任何东西告诉我US_123已在服务器端删除。

W:\Git_Proj>git branch -vv
  US_123 9aee544 [origin/US_123] Merge branch 'US_123'
* master 9aee544 [origin/master] Merge branch 'US_123'

1 个答案:

答案 0 :(得分:2)

有两种使用git的常用方法。

我倾向于使用fetch(此处假设为origin

git fetch -p --dry-run

其中-p代表“修剪”,并要求git通过提取来修剪过时的远程跟踪分支

而且,正如Alexan在其评论中已经提供的那样,您可以

git remote prune origin --dry-run

如果您键入相同的命令但没有使用--dry-run

,则两者(因为它们使用--dry-run)将输出将被删除的分支列表。