簡體   English   中英

使用GIT show提交的日期早於特定格式的特定日期

[英]With GIT show commits older than a specific date with specific format

我需要使用特定格式打印早於特定日期的最新10次提交。 我需要處理通過bash命令獲得的日期:

 date +"%Y%m%d%H%M"

我嘗試了一些選擇,但到目前為止沒有任何選擇

e.g.: git log -5 --no-merges --format=format:%cd --after=201506301524

您需要使用--until而不是--after以及正確的日期格式,但是您可以使用date進行轉換:

git log --no-merges --format=format:%cd -10 --until "$(date -d "$(echo "201506301524" | sed 's/....$/ &/')")"

$(echo "201506301524" | sed 's/....$/ &/')將日期轉換為20150630 1524 ,這是日期的有效輸入格式。

您必須設置日期格式,只有數字不會。 使用以下之一:

--after=2015-06-30-15:24:00
--after=2015-06-30:16:24:00
--after="2015-06-30 16:24:00"

所有這些格式都被接受。

首先,您需要使用正確的日期格式( date +"%Y-%m-%d %H:%M:00" ):

git log --no-merges --format=format:%cd --after="2015-06-30 15:24:00"

現在,您可以使用--reverse首先獲取最早的提交:

git log --reverse --no-merges --format=format:%cd --after="2015-06-30 15:24:00"

不幸的是, git log --reverse -10不會返回您想要的內容,因為它將git log --reverse -10最近的10次提交, 然后反轉列表(這意味着無論指定的日期如何,您都會得到相同的列表)。

一種替代方法是對結果使用head

git log --reverse --no-merges --format=format:%cd --after="2015-06-30 15:24:00" | head -10

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM