我正在使用下面的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
答案 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 a748f3f的Matthias Aßhauer (rimrul
)(2020年4月8日)。
(由Junio C Hamano -- gitster
--在commit b3eb70e中合并,2020年4月22日)
mingw
:如果可能,使用现代的strftime实现签名人:MatthiasAßhauer
签名人:Johannes SchindelinMicrosoft在Visual Studio 2015中引入了新的“ 通用C运行时库”(
UCRT
)。
UCRT带有新的strftime()
实现,该实现支持更多日期格式。
我们将git与较旧的“ Microsoft Visual C运行时库”(MSVCRT)链接,因此要使用UCRT strftime()
,我们需要使用ucrtbase.dll
从DECLARE_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日期格式的支持缺失”