Upvotes
0
Upvotes: 0git branch -vv為什麼看不到所有在remote的branch?
git branch -vv 主要只顯示本機 branch,以及每個本機 branch 目前追蹤的 upstream,所以不會列出所有 remote branches。
例如:
git branch -vv
可能看到:
* main a1b2c3d [origin/main] latest commit
feature d4e5f6g [origin/feature: ahead 2] update
這裡的 main、feature 都是本機 branch;方括號中的 origin/main 才是它們追蹤的 remote-tracking branch。
要查看 remote branches:
git branch -r
查看本機和 remote branches:
git branch -a
git branch -r 也可能看不到最新 remote branch?因為你的本機尚未更新 remote 資訊。先執行:
git fetch --all --prune
再查看:
git branch -r
其中:
fetch --all:更新所有 remote 的 branch 資訊--prune:刪除本機中已經不存在於 remote 的舊 remote-tracking branch如果想直接詢問 remote,而不是依賴本機快取:
git ls-remote --heads origin
這會顯示 origin 上實際存在的所有 branch,例如:
a1b2c3... refs/heads/main
d4e5f6... refs/heads/feature/test
假設你看到:
origin/feature/test
可以建立對應的本機 branch:
git switch --track origin/feature/test
或明確命名:
git switch -c feature/test --track origin/feature/test
之後它才會出現在:
git branch -vv
常用檢查流程是:
git remote -v
git fetch --all --prune
git branch -a
git branch -vv
簡單來說,git branch -vv 看的是「我本機有哪些 branch,以及它們追蹤誰」,不是「remote 上有哪些 branch」。
Comments
Login to add a comment.
No comments yet.