Version-Control


Nov. 28, 2025

ローカルのみで完結する Git 運用ガイド

What I Learned

Git を初めて使う人や個人開発者向けに、GitHub などのリモートを使わずにローカルだけで Git を完結させる運用方法を整理した。Git は本来ローカルにすべての履歴を持つ仕組みなので、リモートを覚える前にローカル Git を理解した方が扱いやすく、混乱も少ない。ローカル内でもバックアップ(擬似リモート/ミラー)が可能である。

Details

ローカルだけで Git を使うメリット

  • 覚える概念が少なく学習しやすい
  • 他人に迷惑がかからない
  • Git の本質(変更履歴の管理)に集中できる

1. 基本操作とワークフロー

1-1. リポジトリ作成・状態確認

1git init
2git status

1-2. 変更を記録する流れ

1git add .
2git commit -m "作業内容"

1-3. 状態・履歴の確認

1git diff
2git log --oneline --graph --decorate

1-4. ブランチ操作

1git switch -c feature
2git switch main
3git branch -d feature

2. 過去バージョンに戻す(復旧コマンド)

2-1. ファイルだけ戻す

1git restore ファイル名

2-2. 直前のコミットを取り消す(作業内容は残す)

1git reset --soft HEAD^

2-3. コミットも変更も巻き戻す(破壊的)

1git reset --hard HEAD^

2-4. 特定のコミットに戻る

1git reset --hard <コミットID>

2-5. 履歴を壊さずに取り消す

1git revert <コミットID>

2-6. 過去の状態を参照

1git switch --detach <コミットID>

3. バックアップ(ローカル擬似リモート + ミラー)

Git の “リモート” は URL でなくてもよく、ローカルのフォルダをリモートとして登録できる。

Nov. 5, 2025

Git リベース インタラクティブ

学んだこと

Git のインタラクティブリベース(git rebase -i)は、変更をプッシュする前にコミット履歴をクリーンアップするための強力なツールです。コミットの並び替え、統合、編集、削除が可能です。

詳細

インタラクティブリベースは、コミットとコマンドのリストを含むエディタを開きます:

1git rebase -i HEAD~3

利用可能なコマンド:

  • pick - コミットをそのまま使用
  • reword - コミットメッセージを変更
  • edit - 修正のために停止
  • squash - 前のコミットと結合
  • fixup - squash と同様だがコミットメッセージを破棄
  • drop - コミットを削除

ワークフローの例:

pick abc1234 Add feature X
squash def5678 Fix typo in feature X
reword ghi9012 Update documentation

これにより、関連するコミットを結合し、コミットメッセージを改善することで、よりクリーンな履歴が作成されます。

参考資料