提取早于指定时间段的GIT分支列表

时间:2019-01-18 12:06:44

标签: git shell bitbucket git-bash

我正在使用下面的GIT命令来提取分支列表以及提交者名称和日期。 但是,想知道如何获取超过90天的分支机构,而不是获取整个列表。

git for-each-ref --count=10 --sort=-committerdate refs/remotes/ --format='%(refname:short) = %(committerdate:short) =%(committername) =%(authorname)'| xargs -L1 | cut -d"/" -f2- >> $allbrancheslist.txt

2 个答案:

答案 0 :(得分:1)

_.filter

以纪元的格式获取每个裁判的头部的当前日期和提交日期。计算间隔并打印间隔大于或等于7776000秒的裁判。

答案 1 :(得分:0)

git log -1 --pretty=%cd --date=format:%s ${commit}

OP提到in the comments

Getting the below error while trying the execute the provided script date: 
extra operand ‘%s’ Try 'date --help' for more information. 

fatal: invalid strftime format: '%s'

这意味着Windows,并且已在Git 2.27(2020年第二季度)中修复。

请参见commit 3efc128前的commit b6852e1(2020年4月9日)和Johannes Schindelin (dscho)(2020年4月8日)。
请参见commit a748f3fMatthias Aßhauer (rimrul)(2020年4月8日)。
(由Junio C Hamano -- gitster --commit b3eb70e中合并,2020年4月22日)

mingw:如果可能,使用现代的strftime实现

签名人:MatthiasAßhauer
签名人:Johannes Schindelin

Microsoft在Visual Studio 2015中引入了新的“ 通用C运行时库”( UCRT )。
UCRT带有新的strftime()实现,该实现支持更多日期格式。
我们将git与较旧的“ Microsoft Visual C运行时库”(MSVCRT)链接,因此要使用UCRT strftime(),我们需要使用ucrtbase.dllDECLARE_PROC_ADDR()/INIT_PROC_ADDR()加载它。

大多数受支持的Windows系统应该已经通过Windows更新收到了UCRT,但是在某些情况下,只有MSVCRT可用。
在那种情况下,我们退回到使用该实现。

通过此更改,可以使用例如%g%V日期格式说明符,例如

git show -s --format=%cd --date=format:‘%g.%V’ HEAD

不进行此更改,用户将在Windows上看到以下错误消息:

fatal: invalid strftime format: '‘%g.%V’'

此问题修复了git-for-windows/git issue 2495“对ISO 8601日期格式的支持缺失”