我的正常模式是从主人那里分支,做大量工作,然后重新定义和git svn dcommit
。我该如何清理所有旧枝?
基本上我想在邮件中找到git-svn-id:
的{{1}}分支,git branch -D
。
注意:git branch --no-color --no-track --merged
让我大部分时间,但如果我遇到需要git fetch -f
的情况(因为一个疯狂的git-svn错误)我将不得不去自己改变所有分支。
答案 0 :(得分:0)
一种一线的:
git for-each-ref --format='%(refname:short)' refs/heads |
while read branch; do
if git show -s $branch | grep 'git-svn-id:'; then
git branch -D $branch
fi
done
请注意,这是未经测试的;我不使用git-svn,它只是基于你问题第二段的要求。你可以先在那里使用echo而不是git branch -D
来尝试它,以确保分支列表看起来像你期望的那样。我可以根据需要帮助完善它。