2017-01-17 749 views
2

我試圖刪除人合併分支,但我不明白爲什麼我得到這個錯誤信息:爲什麼git返回這個錯誤信息:「error:branch'。*''not found。」

prompt> (master) $ git b 
    4.0 
    4.1 
    4.2 
    4.3 
    4.4 
* master 
prompt> (master) $ git b --merged | grep -v '*' | xargs git branch -d 
error: branch '4.0' not found. 
error: branch '4.1' not found. 
error: branch '4.2' not found. 
error: branch '4.3' not found. 
error: branch '4.4' not found. 
prompt> (master) $ 

編輯

我有問題,只是因爲我有這個配置:

#~/.gitconfig 
[alias] 
    b = branch --color 

這意味着,我的真正的命令是git branch --color --merged | grep -v '*' | xargs git branch -d

+0

爲什麼你不能一個接一個呢?你爲什麼要搜索並顯示刪除的分支? –

+0

我嘗試了一個一個的命令,他們都很好,後來也使用你的命令。其工作正常 –

+0

我想我只是因爲別名 – sensorario

回答

1
git b --merged | grep -v '*' | xargs git branch -d 

在這裏你正在嘗試搜索分支,然後你試圖顯示刪除的分支?

所以刪除分支不xargs git branch -d

更新發現:

這對我工作的罰款。

git branch --merged | grep -v '*' | xargs git branch -d 

Deleted branch b_01 (was b62ecb1). 
Deleted branch b_02 (was b62ecb1). 
+0

「......試圖顯示刪除的分支」,''git分支-d '刪除分支不顯示刪除分支 –

+0

@sajibkhan哦是的..我的問題認爲xargs會接受輸入並顯示回來。感謝這裏學到了一些東 –

+0

作爲一般規則,腳本不應運行「瓷器」命令(如「git branch」),而應該使用「git for-each-ref」這樣的「管道」命令。然而,在這種情況下,你需要一個相當新的Git版本(2.7.0或更高版本)來使用'git for-each-ref':你需要一個支持'--merged'的版本。 – torek

相關問題