【Git BASH】追加したコメントを除くステップ数を数える方法

スポンサードリンク

やりたいこと

  • Git のコミット間の実行ステップ数を調べたい。
    • 追加行をカウントしたい。
    • 削除行はカウントしたくない。
    • コメント行はカウントしたくない。

環境

  • Windows 7 Professional 32 bit
  • Git BASH

カウントするコード

  • git diff: 修正箇所で最終的に残っている実行行をカウントする。
  • awk: カウントする行を抽出する。
    • ^+: + で始まる行を残す。
    • 次の条件に当てはまる行を除外する。
    • ^---a: — a で始まる行
    • ^+++ b: +++ b で始まる行
    • ^(+|-)$: + または – のみの行
    • ^(+|-)(¥t| )*(<%|¥/|¥*): + または – で始まり、0 個以上のタブまたはスペースがあり、続いて <% または / または * のある行

実際のコードは次のようになりました。

# ステップ数カウント
# 修正箇所で最終的に残っている実行行をカウントする。

# 差分を全てそのまま取得
git diff before after > step-all .txt
# カウントする行のみを抽出
awk  '/^+/ && (!/^---a/ && !/^+++ b/ && (!/^(+|-)(¥t| )*(<%|¥/|¥*)/) && !/^(+|-)$/) { print $0 }' step-all.txt > step-edited.txt
# ステップ数を出力
wc -l step-edited.txt

# ワンライナー
git diff before after  | awk '/^+/ && (!/^---a/ && !/^+++ b/ && (!/^(+|-)(¥t| )*(<%|¥/|¥*)/) && !/^(+|-)$/) { print $0 }' | wc -l

おわりに

参考ページです。ありがとうございます!

  • Regexper
  • [svn 差分 ステップ数] で検索
  • [git 差分 ステップ数] で検索

以上です。

【Git BASH】.bashrc を新規作成すると警告とともに .bash_profile が作成されたので調べました。

Git BASH で .bashrc を新規作成すると次の警告

【Windows】Git BASH のカラーテーマを Solarized にするメモ – oki2a24 にて、次のように設定を .bashrc に書き出すようにしました。

.bashrc はまだ存在していなかったため、新規ファイルとして作成されました。

cat << 'EOF' >> ~/.bashrc
source $LOCALAPPDATA/mintty-colors-solarized/sol.dark
eval `dircolors $LOCALAPPDATA/dircolors-solarized/dircolors.ansi-dark`
EOF

そして、Git BASH を再度起動すると、次のメッセージが出力されているではありませんか!

WARNING: Found ~/.bashrc but no ~/.bash_profile, ~/.bash_login or ~/.profile.

This looks like an incorrect setup.
A ~/.bash_profile that loads ~/.bashrc will be created for you.

“【Git BASH】.bashrc を新規作成すると警告とともに .bash_profile が作成されたので調べました。” の続きを読む


スポンサードリンク

【Windows】Git BASH のカラーテーマを Solarized にするメモ

まとめ

  • Git BASH のカラーテーマを Solarized にする。
  • Solarized 用の ls カラーテーマにする。
  • 設定ファイルの置き場所は、%LOCALAPPDATA% (Git Bash なら $LOCALAPPDATA。例えば C:\Users\oki2a24\AppData\Local) にする。

設定手順

“【Windows】Git BASH のカラーテーマを Solarized にするメモ” の続きを読む

git-foresta を Windows の Git BASH からインストールする手順メモ

環境

  • Windows 7 Professional 32 bit
  • git version 2.12.2.windows.2

次の環境でも OK でした♪

  • Windows 10 Provessional 64 bit
  • git version 2.13.0.windows.1

git-foresta インストール・設定手順

“git-foresta を Windows の Git BASH からインストールする手順メモ” の続きを読む

Windows で Subversion ログからファイルのリストを作り、そのファイルを引数にグレップした時のポイントメモ

やりたいこと

  • Subversion のログから、更新したファイルのパスのリストを取得
  • 各パスのファイルを対象に、指定文字列でグレップ

使ったコマンド

  • svn diff: 更新したファイルのパスのリストを取得するのに
  • grep: パスのリストから拡張子でフィルタリングするのに、指定文字列でグラップするのに
  • sed: 最終行を削除するのに使用
  • awk: 指定列のみ抽出するのに、置換するのに
  • xargs: 出力したパスの1行を1引数として次のコマンドに渡すのに

“Windows で Subversion ログからファイルのリストを作り、そのファイルを引数にグレップした時のポイントメモ” の続きを読む