●目次
Gitはソフトウェア開発において欠かせないバージョン管理システムです。
本ガイドでは、Gitの基本操作から応用コマンドまでを幅広く解説し、ローカルでの変更管理からGitHubなどのリモート連携、ブランチ戦略まで、実践的な使い方を丁寧に紹介します。
Gitの基本操作コマンド
Gitを使い始めたばかりの方でもすぐに使いこなせるように、最も基本的なGitコマンドから始めます。
git init
(リポジトリの初期化)
プロジェクトフォルダ内に .git
という隠しフォルダを作成し、Gitでのバージョン管理を開始します。
ターミナル
git init
- 使用例:新規プロジェクトを作成した直後に実行。
- 注意:クローン(
git clone
)した場合は不要。
git status
(状態確認)
現在のリポジトリの状態を確認します。どのファイルが変更されたか、どのファイルがステージングされているか、または未追跡のファイルがあるかどうかがわかります。
ターミナル
git status
- 使用例:コミット前の最終確認に最適。
git add
(変更をステージング)
ワークツリーの変更をステージに追加します。次の git commit
で保存される対象になります。
ターミナル
git add . # 全ての変更をステージ
git add index.html style.css # 特定ファイルのみ指定も可
- オプション:
.
:すべての変更を対象にする-A
:削除・追加・変更を含むすべてをステージ
git commit
(変更の記録)
ステージされた変更を履歴として保存。プロジェクトの状態スナップショットを残します。
ターミナル
git commit -m "コミット文章"
- オプション:
-m "メッセージ"
:メッセージを直接指定--amend
:前回のコミットに修正を加える
リモートリポジトリ連携(GitHubなど)
リモートリポジトリと連携することで、他の開発者とプロジェクトを共有したり、別のマシンから作業を継続することができます。
GitHubなどのサービスと連携することで、リモートでの作業が可能になります。
git remote add origin
(リモートリポジトリの登録)
ローカルリポジトリにリモート(例:GitHub)を追加します。
ターミナル
git remote add origin https://github.com/ユーザー名/リポジトリ名.git
origin
は慣例的なリモート名(別名も可)- URLにはSSH形式
git@github.com:〜.git
も可
git push
(リモートへアップロード)
リモートリポジトリへローカルの変更を送信します。
ターミナル
# 初回時
git push -u origin main
# 次回以降
git push origin main
- オプション:
-u
:このローカルブランチをデフォルトとして登録(次回以降git push
だけでOK)--force
:強制的に上書き(履歴改変に注意)
git pull
(リモートの変更を取得)
リモートリポジトリの変更をローカルリポジトリに取り込みます。他の開発者が行った変更をローカルに反映する際に使用します
ターミナル
git pull origin main
- オプション:
--rebase
:マージではなくリベースで統合
ブランチ操作コマンド
ブランチは、並行して複数の機能を開発する際に非常に有効です。メインのコードベースを保護しながら、新しい機能や修正を別々のブランチで作業することで、トラブルを防ぎ、クリーンなコードベースを維持できます。
git branch
(ブランチの確認・作成)
現在のブランチの確認、新しいブランチの作成、削除を行うことができます。
ターミナル
# ブランチ一覧表示
git branch
# 新規ブランチ作成
git branch new-feature
# ブランチ削除
git branch -D new-feature
- オプション:
-d
:マージ済みのブランチを削除-D
:マージ済みか否かを問わず削除(強制)
git checkout
(ブランチ切り替え)
別のブランチに切り替えるコマンドです。また、新しいブランチを作成して同時に切り替えることもできます。
ターミナル
# 既存ブランチへ切り替え
git checkout main
# 作成 & 同時に切り替え
git checkout -b feature-1
- ※:Git 2.23以降は
git switch
コマンドも使用可能。
git merge
(ブランチの統合)
ブランチを統合するコマンドです。通常、開発が完了したブランチをメインブランチに統合する際に使われます。
ターミナル
git merge 〇〇
- オプション:
--no-ff
:履歴を明示的に残す(マージコミットを生成)
応用的なGitコマンド
高度な操作を行うためのGitコマンドもいくつか存在します。
これらを活用することで、開発の効率をさらに向上させることができます。
git stash
(一時退避)
作業中の変更を一時的に退避させ、クリーンな状態に戻します。
後で変更を適用し直すことができるので、緊急のタスクが入ったときなどに便利です。
ターミナル
# 変更を一時保存
git stash
# 保存された変更を再適用
git stash apply
- 使用例:作業中に緊急の修正が必要になった際、一時的に変更を保存し、緊急タスクに集中できます。
git rebase
(履歴を整理)
リベースは、ブランチのベースを変更し、きれいな履歴を保つために使われます。
ブランチ間の変更を再整理する際に用いられますが、間違えると履歴が複雑になるため、慎重に使用します。
ターミナル
git rebase main
- 使用例:mainの最新履歴に自分のブランチを「追いつかせる」
- 注意:公開済みブランチでのrebaseは衝突・履歴改変のリスクあり
git log
(履歴確認)
リポジトリの履歴を表示するコマンドです。
各コミットの詳細や、誰がいつどのような変更を行ったのかを確認できます。
ターミナル
# 通常ログ
git log
# 1行表示でコンパクト
git log --oneline
git log --graph --all --decorate
- オプション:
--oneline
:1行ずつの簡潔な表示--graph
:ブランチの構造を可視化--author=名前
:特定の人のログだけ表示
まとめ
Gitのコマンドは種類が豊富ですが、基本を押さえておくだけで十分実用的です。さらにオプションの使い分けを知ることで、状況に応じた柔軟な対応が可能になります。
他のGitに関連した記事としては、GitとGitHubを利用してバージョン管理をしよう!【開発・編集】などを参照することで、Gitの基本から実際のプロジェクト運用までの流れを理解することができます。
習得ステップ
init → add → commit → push
の流れに慣れる- ブランチ運用と
merge / rebase
log / status / diff
で履歴と状態確認stash / reset / revert
で緊急対応