Git

2025.12.15

公式ドキュメント

この記事の要点

git addgit commitgit pushが基本ワークフロー
• ブランチ操作はcheckout -bで作成、mergeで統合
git reset --soft HEAD~1で直前のコミットを安全にやり直し

基本操作

コマンド説明
git init新しいリポジトリを初期化
git clone <url>リポジトリをクローン
git status作業ディレクトリの状態を確認
git add <file>ファイルをステージング
git add .すべての変更をステージング
git commit -m "message"コミットを作成
git pushリモートにプッシュ
git pullリモートからプル

ポイント: git statusは作業前に必ず確認。ステージングの状態を把握してからコミットする習慣をつけましょう。

ブランチ操作

コマンド説明
git branchブランチ一覧を表示
git branch <name>新しいブランチを作成
git checkout <branch>ブランチを切り替え
git checkout -b <name>新しいブランチを作成して切り替え
git merge <branch>ブランチをマージ
git branch -d <name>ブランチを削除

履歴確認

コマンド説明
git logコミット履歴を表示
git log --oneline1行で履歴を表示
git log --graphグラフ形式で表示
git diff変更差分を表示
git show <commit>コミットの詳細を表示

実践メモ: git log --oneline --graphでブランチの分岐・マージを視覚的に確認できます。エイリアスに登録しておくと便利です。

取り消し操作

コマンド説明
git reset HEAD <file>ステージングを取り消し
git checkout -- <file>作業ディレクトリの変更を取り消し
git revert <commit>コミットを取り消す(新しいコミットを作成)
git reset --hard <commit>指定のコミットまで戻す(危険)

注意: git reset --hardは作業ディレクトリの変更も全て消えます。取り消しできないため、git revert(安全な取り消し)との使い分けを理解しましょう。

リモート操作

コマンド説明
git remote -vリモート一覧を表示
git remote add <name> <url>リモートを追加
git fetchリモートの情報を取得
git push -u origin <branch>上流ブランチを設定してプッシュ

実践メモ: git fetchはリモート情報を取得するだけで、ローカルは変わりません。git pullfetch + mergeの組み合わせです。安全に確認したいときはfetchを先に使いましょう。

便利なエイリアス設定

# ~/.gitconfig に追加
[alias]
    st = status
    co = checkout
    br = branch
    ci = commit
    lg = log --oneline --graph --decorate
    unstage = reset HEAD --
    last = log -1 HEAD
    amend = commit --amend --no-edit

ポイント: コンフリクトが発生したら慌てずに該当ファイルを開き、<<<<<<<>>>>>>>の間を手動で修正してからgit addgit commitします。

注意: git push --forceはリモートの履歴を上書きします。チーム開発では--force-with-leaseを使うか、そもそもforce pushを避けましょう。

トラブルシューティング

状況解決方法
コミットメッセージを間違えたgit commit --amend -m "新しいメッセージ"
間違えてコミットしたgit reset --soft HEAD~1 で戻してやり直し
マージコンフリクト発生ファイルを編集→git addgit commit
プッシュが拒否されたgit pull --rebase してから再プッシュ
特定のファイルだけ戻したいgit checkout <commit> -- <file>

ブランチ運用のベストプラクティス

# 機能開発の流れ
git checkout -b feature/user-auth     # 機能ブランチ作成
# ... 開発作業 ...
git add . && git commit -m "feat: ユーザー認証を実装"
git push -u origin feature/user-auth  # プッシュ
# PRを作成してレビュー後マージ
git checkout main && git pull         # mainを最新に
git branch -d feature/user-auth       # ローカルブランチ削除

参考リソース

関連記事

この技術を体系的に学びたいですか?

未来学では東証プライム上場企業のITエンジニアが24時間サポート。月額24,800円から、退会金0円のオンラインIT塾です。

メールで無料相談する
← 一覧に戻る