Git Log со вчерашнего дня только для рабочих дней - PullRequest
20 голосов
/ 01 июля 2011

Для ежедневных дежурств мне нравится выводить свои коммиты для обновления того, над чем я работал.

У меня есть следующий псевдоним:

standup = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(green)<%an>%Creset' --abbrev-commit --date=relative --committer='me' --all --since='yesterday'

Однако это не работает дляутро понедельника в связи с выходными.

Кто-нибудь знает, как использовать git log --since для набора рабочих дней, таких как понедельник - пятница или вторник-суббота?

1 Ответ

26 голосов
/ 01 июля 2011

Предполагается, что оболочка POSIX-у, в моем случае bash:

function yesterworkday() 
{ 
    if [[ "1" == "$(date +%u)" ]]
    then 
        echo "last friday"
    else
        echo "yesterday"
    fi
}

git log --since="$(yesterworkday)"

Опять же, все кредиты идут к авторам git за то, что сделали этот безумно легкий принятием «последней пятницы» в качестве действительной спецификации даты для начала!

PS . чтобы сделать это псевдонимом git, вам нужно включить bash shell в свой псевдоним, через минуту я отредактирую образец

Редактировать Вставка этой логики непосредственно в псевдоним git оказывается сложной (со всеми необходимыми цитатами). Смотрите здесь для идей: .gitconfig псевдоним вызова функции

Я полностью рекомендую создать сценарий оболочки для этого, и вы можете создать псевдоним сценария оболочки прямо так:

standup = !$HOME/standuplog.sh

или добавьте в одну из $PATH папок и назовите ее git-standup.

...