背景
日次作業週次レポートには、過去 1 週間の主な作業、どの要件が開発され、どのバグが解決されたかを要約する必要があります。git 送信ログを通じてそれを提示する方がより客観的です。この記事では、シェルを使用して呼び出しを行う方法を紹介します。 git コマンドを使用して、先週自分の git 送信レコードを取得しました。
スクリプトの分析には、いくつかの重要なポイントが含まれます。
提出者の情報を取得する: git config を読んで作成者を取得する;
その日と 1 週間前の日付を取得する: date コマンドを使用して取得する;
特定の日付範囲内の git 提出レコードを取得する: git log コマンドを使用して取得する;
スクリプトは
Mac システムで直接使用できます。
#!/bin/bash
function isMacOS() { # Mac での date コマンドは BSD (Berkeley Software Distribution) システムであり、 # Linux での date コマンドは GNU (GNU's Not Unix) システムです。使用法にはいくつかの違いがあります。二。 # BSD は、BSD 派生バージョンを特に指定するものではありませんが、UNIX 系オペレーティング システムのブランチの一般名です。 # Mac OS X と iOS は、実際には BSD のフォークである Darwin に基づいています。 uNames=$(uname -s) osName=${uNames: 0: 4} if [ "$osName" == "Darw" ] # ダーウィン、別名 "Mac OS X" then echo 0 elif [ "$osName" == "Linu" ] # Linux、別名 "GNU/Linux" 次に echo 1 elif [ "$osName" == "MING" ] # MINGW、Windows、
著者名=$(git config -l|grep user.name=|cut -c11-)
if [ -z "$著者名" ]; 次に、
echo "[ERR]: git のユーザー名を特定できません。user.name を確認してください。"
exit 1
fi
now_date=$(date +%Y-%m-%d)
if [ "$is_mac" ];
then
# Mac、-v パラメーターを使用すると、-v-1d は前日を表し、-v-1y は前年を表します
last_week= $(date -v-7d +%Y-%m-%d)
else
# Linux、–date パラメーターの実線により、–date="-1 day" は前日を表し、–date="-1 year" は前日を表します 1 年
last_week=$(date -date="-7 day" +%Y-%m-%d)
fi
git log --oneline --since="$last_week" --until=" $now_date" --author ="$著者名" | awk '{ print $2$3}'
1
2
3
4
5
6
7
8
9
10
11
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39記事のナレッジポイントは公式ナレッジ ファイル
と一致しており、さらに関連する知識を学ぶ—————————————著作権表示: この記事は CSDN ブロガー「csfchh」によるオリジナルの記事であり、CC 4.0 BY-SA 著作権契約に従います。オリジナルのソース リンクを添付してください。転載およびこの声明に対して。元のリンク: https://blog.csdn.net/csfchh/article/details/129696111