And*_*ogr 3 git version-control git-flow
当使用 Git Flow 或存在多个稳定分支的类似工作流程处理项目时,我创建了许多功能分支(feature/do-something-1、hotfix/fix-bug-1等)。
有时我需要清除本地分支列表,因为实际上不可能用数十个基本分支来管理它们。我通常通过将分支名称复制并粘贴到命令中来一次删除它们git branch -d。但需要很长时间才能删除整个存储库并再次克隆。
我想在一个命令中删除除master和develop之外的所有内容(无需编写额外的 shell 脚本/别名),但我在互联网上找到的所有解决方案只允许您删除除一个分支(master例如 )之外的所有内容。这不是一个合适的解决方案。有人遇到过类似的问题吗?
zrr*_*ite 11
让我们分步骤进行,以便我们可以分解该命令并了解它的作用:
git branch | grep -v " master$" | grep -v " develop$" | xargs git branch -D
Run Code Online (Sandbox Code Playgroud)
注意:您无法删除当前签出的分支。
一步步:
zrrbite@ZRRBITE MINGW64 /d/dev/branch_del_test (master)
$ git branch
develop
* master
test
test2
zrrbite@ZRRBITE MINGW64 /d/dev/branch_del_test (master)
$ git branch | grep -v " master$"
develop
test
test2
zrrbite@ZRRBITE MINGW64 /d/dev/branch_del_test (master)
$ git branch | grep -v " master$" | grep -v " develop$"
test
test2
zrrbite@ZRRBITE MINGW64 /d/dev/branch_del_test (master)
$ git branch | grep -v " master$" | grep -v " develop$" | xargs git branch -D
Deleted branch test2 (was 7767978). <-- only the output of the last xargs run is shown
zrrbite@ZRRBITE MINGW64 /d/dev/branch_del_test (master)
$ git branch
develop
* master
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4329 次 |
| 最近记录: |