Bash

在這種情況下,了解 git branch 的含義

  • November 23, 2016

我試圖理解這段程式碼是什麼意思:

function git_branch {
   git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ \1/'
}

但我不明白。有人說這段程式碼是給你的終端做配置的,我不太明白這個配置。

有人可以解釋一下嗎?

此函式將返回您目前 git 分支的名稱。

具體來說:

git 分支 –no-color

將返回儲存庫中的分支列表,如下所示:

 feature/XYZ-124
* master
 release/1.10
 release/1.11
 release/1.12

sed -e ‘/^

$$ ^* $$/d’

將刪除所有行,以“*”開頭的行除外(這是目前分支)

* master

然後:

’s/* (.*)/ \1/'

將提取分支名稱(不包括“*”字元)

master

例子

>git_branch
master

您的

function git_branch {
   git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ \1/'
}

是人們在不知道以下內容時編寫的那種文本處理技巧:

git rev-parse --abbrev-ref HEAD

引用自:https://unix.stackexchange.com/questions/325556