【发布时间】:2024-01-05 18:01:01
【问题描述】:
我正在尝试以下代码,输出应包含 x 个月前的分支名称。非常感谢此逻辑中的任何建议。
这里代码的主要目的是获取 4 个月前的所有分支名称。
current_timestamp=$(date +%s)
four_month_ago=$(( $current_timestamp - 4*30*24*60*60 ))
for x in `git branch -r`; do
branch_timestamp=$(git show -s --format=%at $x)
if [[ "$branch_timestamp" < "$four_month_ago" ]]; then
list_branch+=("${x/origin\//}")
fi
done
i=0
for x in ${list_branch[*]}; do
printf " %3d - %s\n" $i $x
i=$(( i + 1 ))
done
获取输出:
0 - fix-code
1 - bug-read
2 - feature/memcp-fix
我需要在按日期排序的序列号后面加上x个月的时间戳
预期输出:
0 - 5 month ago - fix-code
1 - 7 month ago - bug-read
2 - 10 month ago - feature/memcp-fix
【问题讨论】:
-
请描述您希望在分支前加上哪个日期。您打算从哪里获取该日期……或者您打算如何计算该日期?
-
分支名称前需要打印的“作者日期”。 @LasseV.Karlsen
-
那是你所说的分支上最后一次提交的作者日期吗?分支引用的提交的作者日期?
-
是分支创建日期。基本上我必须列出带有序列号的 4 个月大的分支 |分行日期 |分支名称,然后删除所有列出的分支。请帮助我,将不胜感激。 @LasseV.Karlsen
-
你说“是”然后你说“分支创建日期”,这不是一回事。如果我现在创建一个分支,您可能会争辩说分支创建日期是今天,即 11 月 15 日。但是,如果我在分支上工作了 1 个月,则分支所指的实际提交的作者日期可能是 12 月 15 日。你能澄清一下你想要这两个中的哪一个吗?我问是因为根据我的示例(11 月 15 日)获取创建日期可能并不容易,具体取决于合并和其他内容。
标签: git git-branch git-clean