カテゴリー
コンピューター

【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 差分 ステップ数] で検索

以上です。

カテゴリー
コンピューター

【Vim】lightline の git branch 表示を vim-fugitive から gina.vim へ変更する

ポイント

  • 辞書型変数g:lightline の gitbranch コンポーネントで呼び出す関数を fugitive#head から gina#component#repo#branch へ変更する。

.vimrc の変更箇所

カテゴリー
Linux

CentOS7 で Git をインストールするシェルスクリプト

手順

yum で git をインストールする。

コマンド

カテゴリー
Microsoft

【Windows10】【Vim】dein.vim インストール時に ssl 関係の Git エラーとなった問題を解決

起こった問題

【Mac】【Vim】dein.vim の .vimrc 内容を修正 – oki2a24 を Windows10 Pro 64bit でも行おうとしましたら、次のエラーとなりました。

---------------------------
git-remote-https.exe - エントリ ポイントが見つかりません
---------------------------
プロシージャ エントリ ポイント curl_global_sslset がダイナミック リンク ライブラリ C:\Program Files\Git\mingw64\libexec\git-core\git-remote-https.exe から見つかりませんでした。 
---------------------------
OK   
---------------------------
カテゴリー
Microsoft

【Git】リモートリポジトリの URL を変更したい、push 先を 1 つ減らしたい

環境

  • git version 2.13.3.windows.1

行いたいこと

  • fetch、push の URL を変更したい。
  • 具体的には次のようにしたい。
    • 修正前の状態
    • origin. http://example.com/pj-a.git (fetch)
    • origin. http://example.com/pj-a.git (push)
    • origin. http://example.com/pj-b.git (push)
    • 修正後の状態
    • origin. http://example.com/pj-b.git (fetch)
    • origin. http://example.com/pj-b.git (push)
  • 以上を、Git のコマンドを使って行いたい。

使用コマンドまとめ

# リモートリポジトリの設定確認
git remote -v
# ローカルリポジトリの設定ファイル内容表示
cat .git/config

# リモートリポジトリの URL 削除
git remote set-url --delete <name> <url>

# リモートリポジトリの削除
git remote remove <name>
# リモートリポジトリの追加
git remote add <name> <url>

ちなみに、今回の目的から外れるが、Git コマンドを使用しないで同様のことを行いたい場合は、.git/config ファイルを編集すればよい。

カテゴリー
Linux

【Git】1 回の push で複数のリモートリポジトリに反映する方法

やりたいこと

リモートリポジトリ origin で push する先の url を増やしたい。
毎回の push 操作で、もう 1 つの url にも反映することで、バックアップとしたい。
fetch するときの url は追加する前からあった、元々の url のままとしたい。

カテゴリー
Microsoft

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 インストール・設定手順

カテゴリー
コンピューター

【Subversion】【git-svn】Subversion でブランチを作成するときの注意点

Subversion でのブランチ作成時の注意点

カテゴリー
Microsoft

【Git】普段使い git-svn の流れ

git svn init がおわり、これからいよいよ作業を始ましょう!というときから使用した git svn コマンドや作業の流れをノートいたします♪

用語

  • svn ブランチ: $SVN_REPO/branches 以下にあるディレクトリ
    git ブランチ: git のローカルブランチ

まとめ内容

  • Windows 7、Git Bash での作業
  • svn ブランチでの作業方法
  • svn のコミット先の確認方法(trunk なのか branches なのか)
  • 他メンバー作業分を自分の作業中のローカルリポジトリに反映する方法
カテゴリー
Microsoft

【Git】git svn fetch を自動的に何度も実行するシェルファイル

はじめに

git svn fetch で 何度も time out とエラー終了してしまいます><。

再度 fetch すれば少しずつ進みますので、しつこく何度も自動的に実行したいと存じます。

さしあたって 2 回連続で実行するシェルを書き、試した。