2016-08-12 28 views
0

我有這個慶典代碼,修剪不遙控器上存在的本地分支:Git的全球名稱以去除地方分支機構不遠程

git fetch --prune && git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -d 

我想使它成爲一個混帳全球到目前爲止,我想這

git cleanup 

(但它不工作):別名,這樣我就可以運行所有的魔像這樣

git config --global alias.cleanup "git fetch --prune && git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -d" 

它抱怨說「git」不是一個命令。我嘗試了第一個git !git,但它只是列出git config的所有選項,就好像我有整個別名命令錯誤。

注意

我知道這是不是一個bash別名太棘手,但我想嘗試使它成爲一個git的別名,所以它的運行,就好像它是一個混帳命令。

回答

2

試試這個:

$ git config --global alias.cleanup '!bash -c "git fetch --prune && git branch -r | awk '"'"'{print $1}'"'"' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '"'"'{print $1}'"'"' | xargs git branch -d"' 

或者,只是打開文件~/.gitconfig並添加:

[alias] 
    cleanup = !bash -c \"git fetch --prune && git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -d\" 

然後確認:

$ git config --list| grep alias 
alias.cleanup=!bash -c "git fetch --prune && git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -d" 
+0

我試過了,它使別名,但是當我運行它說'錯誤:未知的開關'r'並開始列出'git fetch'的用法 – Mirror318

+0

@ Mirror318我已更新回答。你在使用時是否使用了「」而不是「」! ? –

+0

另一個錯誤:git fetch --prune && git branch -r | awk「{print $ 1}」| egrep -v -f/dev/fd/0 <(git branch -vv | grep origin)| awk「{print $ 1}」| xargs git branch -d:-c:第0行:附近出現意外令牌時出現語法錯誤(' – Mirror318

相關問題