Gitは、システム開発において欠かせないバージョン管理ツールのひとつです。
Linuxほどではないですが、Gitも操作のためのコマンドの種類が多くあります。
そのため、Git初心者やしばらくGitから離れていた人は、
Git操作に不安を感じることも少なくないと思います。
実際、システム開発業務にてLinux環境でGitを使用することになった場合、
基本的なコマンドだけでもわからないと作業ができません。

実際に筆者がシステム開発でよく使っているGitコマンドを中心に整理しています。
Git操作を学びたい方・不慣れで困っている方は、参考にしてみてください。
よく使うGitコマンドたち
リポジトリの状態を確認する
git status
作業ディレクトリ配下にあるファイルの変更状況を確認するコマンドです。
追加・変更・削除されたファイルやファイルがステージング済みかどうかなど、
各ファイルの状態を確認できます。
$ git status
On branch main
Changes not staged for commit:
modified: sample.txt
// ※出力内容は環境によって異なるため、一部のみ抜粋このようにファイルの状態が表示されます。

作業をはじめる前やコミット前などに、
作業ディレクトリにあるファイルの変更状況を確認したいときに使用します。
git log
コミット履歴を確認するコマンドです。
$ git log
commit a1b2c3d
Author: user <user@example.com>
Date: 2026-03-20
最新のコミットメッセージ
// ※出力内容は環境によって異なるため、一部のみ抜粋このようにコミットした人、コミット日時やコミットメッセージなど、コミット履歴が表示されます。

直近の修正内容を確認するときや、
バグが発生した際に原因の切り分けを行うときに使用します。
リモートリポジトリとの同期
git fetch
リモートリポジトリの最新の変更内容を取得するためのコマンドです。
最新の変更内容を取得するのみであり、ローカルのブランチには反映されません。
$ git fetch
リモートリポジトリの最新状態を確認したいときや、
マージや git pull を行う前に最新の変更内容を安全に取得したいときに使用します。
実際に作業ブランチに最新の変更反映をしたい場合は、
後述の git merge や git pull を使用します。
git pull
リモートリポジトリの最新の変更内容を取得し、作業ブランチに反映するコマンドです。
内部処理としては、git fetch と git merge をまとめて実行しています。
$ git pull
作業を始めるにあたって最新の状態を取得するときや、
リモートリポジトリの変更内容を作業ブランチに反映したいときに使用します。
git pull は、変更があった場合、自動的にマージが行われます。
そのため、リモートリポジトリと作業ブランチで同じ箇所に変更があった場合、
コンフリクトが発生することがあります。
git push
ローカルリポジトリでコミットした内容を、リモートリポジトリに反映するコマンドです。
$ git pushgit merge
別のブランチで行った変更内容を作業ブランチに反映したいときに使用します。
$ git merge <ブランチ名>
別のブランチで行った変更内容を作業ブランチに反映したいときに使用します。
git pullと同じく、作業ブランチにマージ元と同じ箇所に変更があった場合、
コンフリクトが発生することがあります。
ブランチを操作する
git branch
ブランチの一覧表示や作成・削除などを行うコマンドです。
ブランチの一覧表示
現在、存在するローカルブランチの一覧を確認できます。
$ git branch
main
* test
test2このようにブランチの一覧が表示されます。
現在いるブランチ名の横には * が付与されます。

ブランチの作成後や作業が終わって不要になったブランチの削除前などに、
ブランチを確認するために使用します。
ブランチの作成
ブランチを作成するコマンドです。
$ git branch <作成するブランチ名>test3 という名前でブランチを作成したいときは、以下のようにコマンドを実行します。
$ git branch test3
対応するアイテムごとにブランチを分けたいときに使用します。
ブランチの削除
ブランチを削除するコマンドです。
$ git branch -d <削除するブランチ名>test3 という名前のブランチを削除したいときは、以下のようにコマンドを実行します。
$ git branch -d test3
作業が終わったなど、
不要となったブランチを削除するときに使用します。
また、マージされていない変更ファイルがある場合、本コマンドでブランチは削除できません。
そのようなブランチを強制的に削除したい場合は、-D オプションを使います。
$ git branch -D <削除するブランチ名>git checkout
ブランチの切り替えやファイルの復元など、複数の操作を行うことができるコマンドです。
ブランチの切り替え
指定したブランチに切り替えます。
$ git checkout <切り替え先ブランチ名>なお、Git 2.23以降の環境でブランチの切り替えを行うときは、
本コマンドではなく git switch の使用が推奨されています。
ブランチを作成し、作成したブランチに切り替え
指定したブランチ名でブランチを作成し、そのブランチに切り替えます。
$ git checkout -b <作成するブランチ名>ブランチの切り替えと同じく本コマンドも、
Git 2.23以降の環境の場合は git switch の使用が推奨されています。
ファイルの復元・編集内容の取消
指定したファイルをローカルブランチの内容で復元します。
$ git checkout <ファイル名>主にファイルの変更が不要になった場合や、
ファイル操作を誤ってしまい作業前の状態に戻したい場合に使用します。
また、以下のようにファイル名の部分を . として実行した場合、
作業中の全ファイルを現在のブランチの最後のコミット状態に戻します。
$ git checkout .また、以下のようにファイル名の部分を . として実行した場合、
作業中の全ファイルを現在のブランチの最後のコミット状態に戻します。
なお、Git 2.23以降の環境でブランチの復元・編集内容の取消を行うときは、
本コマンドではなく git restore の使用が推奨されています。
git switch
Git2.23以降に導入されたブランチ切り替えに特化したコマンドです。
git checkout で紹介したブランチ操作(切り替え・ブランチ作成 + 切り替え)に対応しています。
ブランチの切り替え
指定したブランチに切り替えます。
$ git switch <ブランチ名>ブランチを作成し、作成したブランチに切り替え
指定したブランチ名でブランチを作成し、そのブランチに切り替えます。
$ git switch -c <ブランチ名>git restore
Git 2.23以降に導入されたファイルの復元に特化したコマンドです。
git checkout のファイル復元操作に対応しています。
ファイルの復元・編集内容の取消
指定したファイルを、現在のブランチの最新コミット時点の内容で復元します。
$ git restore <ファイル名>作業内容を確認・比較する
git diff
作業中やステージング済みの変更、コミット間における変更差分を確認するコマンドです。
$ git diff
diff --git a/sample.txt b/sample.txt
index e69de29..a1b2c3d 100644
--- a/sample.txt
+++ b/sample.txt
@@ -0,0 +1,2 @@
+追加行1
+追加行2このように、作業ブランチ内における全ファイルの変更差分が表示されます。

コミットや git push 前に修正内容を確認するとき、
ソースレビュー等で修正内容を確認するときなどに使用します。
上記は、オプションを指定せずに変更内容を簡単に表示する例ですが、
オプションを指定することで、状況に応じた変更内容の確認もできます。
それらについては、次の記事で詳しくまとめています。
【Git】git diffの使い方|差分確認と便利なオプションまとめ
変更内容を記録する
git add
作業ブランチで変更したファイルを、ステージングエリア(インデックス)に追加するコマンドです。
$ git add <ファイル名>ステージングエリアに追加されたファイルは、次のコミット対象となります。
また、以下のようにディレクトリ名を指定することで、
対象のディレクトリ配下の全ファイルをまとめてステージングエリアに追加することもできます。
$ git add <ディレクトリ名>git config
Git の各種設定を行うコマンドです。
// ユーザー名の設定
$ git config user.name "Tanaka Taro"
// メールアドレスの設定
$ git config user.email "tanaka@example.com"コミットを行う際は、事前準備としてユーザー名やメールアドレスの設定を行います。
ユーザー名やメールアドレスが設定されているかは、以下のコマンドで確認できます。
$ git config -lユーザー名やメールアドレスが未設定なままでもコミットできるケースもあります。
その場合、OSのユーザー名やホスト名から推測したユーザー情報でコミットが行われるため、
後になってそのコミットで問題が見つかった際に確認先がわからなくなるなどの問題に繋がります
git commit
ステージングエリアに追加されたファイルを、リポジトリに記録するコマンドです。
作業内容のコミット
ステージングされた変更内容をコミットします。
$ git commitこのように、オプションなしでコマンドを実行した場合、テキストエディタが起動します。
ここでコミットメッセージを入力し、保存・終了することでコミットが完了します。
また、以下のように -m オプションをつけることで、
テキストエディタを起動せずにコミットメッセージを指定してコミットできます。
$ git commit -m "コミット内容の説明"直前のコミット内容を修正
直前のコミット内容を修正したい場合は、–amend をつけます。
$ git commit --amend通常のコミット時と同じく、テキストエディタが起動するので、
必要に応じてコミットメッセージの内容を編集し、保存・終了することで直前のコミット内容が更新されます。
また、次のように –no-edit とつけることで、コミット後のコミットメッセージ編集をスキップできます。
$ git commit --amend --no-edit直前のコミットのAuthor(作者情報)を修正
直前のコミットの作者情報を修正したい場合は、以下のように指定します。
$ git commit --amend --author="Tanaka Taro <tanaka@example.com>"応用的な操作
git cherry-pick
別のブランチで実施した特定のコミットを、現在のブランチに適用するコマンドです。
必要なコミットだけを選択的に取り込みたい場合に使用します。
特定のコミットを適用し、コミットする
指定したコミットの変更内容を現在のブランチに適用し、新しいコミットとしてリポジトリに記録します。
$ git cherry-pick <コミットSHA値>git merge と同じく、適用内容次第で cherry-pick 実行時にコンフリクトが発生する場合があります。
特定のコミットを適用のみ行う
指定したコミットの変更内容を現在のブランチに適用します。
このとき、適用後にコミットは行われません。
$ git cherry-pick -n <コミットSHA値>指定したコミットの適用後、そのファイルはステージングエリアに追加された状態となります。
複数の連続したコミットを適用する
次のようにコミットを範囲で指定することで、複数の連続したコミットをまとめて適用します。
$ git cherry-pick <開始コミットSHA値>^..<終了コミットSHA値>
作業用ブランチで実装後、
ソースレビューの指摘修正や動作確認中に見つけたバグの修正などで、
複数のコミットを現在のブランチに取り込むときに使用します。
システム開発でよくあるGit操作の流れ
システム開発では、運用ルールに応じて作業を行います。
一例ですが、筆者は以下のような流れでGit操作をしています。
- 最新状態を取得(git pull)
これから行う修正内容以外の変更がない状態で作業を開始するため - 作業用ブランチを作成
メンバごと・作業内容ごとに変更を分離するため - ファイルを修正(いわゆる実装工程)
- 変更ファイルをステージング(git add xxx)
- コミット前にgit config -l でユーザー名やメールアドレスの設定を確認
※ユーザー名やメールアドレスが未設定・誤っている場合は、設定を行う - 変更ファイルを作業用ブランチへコミット(git commit)
- git cherry-pickで作業用ブランチでコミットした内容をリモートリポジトリのブランチに適用
- リモートへ反映(git push)
実務でよくあるトラブルと対処方法
実務では、以下のようなトラブルが起こることがあります。
- マージ時のコンフリクト
- push忘れによる変更の未反映
- 誤った内容でコミット
マージ時のコンフリクト(git pull / merge)
他メンバーと同じ箇所を修正している場合、最新状態を取得する際などにコンフリクトが発生します。
ファイル内のコンフリクトが発生した箇所に、以下のようなマーカーが表示されます。
<<<<<<< HEAD
現在の変更内容
=======
他ブランチの変更内容
>>>>>>> branch-nameコンフリクトが起こった場合、
これらの内容を確認しながら手動で修正して不要なマーカーを削除する必要があります。
対処方法:
- 該当ファイルを手動で確認・修正し、コンフリクトを解消する
- コンフリクト解消後にgit add → git commit で解消内容をコミットする
git pushし忘れによる変更の未反映
ローカルでコミットしただけでは、リモートリポジトリには反映されません。
そのため、「修正したはずなのに、動作確認しても問題が改善されていない」のような事態となります。
意外と起きがちなので、git push まで実行したことの確認を忘れないようにしましょう。
対処方法:
- git push を実行する
誤った内容でコミット
誤った修正内容でコミットしてしまうこともあると思います。
それが直前のコミットの場合は、正しい修正内容でファイルを更新して
git commit –amendでコミットを修正します。
対処方法:
- git commit –amend で直前のコミットを修正する
まとめ
Gitはコマンドが多く、気をつけるポイントも多くありますが、
実務で使用する流れは、ある程度決まっています
- コマンドの役割や目的を理解する
- 実務での操作の流れを押さえる
- トラブル時の対処方法を知っておく

Git操作に苦手意識を持っている人も少なくありませんが、
これらを意識しておくことで、実務でも基本的な作業は対応できるようになります!
また、実際のシステム開発では、Linux環境やWSL環境でGit操作を行うことも多くあります。
Linuxの基本操作に自信のない方は、以下の記事もあわせて参考にしてみてください。
【Linux初心者向け】よく使う基本コマンド一覧|最初に覚えたい操作まとめ


コメント