我使用以下命令來了解專案的所有遠程分支:
git ls-remote https://github.com/nanashili/AuroraEditor --h --sort origin "refs/heads/*" | sed "s,.*${TAB}refs/heads/,,"
但是我想知道哪個是專案的主分支,可以和main和master不同。
你能幫我個忙嗎?
uj5u.com熱心網友回復:
git ls-remote -q --symref <remote> | head -1
列印HEAD遠程存盤庫中的點。<remote>可以是名稱origin或 URL。從結果運行中洗掉完整的參考名稱
git ls-remote -q --symref <remote> | awk 'NR==1 { print $2; }'
NR==1選擇記錄號 1(第一行);$2列印 3 個空格/制表符分隔欄位的第二個欄位。如果要剪切短分支名稱而不是完整名稱:
git ls-remote -q --symref <remote> | awk 'NR==1 { print $2; }' | sed 's!^refs/heads/!!'
例子:
$ git ls-remote -q --symref https://github.com/nanashili/AuroraEditor | awk 'NR==1 { print $2; }' | sed 's!^refs/heads/!!'
development-main
或完全避免awk:
git ls-remote -q --symref <remote> | head -1 | cut -f1 | sed 's!^ref: refs/heads/!!'
uj5u.com熱心網友回復:
普通 Git 沒有main分支這個術語。例如在 GitHub 中,你可以選擇main,但它只會在 GitHub 服務器上使用,你的 git 存盤庫不會改變。因此,為了解決這個問題,您可以main使用組態檔或引數在腳本中配置分支。
uj5u.com熱心網友回復:
了解主分支可以是存盤庫中的任何分支,唯一可以讓您了解主分支是哪個分支的唯一方法是(我認為)通過從遠程檢查 HEAD,然后檢查遠程中的分支和查看該修訂版上的哪個分支....問題是可能有多個分支指向該修訂版。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/505907.html
