gpt4 book ai didi

git - 删除超过 X 天/周的所有分支

转载 作者:IT王子 更新时间:2023-10-29 01:18:18 26 4
gpt4 key购买 nike

我发现下面的脚本按日期列出了分支。我如何过滤它以排除较新的分支并将结果提供给 Git delete 命令?

for k in $(git branch | sed /\*/d); do 
echo "$(git log -1 --pretty=format:"%ct" $k) $k"
done | sort -r | awk '{print $2}'

最佳答案

使用 --since--before 怎么样?

例如,这将删除一周内未收到任何提交的所有分支:

for k in $(git branch | sed /\*/d); do 
if [ -z "$(git log -1 --since='1 week ago' -s $k)" ]; then
git branch -D $k
fi
done

如果你想删除超过一周的所有分支,使用--before:

for k in $(git branch | sed /\*/d); do 
if [ -z "$(git log -1 --before='1 week ago' -s $k)" ]; then
git branch -D $k
fi
done

请注意,这也会删除未 merge 到 master 中的分支或任何已 checkout 的分支。

关于git - 删除超过 X 天/周的所有分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10325599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com