Git の教科書
このサイトでは、Git のコマンドとその裏で起きていることを概念図つきで解説します。 説明はコマンドライン(CLI)ベースですが、VS Code や Sourcetree などの GUI ツールもボタンの裏で同じコマンドを実行しているにすぎません。 仕組みを理解しておけば、どのツールを使っても迷わず操作できるようになります。
まずは使い始めよう
Git を初めて使う方はここからスタート
カテゴリから探す
目的に合わせてカテゴリを選んでください
応用ガイド
コマンドの使い分けや実践的なワークフローを解説
merge / rebase / cherry-pick の使い分け
3つのブランチ統合手段を場面ごとに使い分ける実践ガイド
git reset の実践的な使い方
soft / mixed / hard の使い分けから、HEAD~ / HEAD^ / コミットID指定まで
cherry-pick と rebase の実践テクニック
コミットの整理・移動・救済など、日常的に使える実践パターン集
restore と reset の違い・使い分け
git restore と git reset は似ているようで目的が異なります。それぞれの役割と使い分けを解説
restore と rm の違い・使い分け
git restore と git rm は「変更を取り消す」と「ファイルを削除する」で目的が全く異なります
checkout と switch の違い
Git 2.23 で登場した switch / restore と従来の checkout の使い分け
コミットメッセージの書き方
Conventional Commits 形式とわかりやすいメッセージの書き方
ブランチ戦略の選び方
Git Flow, GitHub Flow, トランクベース開発の違いと選び方
.gitignore の書き方
.gitignore の基本構文、よく使うパターン、テンプレートの活用方法
コミットハッシュとは
コミットを識別するランダムな英数字 ID — 仕組みと確認方法
トラブルシューティング
初心者がハマりやすいポイントと解決策
.gitignore が効かないときの対処法
.gitignore に追加したのに無視されないファイルへの対処方法を解説
マージコンフリクトの解消方法
コンフリクトの読み方・解消手順をステップバイステップで解説
機密ファイルを誤ってコミットしたときの対処法
.env やパスワードファイルを誤ってコミットした場合の対処と予防策
git pull で余計なマージコミットが作られる問題
git pull 時に不要なマージコミットが生成される原因と解決策
detached HEAD とは?焦らず対処する方法
detached HEAD の意味・原因・復帰方法と、コミットを救出する手順
main ブランチに直接コミットしてしまったときの対処法
main に直接コミットした変更を git revert で安全に取り消す手順
改行コード(CRLF/LF)の問題と対策
Windows/Mac/Linux 間の改行コードの違いによる問題と設定方法
ファイル名の大文字・小文字変更が反映されない問題
macOS/Windows でファイル名の大文字・小文字だけ変更しても Git が検知しない問題と対処法
push 時に「no upstream branch」エラーが出る
初回 push で発生する upstream 未設定エラーの原因と解決方法
git diff で差分が表示されない
git diff を実行しても何も表示されない場合の原因と対処法
git commit --amend の注意点
--amend は便利だが push 済みコミットの修正は危険。安全な使い方を解説
rebase 中のコンフリクト対処法
rebase 中にコンフリクトが発生した場合の対処法と、中断・継続の判断基準
stash を使いこなすコツ
stash に名前をつける方法、一覧管理、apply と pop の違いなど実践的な使い方
.git ディレクトリの誤削除・ネスト問題
.git ディレクトリの役割と、誤削除やネストによるトラブルの原因・対処法
変更中のファイルがあって switch できない
ブランチを切り替えようとしたら「変更が上書きされます」エラーが出るときの対処法
よく使う git config 設定一覧
Git の初期設定・推奨設定をカテゴリ別に一覧で紹介。user.* / core.* / pull.* / push.* / alias.* などよく使うキーをまとめたリファレンス
3-way マージを避けるブランチ運用
feature ブランチに main を取り込んでから main にマージすることで、不要な 3-way マージを防ぐ方法
git reset --hard で消した変更を復旧する
git reset --hard で消してしまった変更やコミットを元に戻す方法を解説
不要になったブランチを整理する
マージ済みのローカルブランチやリモート追跡ブランチを安全に削除する方法
よく使うコマンド
まずはこれだけ覚えておけばOK
git initフォルダを Git リポジトリとして初期化します。
git cloneリモートリポジトリをローカルにコピーします。
git status作業ツリーの状態を表示します。
git add変更をステージングエリア(staging area)に追加します。
git commit変更をリポジトリに記録します。
git logコミット履歴を表示します。
git branchブランチの一覧表示、作成、削除を行います。
git merge2つ以上の開発履歴を統合します。
git pullリモートから変更を取得してマージします。
git pushローカルの変更をリモートに送信します。
git stash作業中の変更を一時的に退避(スタッシュ)します。
Git Ready