我想設置一個別名,以獲取指向當前變更集(HEAD
)或給定ref的ref名稱。目標是要知道「我們在哪裏?」,「哪些分支和標籤是等價的(指向同一個參考)?」,「目前的參考文獻是什麼?」,「與HEAD相比,給定的參考文獻在哪裏?」。
其中一些信息可用於各種Git命令,並在大多數Git提示中顯示。如何獲取Git當前分支和標籤
回答
以下兩個命令幾乎提供了什麼,我想:
id = log -1 --pretty=format:'%h%d'
id = show -s --pretty=format:'%h%d'
有了給一個引用作爲參數的能力,例如:
$ git id 5.6.0
02a719d (some-tag, origin/master, origin/5.6.0, master, feature-NXP-9342-make_wizard_use_connect_client, 5.6.0)
理想情況下,我想補充一些顏色以突出顯示當前結帳參考(.git/HEAD
),標籤以及本地和遠程分支。 reflog也可能有用(例如[email protected]{4}
)。
例如,在上面的示例中,some-tag
將是黃色(顏色代碼),origin/master
和origin/5.6.0
。將藍色(色遠程分支機構),feature-NXP-9342-make_wizard_use_connect_client
和5.6.0
將是綠色(顏色爲分支機構)和master
將橙(當前HEAD的顏色)。任何提示?
這不應該是你的問題而不是答案的編輯嗎? – poke
這個答案不是一些補充信息或問題的修改,而是一個可接受的答案(即使不完美或不完整),我想與人們分享問同一個問題。我雖然這樣更清楚,而不是將問題的一部分回答在問題中。 我仍然樂意爲自己的答案提供更好的答案或改進。 –
從git 1.8.3開始(2013年5月24日),顏色問題用'%C(auto)'固定;使用:'id = show -s --pretty = format:'%C(auto)%h%d'' –
- 1. 如何在瀏覽器中獲取當前的git標籤/分支/修訂版?
- 2. 獲取當前本地分支的遠程git-svn分支
- 3. 如何通過pygit2獲取當前簽出的Git分支名稱?
- 4. 如何克隆git分支的標籤?
- 5. 如何獲取包含Git中所有分支和最新標籤的列表?
- 6. Git標籤與分支
- 7. Git - 分支或標籤?
- 8. Git標籤和分支版本是?
- 9. 我如何標記我當前的git分支,然後繼續
- 10. Git流發佈分支和標籤 - 有或沒有「v」前綴
- 11. 是否有一個單一的Git命令來獲取當前標籤,分支和提交?
- 12. 使用PowerShell獲取當前git分支的名稱
- 13. 獲取當前的Git開發分支而不是過時的分支
- 14. Git:獲取當前分支曾合併過的分支的列表
- 15. 將git分支轉換爲git標籤
- 16. 如何從Git命令獲取分支?
- 17. git - 如何獲取默認分支?
- 18. 如何只顯示當前目錄和git分支?
- 19. 如何在Eclipse運行配置中獲取當前Git分支名稱
- 20. Git分支從當前分支的另一個分支
- 21. 獲取當前分支的遠程
- 22. 如何在git中找到空分支和標籤
- 23. Git標籤從主分支分離
- 24. 如何git svn只獲取具有特定模式的分支/標籤?
- 25. 標籤和分支
- 26. 如何設置git以從當前分支進行推送和拉取?
- 27. Github API - 獲取標籤的分支
- 28. 獲取git的分支
- 29. 獲取git分支大小?
- 30. 如何從git中的分支分支獲取更改?
*「我們在哪裏比較HEAD」* - HEAD總是指向當前簽出的提交。如果你想和HEAD進行比較,你只需要比較你的工作目錄和HEAD,並執行'git diff'。 – poke
我的意思是「給定ref與HEAD相比在哪裏」(當ref是參數給定時)。修正了,謝謝。 –