shell 獲取git當前分支或tag

2021-09-26 18:13:27 字數 1063 閱讀 3718

shell下如何獲取git的當前所在分支名或tag呢?

為了解決這個小問題,我之前是走了彎路的,之前我簡單的想法就是解析git branch輸出的內容從中獲取 分支或tag名。

如下**,

# 返回$1指定的git專案的當前分支(branch)或標籤名(tag)

# $1 git專案原始碼位置

function current_branch(

)

但是我一直覺得這個辦法不靠譜。對於普通的分支名(such as master),這個辦法是沒啥問題,但當切換到某個tag時。git branch的輸出是這樣的:

$ git branch

上面的方法就是把輸出字串(head detached at facelog-2.4.1)中無用的資訊(head,detached,at)都清理掉。現在用著也沒問題,但保不齊哪天git版本公升級,輸出的單詞改了一點,這個辦法就不管用了。

今天認真在google上找了一下這個問題的解決辦法,在 stackoverflow上找到這個帖子:

嗯,挺對症的。在大神們提出了n種辦法中找到下面這個,分支名,tag名,commit id都考慮到了,很完善,

於是基於這個方法我寫了自己的函式,經測試沒問題

# 返回$1指定的git專案的當前分支(branch)或標籤名(tag)

# $1 git專案原始碼位置,為空獲則預設為當前資料夾

function current_branch (

)

$ function current_branch () 

$ current_branch .

facelog-2.4.1

$ current_branch /j/fdevmgrwhse

master

終端shell顯示當前git分支 修訂版

終端shell顯示當前git分支 修改前 修改後 專案當前的分支比較多,所以修改時,不太注意的話,分支就容易弄錯,基於以上原因,從網上學習找到了乙個配置,在當前的命令終端顯示當前修改的專案分支。僅供參考。ubuntu 系統,修改一下檔案 ip 位址,按照自己的伺服器配置 192.168.3.30 r...

git檢視當前分支所屬

1.建立並切換到該分支 git checkout b 2.檢視遠端分支 git branch a 帶有 號的表示當前分支 3.檢視本地分支 git branch 4.切換分支命令 切換回master git checkout master 切換換其它分支 git checkout 5.git clo...

git獲取遠端分支

1 git fetch 將遠端分支資訊同步到本地 2 git branch a 檢視分支資訊 3 git checkout b branch name origin branch name 或者 git checkout t origin branch name。使用 t引數預設在本地建立乙個和遠端...