在 Git 中列出每个分支及其最后修订日期

2023-12-21

我需要从远程存储库中删除旧的和未维护的分支。我正在尝试找到一种方法来按上次修改日期列出远程分支,但我做不到。

有没有一种简单的方法可以以这种方式列出远程分支?


命令行fu http://www.commandlinefu.com/commands/view/2345/show-git-branches-by-date-useful-for-showing-active-branches有两个有趣的提议:

for k in $(git branch | perl -pe s/^..//); do echo -e $(git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1)\\t$k; done | sort -r

or:

for k in $(git branch | sed s/^..//); do echo -e $(git log --color=always -1 --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k --)\\t"$k";done | sort

这是针对本地分支的,采用 Unix 语法。使用git branch -r,您可以类似地显示远程分支:

for k in $(git branch -r | perl -pe 's/^..(.*?)( ->.*)?$/\1/'); do echo -e $(git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1)\\t$k; done | sort -r

迈克尔·福雷斯特 https://stackoverflow.com/users/191991/michael-forrest提及在评论中 https://stackoverflow.com/questions/2514172/listing-each-branch-and-its-last-revisions-date-in-git/2514279#comment27884192_2514279zsh 需要转义sed表达:

for k in git branch | perl -pe s\/\^\.\.\/\/; do echo -e git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1\\t$k; done | sort -r 

连续性 https://stackoverflow.com/users/1025068/kontinuity adds 在评论中 https://stackoverflow.com/questions/2514172/listing-each-branch-and-its-last-revisions-date-in-git/2514279#comment65532526_2514279:

如果您想将其添加到您的 zshrc 中,则需要以下转义。

alias gbage='for k in $(git branch -r | perl -pe '\''s/^..(.*?)( ->.*)?$/\1/'\''); do echo -e $(git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1)\\t$k; done | sort -r'

在多行中:

alias gbage='for k in $(git branch -r | \
  perl -pe '\''s/^..(.*?)( ->.*)?$/\1/'\''); \
  do echo -e $(git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | \
     head -n 1)\\t$k; done | sort -r'

Note: n8tr https://stackoverflow.com/users/1202867/n8tr's answer https://stackoverflow.com/a/23943986/6309, 基于git for-each-ref refs/heads https://git-scm.com/docs/git-for-each-ref更干净。而且更快 https://stackoverflow.com/a/41307509/6309.
也可以看看 ”仅命名选项git branch --list? https://stackoverflow.com/a/36026316/6309"

更普遍,tripleee https://stackoverflow.com/users/874188/tripleee提醒我们在评论中 https://stackoverflow.com/questions/2514172/listing-each-branch-and-its-last-revisions-date-in-git#comment106493431_2514279:

  • 更喜欢现代$(command substitution)语法优于过时的反引号语法。

(我在 2014 年用“有什么区别$(command) and `command`在 shell 编程中? https://stackoverflow.com/a/24592916/6309")

  • 不要读取行for https://mywiki.wooledge.org/DontReadLinesWithFor.
  • 可能会切换到git for-each-ref refs/remote以机器可读格式获取远程分支名称
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Git 中列出每个分支及其最后修订日期 的相关文章

随机推荐

  • 使用 JS 检测 MacOS、iOS、Windows、Android 和 Linux 操作系统 [重复]

    这个问题在这里已经有答案了 如何使用 JavaScript 检测 MacOS X iOS Windows Android 和 Linux 操作系统 我学到了很多关于window navigator对象及其属性 platform appVer
  • 客户端 JavaScript 应用程序和服务器端 HTTP API 之间的身份验证?

    我已经构建了一些通过 HTTP 工作的服务器端 API 仅适用于我的客户端应用程序 那么 是否可以在客户端和服务器端之间对应用程序进行身份验证 以及如何做 有两种选择 Sessions HTTP认证 会话背后的想法是 服务器向客户端发送一个
  • 使用 MS Graph API C# 读取用户电子邮件

    我正在尝试使用 MS Graph API 读取特定邮箱中的电子邮件 var client await GetClient getting a client with client id secret var users await clie
  • ASP.Net 转发器 item.DataItem 为 null

    在网页中 加载时 我用两个表填充数据集以及这些表之间的关系 然后将数据加载到具有嵌套转发器的转发器中 用户单击按钮后也可能发生这种情况 数据从 SQL 数据库加载 转发器数据源设置为回发后的数据集 但是 当 ItemDataBound 发生
  • 甲骨文。在两个过程中重用游标作为参数

    让我们创建两个测试程序 CREATE OR REPLACE PROCEDURE Aaaa Test1 pDog SYS REFCURSOR IS TYPE tDogRec is record objid varchar2 7 lim num
  • 布局类似于放射状菜单

    我必须设计这样的东西并为每个块添加点击事件 我应该如何继续 任何人都可以指导我吗 我知道现在回复已经太晚了 但这适用于那些现在在项目中需要此类功能的开发人员 看看这个演示项目github https github com beaucolli
  • 如何拒绝来自 iframe 的网站访问?

    我注意到一些网站出于安全原因拒绝从 iFrame 访问其注册和登录页面 我认为这是个好主意 我想知道他们需要什么设置才能做到这一点 因为我想在我的网站上做同样的事情 该网站是用 Java 构建的 并在 Apache Tomcat 上运行 如
  • 在 64 位 VBA 中使用 TaskDialogIndirect

    问题描述 我尝试让代码在 64 位 VBA 下工作 而在 32 位 VBA 下工作正常 它与通用控件任务对话框有关 我使用 Microsoft Access 但问题在其他 VBA 主机中应该是相同的 一个部分在 32 位和 64 位 VBA
  • Html.ImageGetter

    任何人都可以帮我解决如何使用 Html ImageGetter 使用 html 图像 src 标签显示图像吗 和例子或很好的教程 要首先从文本文件中的应用程序资源获取图像 请插入一个 html 图像标签 如下所示 img src my im
  • C# - 检查给定的 url 是文件还是目录?

    我有一个方法可以输入 http ftp 或本地路径 通过输入 url 我需要确定它是文件还是目录 Path GetExtension url 几乎可以正常工作 但如果目录以 有 开头以它的名字命名 那么这个检查就会失败 还有其他方法可以检查
  • Pylint 错误消息:“E1101:模块‘lxml.etree’没有‘strip_tags’成员’”

    我正在尝试lxml http lxml de 第一次使用 python 进行个人项目 我正在尝试使用 etree strip tags 从一些源代码中剥离标签 https stackoverflow com questions 468131
  • 有没有办法将资源的属性解析延迟到“执行”阶段?

    我有两个 LWRP 第一个涉及创建磁盘卷 对其进行格式化并将其安装在虚拟机上 我们将此称为资源cloud volume 第二个资源 它的作用并不重要 需要新格式化卷的 UUID 这是必需的属性 我们将调用此资源foobar 资源cloud
  • 如何检测两个 Golang net.IPNet 对象是否相交?

    如何检测两个Golang之间是否存在交集网络 IPNet https golang org pkg net IPNet物体 也就是如何检查both如果第一个网络是第二个网络的子网OR如果第二个网络是第一个网络的子网 Go 是否提供了任何实用
  • 绘制显示颗粒百分比的等高线

    我试图制作类似于此图的内容 这是一个等值线图 代表两个数据集中包含的 68 95 99 7 的颗粒 到目前为止 我已经尝试实现高斯 KDE 估计 并将这些粒子高斯绘制在轮廓上 文件添加到这里https www dropbox com sh
  • swing 中的 javafx 异常“工具包未初始化”

    我读过这篇文章 JavaFx 2 x Swing 不在 FX 应用程序线程上 https stackoverflow com questions 12182592 javafx 2 x swing not on fx application
  • 对于带有锚点的链接,HttpClient 出现 400 错误

    这是我的代码 DefaultHttpClient client new DefaultHttpClient HttpGet request new HttpGet url HttpResponse response client execu
  • 迭代器性能契约(以及在非集合上的使用)

    如果您所做的只是简单的一次迭代 即仅hasNext and next no remove 您是否能保证每次操作的线性时间性能和 或摊销恒定成本 这是否在Iterator到处签约 有没有数据结构 JavaCollection哪些不能在线性时间
  • 如何编译ELF二进制文件以便它可以作为动态库加载? [复制]

    这个问题在这里已经有答案了 这是理论问题 我知道也许最佳实践是使用共享库 但我遇到了这个问题 似乎无法在任何地方找到答案 如何构造代码并以 ELF 格式编译 C C 程序以便可以加载dlopen 例如 如果一个可执行文件包含某个函数的实现i
  • 默认情况下 char 有符号还是无符号?

    C语言完全参考 一书中提到 char默认情况下是无符号的 但我正在尝试使用 GCC 和 Visual Studio 来验证这一点 它把它当作signed默认情况下 哪一个是正确的 书上写错了 该标准没有规定是否普通char已签名或未签名 事
  • 在 Git 中列出每个分支及其最后修订日期

    我需要从远程存储库中删除旧的和未维护的分支 我正在尝试找到一种方法来按上次修改日期列出远程分支 但我做不到 有没有一种简单的方法可以以这种方式列出远程分支 命令行fu http www commandlinefu com commands