2011-07-01 12 views
19

私の毎日の立ち直りのために私は私が取り組んでいるもののリフレッシャーのために私のコミットを出力したい。git log昨日から勤務日のみ

私は、次の別名があります。しかし、これは週末のために月曜日の朝には機能しません

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を使用する方法を知っていますか?

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

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

再びすべてのクレジットは有効な日付指定として「前金曜日」を受け入れることによって、このめちゃくちゃ簡単を作るためgitの作者に行く:私の場合はbashで、POSIX-yのシェルを想定し

+0

that --committerkオプションとは何ですか?私は自分のgitlogにコミッターを持っていますが、私のuser.nameの代わりに '私'を認識しません。 – codemonkey

+1

これは私が上記で修正したタイプミスです。 – Cellze

答えて

24

始める!

PS。このGitのエイリアスを作るために、私はgitのエイリアスに直接このロジックを置く分

編集でサンプルを編集しましょう、あなたの別名でbashシェルを含めるために必要なすべての必要な引用はして(難しいことを証明します)。アイデアは、ここを参照してください:.gitconfig alias function call

私は完全にこのシェルスクリプトを作るお勧めします、とあなたはそうのような直接シェルスクリプトを別名できます

standup = !$HOME/standuplog.sh 

たり$PATHフォルダのいずれかに追加し、それを名前を付けgit-standup

+0

歓声@seheは完全に動作します。 – Cellze

+0

'%u'フラグの代わりに'%u'フラグを使うとより普遍的なものになりますので、英語以外の(私のような)ユーザでは機能しません。 @ cehe - nope。 – Hauleth

+0

'%u'を使うと、' 1'はmondayです。 – Hauleth

関連する問題