小编典典

在远程仓库上删除本地 Git 分支后删除它们

all

我想让我的本地和远程存储库在分支方面始终保持同步。

在 GitHub 上对 Pull Request 进行审查后,我在那里合并并删除了我的分支(远程)。我怎样才能在我的本地存储库中获取这些信息并让 Git
也删除我的本地版本的分支?


阅读 60

收藏
2022-08-21

共1个答案

小编典典

快捷方式

git branch --merged | grep -v "\*" | xargs -n 1 git branch -d

注意:如果你不在master,这有可能删除分支。继续阅读“更好的方法”。

确保我们保持主人

您可以确保ingmaster或任何其他分支不会被greping for more 删除。在这种情况下,你会去:

git branch --merged | grep -v "\*" | grep -v "YOUR_BRANCH_TO_KEEP" | xargs -n 1 git branch -d

因此,如果我们想保留master,例如,我们会去developstaging

git branch --merged | grep -v "\*" | grep -Ev "(\*|master|develop|staging)" | xargs -n 1 git branch -d

将此设为别名

由于它有点长,您可能需要为您的.zshrcor添加一个别名.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
2022-08-21