ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
基本: git log
# 最新からデフォルト形式
git log
# 出力例
# commit a1b2c3d4e5f6...
# Author: Taro Yamada <taro@example.com>
# Date: Mon Jun 1 10:00:00 2026 +0900
#
# Add login feature
#
# commit 9z8y7x6w...
# ...
# 件数制限
git log -n 5
git log -5
# q で終了 (less / pager 上で動作)
よく使うフォーマット
# 1 行サマリ
git log --oneline
# a1b2c3d (HEAD -> main) Add login feature
# 9z8y7x6 Refactor auth
# ...
# グラフ表示(ブランチが見える)
git log --oneline --graph --all --decorate
# * a1b2c3d (HEAD -> main, origin/main) Add login
# | * 7654321 (feature/x) WIP
# |/
# * 9z8y7x6 Initial commit
# 統計付き(変更ファイル数・行数)
git log --stat
# 差分付き(パッチ)
git log -p
# 差分 + 統計
git log -p --stat
カスタムフォーマット (--pretty=format)
# 自由なフォーマット
git log --pretty=format:"%h %ad | %s (%an)" --date=short
# a1b2c3d 2026-06-01 | Add login feature (Taro)
# 色付き
git log --pretty=format:"%C(yellow)%h%Creset %C(green)%ad%Creset | %s %C(blue)<%an>%Creset" --date=short --graph
# プレースホルダ
# %H full hash %h short hash
# %an author name %ae author email
# %ad date %ar relative date
# %s subject %b body
# %d ref names %D ref names (no parens)
# alias 化
git config --global alias.lg \
"log --color --graph --pretty=format:'%C(yellow)%h%Creset -%C(red)%d%Creset %s %C(green)(%cr) %C(blue)<%an>%Creset' --abbrev-commit"
git lg
フィルタ機能
| 用途 | オプション |
|---|---|
| 著者で絞り込み | --author="Taro" |
| コミッタで絞り込み | --committer="..." |
| メッセージ検索 | --grep="fix" |
| 差分内容検索 | -S "function_name" |
| 正規表現で差分検索 | -G "pattern" |
| 期間 | --since="2 weeks ago" --until="yesterday" |
| ファイル/パス限定 | git log -- src/login.php |
| マージコミット除外 | --no-merges |
| マージのみ | --merges |
| ブランチ間差 | git log main..feature |
# 自分のコミットを今月分
git log --author="$(git config user.name)" --since="this month" --oneline
# 特定ファイルの変更履歴
git log -p -- src/Login.php
# 関数名を含む差分検索
git log -S "validatePassword" --oneline
# main にあって feature には無いコミット
git log main..feature --oneline
# 2 ブランチの対称差
git log main...feature --left-right --oneline
git show: 1 コミットの詳細
# HEAD のコミット
git show
# 特定コミット
git show a1b2c3d
git show HEAD~3 # 3 つ前
# ファイルの内容を見る
git show HEAD:src/Login.php
git show a1b2c3d:README.md > readme-old.md
# 変更ファイル名だけ
git show --stat a1b2c3d
git show --name-only a1b2c3d
git blame: 行ごとの最終変更
# どの行を誰がいつ変更したか
git blame src/Login.php
# 出力
# a1b2c3d (Taro 2026-05-01 10:00:00 +0900 1) <?php
# 9z8y7x6 (Hanako 2026-04-15 14:30:00 +0900 2) class Login
# ...
# 特定行範囲
git blame -L 50,100 src/Login.php
git blame -L "/^function login/,+30" src/Login.php
# email も表示
git blame -e src/Login.php
# 検索の効率化(コピー検知)
git blame -C -C src/Login.php # ファイル間のコード移動も追跡
git reflog: HEAD の動きを全部追う
reset --hard / rebase / checkout で消えたように見えるコミットも、reflog に残っています(既定 90 日)。
# HEAD の動き
git reflog
# a1b2c3d HEAD@{0}: commit: Add login
# 9z8y7x6 HEAD@{1}: reset --hard: moving to HEAD~1
# 7654321 HEAD@{2}: commit: WIP feature
# ...
# 消したコミットを復活
git reset --hard HEAD@{2}
# または
git checkout 7654321
# ブランチごとの reflog
git reflog show feature/login
# 既定期限を変更
git config --global gc.reflogExpire "180 days"
GUI ツール
| ツール | 特徴 |
|---|---|
gitk | Git 同梱の TK ベース GUI。軽量 |
git gui | 同じく同梱。コミット作成中心 |
| Sourcetree | Atlassian 製、無料、Windows/Mac |
| Fork | 軽快な GUI、有償 |
| GitKraken | クロスプラットフォーム、Pro 機能あり |
| VS Code + GitLens | エディタ統合、行単位の blame inline 表示 |
| JetBrains IDE 統合 | IntelliJ/PhpStorm の Git ツールウィンドウ |
| tig | ターミナル UI(curses) |
| GitHub Insights → Commits | Web 上で履歴/グラフ確認 |
ブランチごとの最新コミットを一覧
# 全ブランチの先頭コミット
git branch -v
# 全リモートブランチ含む
git branch -av
# 最後に活動があった順
for branch in $(git branch -r --no-merged | grep -v HEAD); do
echo -e "$(git log --pretty=format:'%ci %an' -1 $branch) \t$branch"
done | sort -r | head -20
FAQ
Q: git log のページャを抜けたい
A: q を押す(less の操作)。永久に無効化したいなら git --no-pager log や export GIT_PAGER=cat。
Q: マージで巨大ファイルが入って履歴が汚い
A: git log --no-merges でマージコミット除外、git log --first-parent で main の歴史だけ表示。
Q: 削除されたファイルの履歴を見たい
A: git log --all --full-history -- path/to/deleted/file。ファイルがリネーム移動した場合は --follow も付ける。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- 用語一覧
- エラー一覧
- git本体のインストール(Linux)
- Linuxサーバーへのgit導入とクライアントのセットアップ
- リモートリポジトリをローカルリポジトリとしてクローンする方法
- リモートとローカルのリポジトリを同期(pull)する方法
- 設定の確認
- gitユーザー名とemailの設定
- リモートリポジトリの作成
- ローカルリポジトリの作成
- 新規ファイル/ディレクトリをインデックスに登録
- インデックスの登録状態を確認
- ローカルリポジトリの変更をコミット
- コミット履歴の確認
- クライアントからリモートリポジトリの接続設定、確認、削除
- リポジトリへのプッシュ
- リモートリポジトリからクライアントへのSSHクローン
- リモートとローカルの差分表示
- バージョンの確認
- プロキシの設定
- ローカルをリモートリポジトリの状態に戻す
- ブランチの作成, 一覧表示, 切り替え
- ブランチのマージと削除
- リベース
- .gitignoreの書き方
- .gitignoreの設定が反映されない場合
- 特定のファイルをgitの管理から外す方法
- 参照(ORIG_HEAD, HEAD, FETCH_HEAD)
- git rm [-r --cached] の取り消し
- 一部のディレクトリ/ファイルのみをリポジトリから復元する方法
- ローカルとリモートリポジトリの有無を同期
- pushの取消し方法
- マージツールの起動方法
- Gitで「MERGING」の状態
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?