簡體   English   中英

Git Branch Bash變量快捷方式

[英]Git Branch Bash Variable Shortcut

我正在嘗試創建一個bash變量,我可以用它來引用我在Git中的當前分支:類似於$ branch。

在我的bash_profile添加: branch=$(git symbolic-ref --short -q HEAD) ,我不斷得到: fatal: Not a git repository (or any of the parent directories): .git當我啟動一個新終端時, fatal: Not a git repository (or any of the parent directories): .git

此外, echo $branch不會打印分支名稱,因為git symbolic-ref --short -q HEAD會。

我希望能夠使用它不打印分支名稱(我在提示中已經有了)但是要做的事情如下:

git push origin $branch

你在哪個分支取決於你所在的目錄。如果你有兩個git工作樹, ~/a~/b ,那么輸入cd ~/a可以把你放在一個分支上並輸入cd ~/b可以把你在另一個分支上。

因此,嘗試在.bash_profile設置$branch是行不通的。 每次更改工作樹時,以及任何可以更改當前工作樹分支的命令之后,您都需要更新$branch

最簡單的做法就是設置變量。 相反,創建一個別名:

alias branch='git symbolic-ref --short -q HEAD 2>/dev/null'

然后像這樣使用它:

git push origin $(branch)

或者像這樣,如果你是老派:

git push origin `branch`

如果您真的想要設置環境變量,最簡單的解決方案是每次打印提示時都設置它:

_prompt_command () {
    export branch=$(git symbolic-ref --short -q HEAD 2>/dev/null)
}
export PROMPT_COMMAND=_prompt_command

注意:您應該檢查.bash_profile.bashrc以查看您是否已經設置了PROMPT_COMMAND 如果是這樣,只需在您已經運行的任何函數中設置branch作為提示命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM