基本上我习惯git fetch
然后:git diff remotes/origin/my_branch_to_compare_with
但是现在我做了一个git fetch
然后git diff remotes/origin/the_remote_branch_I_want_to_compare_with
:git仍然显示出一些差异......这怎么可能?我想它存储有关远程删除分支的信息?远程分支已从gitlab中删除。
答案 0 :(得分:2)
如果遥控器上有分支,并且克隆遥控器并在本地检查分支,则现在(至少)有三个与分支相关的引用。
1)远程分支
2)本地仓库中的分支
3)A"远程跟踪参考"在当地的回购;有时被称为"远程跟踪分支",但要注意它不是分支
如您所知,远程跟踪引用在您获取时更新为本地引用
origin/some-branch
告诉你远程回购分支的位置
some-branch
指向那个fetch。您可能不知道的是,默认情况下,当从远程删除分支时,提取不会自动删除相应的远程跟踪引用。
如果您希望本地删除远程跟踪参考,您可以说
git fetch --prune
但是,除非您这样做,或者从本地仓库手动删除远程跟踪引用,否则本地将记住远程分支指向上次提取报告分支存在的位置。