Извлечь список ветвей GIT, которые старше указанного периода времени - PullRequest
0 голосов
/ 18 января 2019

Я использую приведенную ниже команду 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

1 Ответ

0 голосов
/ 18 января 2019
#!/bin/bash

# 90 days = 7776000 seconds
INTERVAL=7776000

git for-each-ref refs/remotes | while read commit type ref;do
    current=$(date +%s)
    headcd=$(git log -1 --pretty=%cd --date=format:%s ${commit})
    if [[ $((current-headcd)) -ge ${INTERVAL} ]];then
        echo $ref
    fi
done

Получить текущую дату и дату фиксации головы каждого рефера в формате эпохи. Рассчитайте интервал и напечатайте ссылки, чей интервал больше или равен 7776000 секунд.

...