我們在構建我們的Maven工件時存儲當前結賬的SHA-1,所以我們可以返回使用「git checkout SHA-1」製作工件的確切提交。這導致分離的HEAD不屬於任何分支。如何識別給定SHA-1「屬於」哪個遠程分支?
我可以使用「gitk --all」。以可視化方式標識提交所屬的遠程分支,但我想知道相應的git命令來確定當前提交「屬於」哪個分支(編輯:因爲可能在分支上修復了其他錯誤因爲這個特殊的構建)。
我們在構建我們的Maven工件時存儲當前結賬的SHA-1,所以我們可以返回使用「git checkout SHA-1」製作工件的確切提交。這導致分離的HEAD不屬於任何分支。如何識別給定SHA-1「屬於」哪個遠程分支?
我可以使用「gitk --all」。以可視化方式標識提交所屬的遠程分支,但我想知道相應的git命令來確定當前提交「屬於」哪個分支(編輯:因爲可能在分支上修復了其他錯誤因爲這個特殊的構建)。
從git help branch
隨着--contains,僅示出了包含名爲提交 分支(換句話說,其尖端是提交的名爲 後代提交分支)。使用--merged時,只會列出合併到指定提交中的分支(即其提示 可從指定提交中獲得的分支)。使用--no-merged只分支未合併到指定的提交將被列出 。如果缺少參數,則默認爲HEAD(即當前分支的尖端)。
所以我猜你正在尋找git branch --contains SHA-1
要列出遠程分支,首先需要獲取所有遠程分支,然後再給-r
選項上面的命令。
git fetch
git branch -r --contains SHA-1
爲什麼你想知道它屬於哪個* remote *分支?本地分支是否足夠? – CharlesB
所有開發都發生在一個分支上。這是爲了確保選擇正確的分支進行bug修復。 –