Git の教科書

このサイトでは、Git のコマンドとその裏で起きていることを概念図つきで解説します。 説明はコマンドライン(CLI)ベースですが、VS Code や Sourcetree などの GUI ツールもボタンの裏で同じコマンドを実行しているにすぎません。 仕組みを理解しておけば、どのツールを使っても迷わず操作できるようになります。

カテゴリから探す

目的に合わせてカテゴリを選んでください

トラブルシューティング

初心者がハマりやすいポイントと解決策

.gitignore が効かないときの対処法

.gitignore に追加したのに無視されないファイルへの対処方法を解説
マージコンフリクトの解消方法

コンフリクトの読み方・解消手順をステップバイステップで解説
機密ファイルを誤ってコミットしたときの対処法

.env やパスワードファイルを誤ってコミットした場合の対処と予防策
git pull で余計なマージコミットが作られる問題

git pull 時に不要なマージコミットが生成される原因と解決策
detached HEAD とは?焦らず対処する方法

detached HEAD の意味・原因・復帰方法と、コミットを救出する手順
main ブランチに直接コミットしてしまったときの対処法

main に直接コミットした変更を別ブランチに移す手順
改行コード(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 で消してしまった変更やコミットを元に戻す方法を解説
不要になったブランチを整理する

マージ済みのローカルブランチやリモート追跡ブランチを安全に削除する方法