2012-12-06 32 views
1

我想設置一個別名,以獲取指向當前變更集(HEAD)或給定ref的ref名稱。目標是要知道「我們在哪裏?」,「哪些分支和標籤是等價的(指向同一個參考)?」,「目前的參考文獻是什麼?」,「與HEAD相比,給定的參考文獻在哪裏?」。
其中一些信息可用於各種Git命令,並在大多數Git提示中顯示。如何獲取Git當前分支和標籤

+0

*「我們在哪裏比較HEAD」* - HEAD總是指向當前簽出的提交。如果你想和HEAD進行比較,你只需要比較你的工作目錄和HEAD,並執行'git diff'。 – poke

+0

我的意思是「給定ref與HEAD相比在哪裏」(當ref是參數給定時)。修正了,謝謝。 –

回答

1

以下兩個命令幾乎提供了什麼,我想:

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/masterorigin/5.6.0。將藍色(色遠程分支機構),feature-NXP-9342-make_wizard_use_connect_client5.6.0將是綠色(顏色爲分支機構)和master將橙(當前HEAD的顏色)。任何提示?

+0

這不應該是你的問題而不是答案的編輯嗎? – poke

+0

這個答案不是一些補充信息或問題的修改,而是一個可接受的答案(即使不完美或不完整),我想與人們分享問同一個問題。我雖然這樣更清楚,而不是將問題的一部分回答在問題中。 我仍然樂意爲自己的答案提供更好的答案或改進。 –

+0

從git 1.8.3開始(2013年5月24日),顏色問題用'%C(auto)'固定;使用:'id = show -s --pretty = format:'%C(auto)%h%d'' –