如何同步到git回购(特定的日期,月份,秒)

问题描述:

我想要逐月同步到最近12个月的回购提交以便比较它们。到目前为止,我有这样的:如何同步到git回购(特定的日期,月份,秒)

for i in {12..1}; do

$(git rev-list --before "$(date -d "$(date +%Y-%m-01) -$i months" +%Y-%m)-01" -n 01 HEAD); done

这正好从当前时间(每月回来,所以如果我今天4:00运行它,它会先放弃我的承诺最接近4: 00 12个月前等)。

有没有办法让git使用一个固定的时间值,这样无论我什么时候运行脚本,它都会每月回去并报告最接近12:00或者其他时间的提交?

谢谢!

+1

又名如何将混帐到ClearCase中 – jman

+0

对于它的价值,如果你使用标签来标记显著的里程碑(测试的,稳定的,任何适合你的项目),那么你就必须真正地标回去,而不是在四个月前通过添加功能获得一半的机会,或者更糟糕的是,刚刚破坏了构建。 – Cascabel

以下是否做你想要的?

#!/bin/bash 

for i in {12..1} 
do 
    CURRENT_DATE=$(date +%Y-%m-%d) 
    PAST_DATE="$(date -d "$CURRENT_DATE - $i months" "+%Y-%m-%d 12:00:00")" 
    git rev-list --before "$PAST_DATE" -n 1 HEAD 
done