尝试1
运行
git branch -h
可能会指出创建分支后要检查的内容。 /> user@localhost $ git branch -h
usage: git branch [<options>] [-r | -a] [--merged | --no-merged]
or: git branch [<options>] [-l] [-f] <branch-name> [<start-point>]
or: git branch [<options>] [-r] (-d | -D) <branch-name>...
or: git branch [<options>] (-m | -M) [<old-branch>] <new-branch>
or: git branch [<options>] [-r | -a] [--points-at]
Generic options
-v, --verbose show hash and subject, give twice for upstream branch
-q, --quiet suppress informational messages
-t, --track set up tracking mode (see git-pull(1))
--set-upstream change upstream info
-u, --set-upstream-to <upstream>
change the upstream info
--unset-upstream Unset the upstream info
--color[=<when>] use colored output
-r, --remotes act on remote-tracking branches
--contains <commit> print only branches that contain the commit
--abbrev[=<n>] use <n> digits to display SHA-1s
Specific git-branch actions:
-a, --all list both remote-tracking and local branches
-d, --delete delete fully merged branch
-D delete branch (even if not merged)
-m, --move move/rename a branch and its reflog
-M move/rename a branch, even if target exists
--list list branch names
-l, --create-reflog create the branch's reflog
--edit-description edit the description for the branch
-f, --force force creation, move/rename, deletion
--merged <commit> print only branches that are merged
--no-merged <commit> print only branches that are not merged
--column[=<style>] list branches in columns
--sort <key> field name to sort on
--points-at <object> print only branches of the object
尝试2
这篇文章https://stackoverflow.com/questions/3184555/cleaning-up-old-remote-git-branches已找到,但这不是一个选择,因为它会在不检查年龄的情况下删除分支。
#1 楼
注意:此答案显示了如何查找很久以前已*更新*的分支,而不是很久以前已*创建*(即从某些父级拼接而来)的分支。我相信这是OP真正想要的(相对于他为问题选择的标题),因为这将导致删除的良好候选者。您必须记得git中的一个分支是没有“物理”。根据定义,从字面上看,它只是
.git/refs
中的一个简单文本文件,仅具有其文件名(即分支名)和提示/提示提交的哈希。它没有日期信息或其他任何信息。所以
git branch
在这里无法为您提供帮助。 具有相关日期的对象类型是git中的提交。因此,您必须列出提交。这是通过
git log
完成的。 因此,一个有效的命令将是: / docs / git-log,但简而言之,它表示
--remotes
:以任何远程分支开始(用--branches
代替本地分支)--before ...
:仅列出早于给定日期的提交--no-walk
:仅列出每个分支的第一次提交,不回溯历史记录--decorate
:显示所有关联的标签和分支名称,以防万一这将为您提供所有早于给定日期的分支头。
评论
显示早于X的分支(+1),以及一些详细信息。是否也可以像git branch的输出那样只返回分支名称?
– 030
18-2-11在13:37
看到这个答案stackoverflow.com/questions/10325599/…
–Vorsprung
18年2月11日在16:13
当然,@ 030是--format选项,如果需要,可以仅用于输出ref(分支)名称。 Vorsprung还链接了一个重复的问题,该问题使用少量bash脚本遍历分支并删除内容。
– AnoE
18年2月11日在19:24
评论
Git不存储分支机构afaik的创建日期。可以删除最近未提交的分支吗?@XiongChiamiov您最近的定义是什么?
无论您想要什么。该句子的重要部分是“致力于”与“创造”。