如果这样做git branch -d branchname,它将删除分支名称,如果它引用了历史记录中的早期提交,或者告诉您需要-D另外使用.我经常创建稍后被推送到master的分支,因此可以通过此标准删除.有没有一种简单的方法可以列出所有指向master的早期提交的分支,也就是git不介意只删除-d选项的分支?奖励积分如果它适用于所有分支,而不仅仅是主.
我有82个本地分支机构,我知道如果不是大多数分支机构现在可以安全删除,但我不想花时间通过每个分支机构来尝试这样做.
mik*_*iku 33
尝试:
$ git checkout master # or whatever branch you might compare against ...
$ git branch --no-merged
$ git branch --merged
Run Code Online (Sandbox Code Playgroud)
从git分支文档:
使用--merged,将仅列出合并到命名提交的分支(即,可以从命名提交到达提示提交的分支).使用--no-merged时,仅列出未合并到命名提交的分支.如果参数缺失,则默认为HEAD(即当前分支的尖端).
编辑:
要为每个分支显示此信息,您可以执行以下操作:
示例回购:
o <--- experimental
|
o
|
o <--- next
|
o
|
o <--- master
|
o----o <--- broken
|
o
|
$ for branch in `git branch --no-color --verbose | \
sed -e 's/*//' | awk '{print $1}'`; \
do echo "[$branch]"; git checkout -q $branch; git branch --merged; done
[broken]
* broken
[master]
* master
[next]
master
* next
[experimental]
master
next
* experimental
Run Code Online (Sandbox Code Playgroud)
git show-branch是一个鲜为人知但非常有用的工具,可以直观地显示每个分支独有的提交。一开始可能很难破译,但一旦你理解了输出,它就非常有用。有一个简短但很好的介绍。
描述
Run Code Online (Sandbox Code Playgroud)Shows the commit ancestry graph starting from the commits named with <rev>s or <globs>s (or all refs under refs/heads and/or refs/tags) semi-visually. It cannot show more than 29 branches and commits at a time.
| 归档时间: |
|
| 查看次数: |
3858 次 |
| 最近记录: |