Gitめも
fuji44
Git メモ
権限を保持する
git update-index --add --chmod=+x [filename]
変更履歴を見る
# git log を標準出力する
git --no-pager log
# 各コミットを一行で出力する
git log --oneline
# git log でマージコミットのみ表示する
git log --merges
# git log ブランチ間の差分コミット一覧を表示する
git log origin/master...origin/develop
# Github PRマージコミットのみ表示
git log --grep="Merge pull request"
# masterからdevelopの差分コミットのうち、Github PRマージコミットのみを一覧で表示
git log --oneline --merges --grep="Merge pull request" origin/master...origin/develop
# masterからdevelopの差分コミットのうち、Github PRマージコミットの件数を表示
git --no-pager log --oneline --merges --grep="Merge pull request" origin/master...origin/develop | wc -l
差分を表示する
git diff --name-only v4.2.20..v4.2.21 | grep -E '^src/main/webapp/(img|css|js)'
# 今のコミットハッシュが指定したとおりかチェックする
diff <(git rev-parse HEAD) <(echo "df44c0b9082767a2edfc1cf9bcc5e116bce99999")
コミットハッシュを表示する
# HEADのコミットハッシュを表示する
git rev-parse HEAD
## HEADのコミットハッシュ(ショート)を表示する
git rev-parse --short HEAD
# HEADから2つ目のコミットハッシュを表示する
# https://stackoverflow.com/a/31448684
# HEADがマージコミットの場合、HEAD~1がマージ元のコミットハッシュになるようなので、git logの通りにならないっぽい
git rev-parse HEAD~2
トラブルシューティング
Windows 環境で ssh-agent にキーを登録しているはずなのに毎回パスフレーズを聞かれる
Windows 組み込みの ssh-agent を使っている場合、 Git for Windows から参照できていない可能性がある。
Windows 組み込みの OpenSSH を使うようにすることで解決する。
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"