我想让我的本地和远程存储库在分支方面始终保持同步。
在 GitHub 上对 Pull Request 进行审查后,我在那里合并并删除了我的分支(远程)。我怎样才能在我的本地存储库中获取这些信息并让 Git 也删除我的本地版本的分支?
git branch --merged | grep -v "\*" | xargs -n 1 git branch -d
注意:如果你不在master,这有可能删除分支。继续阅读“更好的方法”。
master
您可以确保ingmaster或任何其他分支不会被greping for more 删除。在这种情况下,你会去:
grep
git branch --merged | grep -v "\*" | grep -v "YOUR_BRANCH_TO_KEEP" | xargs -n 1 git branch -d
因此,如果我们想保留master,例如,我们会去develop:staging
develop
staging
git branch --merged | grep -v "\*" | grep -Ev "(\*|master|develop|staging)" | xargs -n 1 git branch -d
由于它有点长,您可能需要为您的.zshrcor添加一个别名.bashrc。我的被称为gbpurge(对于git branches purge):
.zshrc
.bashrc
gbpurge
git branches purge
alias gbpurge='git branch --merged | grep -Ev "(\*|master|develop|staging)" | xargs -n 1 git branch -d'
然后重新加载你的.bashrcor .zshrc:
. ~/.bashrc
或者
. ~/.zshrc