シェル スクリプトのケース: 先週独自の git コミット レコードを取得する

背景
日次作業週次レポートには、過去 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





























おすすめ

転載: blog.csdn.net/u012294613/article/details/132432610