2011-04-01 67 views
3

最近我遇到了一個問題。我有一個與服務器交談的應用程序。我希望它根據我現在在哪個分支與不同的服務器通話。我認爲這樣做的方式是創建一個bash腳本,它創建一個.h文件,如根據當前git分支定義標誌的Bash腳本

#define BRANCH @"{here goes branch name}" 

唯一的是我不知道Bash。在所有:(

這裏是我試過

branch= git branch| grep '*' 
echo $branch 

說不上下一步做什麼...(由我使用Xcode和在「運行腳本階段」運行此方式)

回答

0

這爲當前分支的文件:

current_branch=$(git branch --no-color | grep '*' | sed 's/^\*.//') 
echo "#define BRANCH @\"$current_branch\"" > file.h 

file.h將包含:#define BRANCH @"your current branch"

+0

輸出是#define BRANCH @development如何在bash中轉義引號? – 2011-04-01 11:43:54

+0

沒關係,我覺得你就像在Java中一樣。 – 2011-04-01 11:46:31

+0

編輯回答您的評論。 – lecodesportif 2011-04-01 11:47:24

0

你可以得到當前的Git分支:

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