[英]Setting up bash shortcut for committing to git with the current branch as message
[英]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.