GitHubのコマンド集|Git・GitHub CLIでよく使う操作を目的別に整理

「GitHubのコマンド集|Git・GitHub CLIでよく使う操作を目的別に整理」の内容を表す技術イラスト

GitHubを使った開発では、ブラウザから操作するだけでなく、ターミナルからGitやGitHub CLIを操作できるようになると作業効率が大きく向上します。

ただし、最初は

  • git status
  • git add
  • git commit
  • git push
  • git log
  • git diff
  • gh repo create

など、多くのコマンドが出てくるため混乱しやすいところです。

そこでこの記事では、Git・GitHubでよく使うコマンドを単純な一覧ではなく、

「何をしたいときに、どのコマンドを使うか」

という観点から整理します。


目次

GitとGitHub CLIの違い

最初に理解しておきたいのが、gitとghの違いです。

git

gitは、ローカルPC上のソースコードやファイルの変更履歴を管理するためのバージョン管理システムです。

たとえば、

git status
git add .
git commit -m "Update README"
git log

などを使用します。

gh

ghはGitHubが提供しているGitHub CLIです。

GitHub上のリポジトリ作成、Issue、Pull Requestなどをターミナルから操作できます。

たとえば、

gh auth status
gh repo create
gh repo view

などです。

ざっくり整理すると、

git
↓
ローカルのGitリポジトリを操作

gh
↓
GitHubというWebサービスを操作

という違いがあります。


Gitがインストールされているか確認する

git --version

例:

git version 2.x.x

バージョンが表示されればGitを利用できます。


GitHub CLIがインストールされているか確認する

gh --version

GitHub CLIがインストールされていれば、バージョン情報が表示されます。


GitHub CLIのログイン状態を確認する

gh auth status

現在GitHubにログインしているアカウントや認証状態を確認できます。

GitHub CLIを使う場合には、最初に確認しておくと便利です。

ログインしていない場合は、

gh auth login

を使用します。


Gitリポジトリを作成する

現在のフォルダをGitで管理したい場合は、

git init

を実行します。

実行すると、フォルダ内部に.gitディレクトリが作成されます。

この.gitの中にコミット履歴やブランチなどのGit管理情報が保存されます。


現在の状態を確認する

Gitを使っているときに最も頻繁に使用するコマンドの一つです。

git status

確認できるものには、

  • 変更されたファイル
  • 新しく追加されたファイル
  • 削除されたファイル
  • ステージング済みファイル
  • 未追跡ファイル
  • 現在のブランチ

などがあります。

何をすればよいか分からなくなった場合は、まず

git status

を実行するのが基本です。

短縮表示したい場合は、

git status -s

も便利です。


ファイルをステージングする

特定のファイルだけ追加する場合は、

git add README.md

すべての変更をステージングする場合は、

git add .

を使用します。

Gitでは基本的に、

ファイルを変更
↓
git add
↓
git commit

という流れになります。


コミットする

ステージングした変更を履歴として保存します。

git commit -m "Update README"

-mの後ろにコミットメッセージを指定します。

例:

git commit -m "Initial commit"
git commit -m "Fix calculation logic"
git commit -m "Add README"

コミットは単なる保存ではなく、

「この時点の変更内容を履歴として確定する」

操作です。


コミット履歴を確認する

git log

コミット履歴が表示されます。

例:

commit d3b0f23164e1de030d7b3ff0c7ac0f4900e57861
Author: example <example@example.com>
Date:   Sun Aug 23 06:36:32 2026 +0900

    Initial commit

表示される主な情報は、

  • コミットID
  • Author
  • Date
  • コミットメッセージ

です。


git logから抜ける方法

git logを実行すると、環境によってはページャー表示になります。

画面下部に

:

などが表示され、通常のコマンド入力に戻れないことがあります。

この場合は、

q

を押します。

quitのqと覚えておくと分かりやすいです。


コミット履歴を1行で表示する

通常のgit logは情報量が多いため、履歴だけ確認したい場合は、

git log --oneline

が便利です。

例:

d3b0f23 Initial commit
31fcf8a Add README
7291a34 Fix calculation logic

日常的な履歴確認では、こちらの方が見やすい場合があります。


ブランチ構造を含めて履歴を見る

git log --oneline --graph --decorate --all

複数ブランチを使っている場合に非常に便利です。

  • --oneline:1コミット1行
  • --graph:ブランチをグラフ表示
  • --decorate:ブランチ名やタグを表示
  • --all:すべての参照を表示

Gitの履歴構造を視覚的に確認できます。


特定のコミット内容を確認する

git show <commit-id>

例:

git show d3b0f23

そのコミットで、

  • どのファイルが変更されたか
  • どの行が追加されたか
  • どの行が削除されたか

を確認できます。

直前のコミットを見る場合は、

git show HEAD

でも確認できます。


現在の変更内容を確認する

git diff

まだgit addしていない変更内容を確認できます。

たとえば、

- 20本のタイトルを生成
+ 10本のタイトルを生成

のように、変更前と変更後を比較できます。


ステージング済みの変更を見る

git addした後の内容を確認したい場合は、

git diff --staged

または、

git diff --cached

を使用します。

流れとしては、

git diff
git add .
git diff --staged
git commit -m "Update files"

とすると、安全にコミットできます。


2つのコミットを比較する

git diff <commit1> <commit2>

例:

git diff d3b0f23 31fcf8a

2つの時点の違いを確認できます。


直前のコミットとの差分を見る

git diff HEAD^ HEAD

直前のコミットによって何が変化したのか確認できます。

変更履歴を調査するときに便利です。


変更されたファイル名だけ見る

git diff --name-only

詳細なコード差分ではなく、変更ファイルだけ確認できます。


変更されたファイルと変更種類を見る

git diff --name-status

例:

M   main.py
A   README.md
D   old_file.py

主な記号は、

M = Modified
A = Added
D = Deleted

です。


ブランチを確認する

git branch

現在のブランチには*が付きます。

例:

* main
  develop
  feature-test

ブランチ名をmainへ変更する

git branch -M main

初期ブランチ名をmainに統一するときによく使います。


新しいブランチを作成する

git switch -c feature-test

feature-testという新しいブランチを作成し、そのブランチへ移動します。


ブランチを切り替える

git switch main

従来は、

git checkout main

も使われていましたが、単純なブランチ切り替えではgit switchの方が目的が明確です。


ブランチをマージする

たとえばfeature-testをmainへ統合する場合は、

git switch main
git merge feature-test

とします。


リモートリポジトリを確認する

git remote -v

例:

origin  https://github.com/example/test.git (fetch)
origin  https://github.com/example/test.git (push)

GitHubへの接続先が正しいか確認できます。

GitHub関連のトラブル調査では非常によく使います。


リモートリポジトリを追加する

git remote add origin https://github.com/USER/REPOSITORY.git

originはリモートリポジトリにつける名前です。

一般的にはGitHub上のメインリポジトリをoriginとします。


originを削除する

git remote remove origin

古いGitHubリポジトリが登録されている場合などに使用します。

たとえば、

git remote -v

で確認して、

git remote remove origin

で削除し、新しいリポジトリを登録できます。


originのURLを変更する

削除して追加し直さなくても、

git remote set-url origin https://github.com/USER/NEW-REPOSITORY.git

で変更できます。

URLだけ間違っている場合はこちらの方が簡単です。


GitHubへpushする

git push origin main

ローカルのmainブランチをGitHub上のoriginへ送信します。


初回pushで上流ブランチを設定する

git push -u origin main

-uによって、

ローカル main
↓
origin/main

の追跡関係を設定できます。

一度設定すれば、その後は単純に、

git push

だけで済むことが多くなります。


GitHubから最新状態を取得する

git pull

リモート側の変更を取得し、現在のブランチへ統合します。


リモートの情報だけ取得する

git fetch

git pullと異なり、自動的に現在のブランチへ統合しません。

まずGitHub側の状態だけ確認したい場合に便利です。

考え方としては、

git fetch
= 取得

git pull
= 取得 + 統合

です。


GitHubリポジトリをPCへコピーする

通常のGitでは、

git clone https://github.com/USER/REPOSITORY.git

を使用します。

GitHub CLIでは、

gh repo clone USER/REPOSITORY

でもクローンできます。


GitHub CLIで現在の認証状態を確認する

gh auth status

GitHub CLIを使う前に、

gh auth status

を実行しておくと、アカウント違いや認証エラーを発見しやすくなります。


GitHub CLIで新しいリポジトリを作る

対話形式の場合は、

gh repo create

です。

質問に答えながらリポジトリを作成できます。


現在のフォルダからGitHubリポジトリを作る

非常に便利なのが、

gh repo create my-project --public --source=. --remote=origin --push

です。

意味は、

my-project
GitHubリポジトリ名

--public
公開リポジトリ

--source=.
現在のフォルダを使用

--remote=origin
remote名をoriginにする

--push
ローカルコミットをGitHubへpush

です。

すでにローカルで開発しているプロジェクトをGitHubへ登録するときに使いやすいコマンドです。

非公開にする場合は、

gh repo create my-project --private --source=. --remote=origin --push

とします。


GitHubリポジトリをブラウザで開く

gh repo view --web

現在のGitリポジトリに対応するGitHubページをブラウザで開けます。

URLを探す必要がないため便利です。


GitHub上のリポジトリ情報を見る

gh repo view

ターミナル上でリポジトリ情報を確認できます。


GitHubのPull Requestを作る

gh pr create

対話形式でPull Requestを作成できます。

コミット情報を利用したい場合は、

gh pr create --fill

も便利です。


ファイルを元に戻す

まだコミットしていないファイルの変更を破棄する場合は、

git restore filename

を使用できます。

例:

git restore README.md

ただし、未コミットの変更が消えるため注意が必要です。


git addを取り消す

間違えてステージングした場合は、

git restore --staged filename

を使用できます。

例:

git restore --staged README.md

ファイルそのものの編集内容は残したまま、ステージングだけ解除できます。


一時的に変更を退避する

作業途中の変更を一時的に保存したい場合は、

git stash

を使用します。

退避した内容を戻す場合は、

git stash pop

です。

退避一覧を見る場合は、

git stash list

です。


GitHub上に存在するファイルを確認する

リモートブランチのファイル一覧を確認したい場合は、

git ls-tree --name-only origin/main

を使用できます。

これは、

origin/mainというGitツリーに登録されているファイルを表示する

コマンドです。

たとえば、

.gitignore
README.md
main.py
requirements.txt

のように表示されます。


Gitのユーザー名を確認する

git config --global user.name

Gitのメールアドレスを確認する

git config --global user.email

Gitのユーザー名を設定する

git config --global user.name "Your Name"

Gitのメールアドレスを設定する

git config --global user.email "your@example.com"

コミットのAuthor情報として使用されるため、GitHub運用開始時に確認しておくとよいでしょう。


現在のGit設定を確認する

git config --list

大量に表示される場合がありますが、

  • user.name
  • user.email
  • remote
  • credential
  • branch

などの設定確認に使えます。


リモートブランチを含めて確認する

git branch -a

ローカルだけなら、

git branch

リモートも含めたい場合は、

git branch -a

と覚えておくと便利です。


GitHubの最新状態との差を見る

まず、

git fetch

を実行します。

その後、

git diff HEAD origin/main

とすると、

現在のローカル
↕
GitHub上の最新main

の差を確認できます。


ローカルだけに存在するコミットを見る

git log origin/main..HEAD

GitHubへまだpushしていないコミットを調査できます。

短縮表示なら、

git log --oneline origin/main..HEAD

が便利です。


よく使う基本ワークフロー

日常的な変更であれば、まず次の流れを覚えるだけでもかなり使えます。

git status
git diff
git add .
git diff --staged
git commit -m "Update files"
git push

意味は、

状態確認
↓
変更内容確認
↓
ステージング
↓
コミット予定内容確認
↓
コミット
↓
GitHubへ送信

です。


新しいローカルプロジェクトをGitHubへ登録する流れ

既存フォルダを初めてGitHubへ登録する場合は、次のような流れになります。

git init
git add .
git commit -m "Initial commit"
git branch -M main
gh auth status
gh repo create my-project --public --source=. --remote=origin --push

GitHub CLIを使えば、ブラウザでリポジトリを作ってURLをコピーし、

git remote add origin ...
git push ...

とする部分をかなり省略できます。


originを間違えた場合

まず確認します。

git remote -v

不要なoriginを削除します。

git remote remove origin

その後、新しいGitHubリポジトリを作成するなら、

gh repo create my-project --public --source=. --remote=origin --push

とできます。

URLだけ変更したい場合は、

git remote set-url origin https://github.com/USER/REPOSITORY.git

でも構いません。


「何が変更されたのか」を調べる基本セット

Gitの大きな価値は、単にGitHubへファイルを保存することではありません。

過去に何を変更したのか追跡できること

にあります。

まず履歴を見るには、

git log --oneline

特定のコミットを見るには、

git show <commit-id>

現在の変更を見るには、

git diff

2つのコミットを比較するには、

git diff <commit1> <commit2>

というように使い分けます。


git status・git log・git diffの役割

特に重要な3つは、

git status
git log
git diff

です。

役割を整理すると、

コマンド主な役割
git status現在どうなっているか
git log過去に何を記録したか
git diff何が変わったか
git show特定コミットで何が変わったか

この4つを使えるだけでも、Gitのトラブル調査能力は大きく上がります。


注意して使うべきコマンド

Gitには変更を強制的に破棄できるコマンドがあります。

代表例が、

git reset --hard

です。

これは状況によって未コミットの変更を失う可能性があります。

また、

git restore filename

もファイルの未コミット変更を破棄します。

意味が分からない状態で、

git reset --hard
git clean -fd

などを実行するのは避けた方が安全です。

Gitで問題が発生した場合は、いきなり修正コマンドを実行するのではなく、

git status
git log --oneline
git remote -v
git diff

などで現在の状態を確認してから対処することが重要です。


よく使うコマンド早見表

やりたいことコマンド
Gitのバージョン確認git --version
GitHub CLI確認gh --version
GitHubログイン状態確認gh auth status
Git初期化git init
状態確認git status
全ファイル追加git add .
コミットgit commit -m "message"
履歴確認git log
短い履歴git log --oneline
詳細な履歴グラフgit log --oneline --graph --decorate --all
特定コミット確認git show <commit>
未ステージ差分git diff
ステージ済み差分git diff --staged
ブランチ確認git branch
mainへ変更git branch -M main
ブランチ切替git switch main
新規ブランチgit switch -c feature
remote確認git remote -v
remote追加git remote add origin URL
origin削除git remote remove origin
origin変更git remote set-url origin URL
初回pushgit push -u origin main
pushgit push
pullgit pull
リモート情報取得git fetch
clonegit clone URL
ステージング解除git restore --staged FILE
ファイル変更破棄git restore FILE
作業一時退避git stash
退避を戻すgit stash pop
GitHubリポジトリ作成gh repo create
現在フォルダから作成gh repo create NAME --public --source=. --remote=origin --push
GitHubをブラウザで開くgh repo view --web

まず覚えるべき10個

すべてを一度に覚える必要はありません。

最初は次の10個で十分です。

git status
git add .
git commit -m "message"
git log --oneline
git diff
git diff --staged
git remote -v
git pull
git push
gh repo create

特に、

git status
↓
git diff
↓
git add
↓
git commit
↓
git push

という流れを理解すると、Git操作の全体像がかなり見えやすくなります。


まとめ

GitHubを使い始めると多数のコマンドが登場しますが、すべてを暗記する必要はありません。

重要なのは、

「今の状態を確認する」

git status

「変更内容を確認する」

git diff

「変更を履歴として残す」

git add .
git commit

「履歴を調べる」

git log
git show

「GitHubと同期する」

git pull
git push

という役割の違いを理解することです。

さらにGitHub CLIを利用すれば、

gh repo create
gh repo view
gh pr create

などによって、GitHub上の操作までターミナルから実行できます。

単にコマンドを覚えるのではなく、

作業する
↓
差分を確認する
↓
履歴として保存する
↓
GitHubへ送る
↓
必要になったら過去の履歴を調べる

というGitの基本的な流れを理解しておくと、開発規模が大きくなっても同じ考え方を利用できます。


参考になったらシェアしてください
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

機械設計・油圧・CAD・Python・AIなど、ものづくりに関わる技術を扱っています。工学知識を整理・構造化し、設計や自動化に再利用できる形へ変えていくことを目指しています。

目次