user@machine:~/projects/application[master]$ git branch --merged
STORY-123-Short-Description
STORY-456-Another-Description
STORY-789-Blah-Blah
* master
删除grep-v\*
列出的分支的所有尝试(根据下面的答案)都会导致错误:
error: branch 'STORY-123-Short-Description' not found.
error: branch 'STORY-456-Another-Description' not found.
error: branch 'STORY-789-Blah-Blah' not found.
我使用的是:
git 1.7.4.1
ubuntu 10.04
GNU bash,version 4.1.5(1)-release
GNU grep 2.5.4
git branch-d'子命令可以删除多个分支。因此,简化@sblom的答案,但添加了一个关键的xargs:
git branch -D `git branch --merged | grep -v \* | xargs`
或者,进一步简化为:
git branch --merged | grep -v \* | xargs git branch -D
重要的是,正如@Andrewc指出的,不鼓励使用Git Branch
编写脚本。为了避免这种情况,请使用以下内容:
git for-each-ref --format '%(refname:short)' refs/heads | grep -v "master\|main" | xargs git branch -D
$ mkdir br
$ cd br; git init
Initialized empty Git repository in /Users/ebg/test/br/.git/
$ touch README; git add README; git commit -m 'First commit'
[master (root-commit) 1d738b5] First commit
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README
$ git branch Story-123-a
$ git branch Story-123-b
$ git branch Story-123-c
$ git branch --merged
Story-123-a
Story-123-b
Story-123-c
* master
$ git branch --merged | grep -v \* | xargs
Story-123-a Story-123-b Story-123-c
$ git branch --merged | grep -v \* | xargs git branch -D
Deleted branch Story-123-a (was 1d738b5).
Deleted branch Story-123-b (was 1d738b5).
Deleted branch Story-123-c (was 1d738b5).
我最近开始使用Docker,但从未意识到我应该使用< code>docker-compose down而不是< code>ctrl-c或< code>docker-compose stop来摆脱我的实验。我现在在本地有大量不需要的docker图像。 我可以运行一个标志来删除所有本地docker图像吗 像--all标志这样的东西不存在,但我正在寻找具有类似想法的东西。
刚接触Git不久,误操作把Git 的本地分支文件夹给Shift delete了,本地分支还没有commit和push到Server远程分支上去,现在没有本地分支,如何删除Server上的远程分支呢? 似乎没有Push过本地分支,无法直接删除远程分支
问题内容: 我最近开始使用Docker,但从未意识到我应该使用代替或摆脱我的实验。我现在在本地有大量不需要的docker映像。 我是否可以运行一个标志来删除所有本地docker映像和容器? 像--all标志这样的东西并不存在,但是我正在寻找具有类似想法的东西。 问题答案: 要删除所有容器(包括其卷), 要删除所有图像, 请记住,您应先删除所有容器,然后再删除创建这些容器所用的所有图像。 如果您使用
我最近开始使用Docker,但从未意识到我应该使用而不是或来摆脱我的实验。我现在在本地有大量不需要的docker映像。 是否有一个标志我可以运行删除所有本地docker映像和容器? 类似--allFlag的东西不存在,但我正在寻找类似的东西。
我刚刚克隆了一个git存储库并检查了一个分支。我工作了它,然后决定删除所有我的本地更改,因为我想要的原始副本。 简而言之,我必须执行以下两个命令来删除我的本地更改 我的问题是, (1)这是摆脱局部变化的正确方法吗?否则请告诉我正确的方法。 (2)我们什么时候使用,因为即使没有这个命令我也能重置 谢谢 *解决方案:主要编辑:03/26:*用特定于git的术语[跟踪/未跟踪/分段/未分段]替换了许多模
本文向大家介绍git代码不变,删除所有commit记录,包括了git代码不变,删除所有commit记录的使用技巧和注意事项,需要的朋友参考一下 把旧项目提交到Git服务器上,会有很多以前的commit记录。 由于各种各样的原因,不希望在新的Git服务器上显示这些commit信息。 那如何删除这些commit记录,形成一个全新的仓库,并且保持代码不变呢? 参考资料: how to delete al