[保存版] これだけ覚えておけばOK!よく利用するGitコマンド16選をカテゴリ別に紹介!

Gitは最も人気のあるバージョン管理システムの1つであり、ソフトウェア開発において重要な役割を果たしています。

本投稿では、よく利用するGitコマンド16選をカテゴリ分けして紹介します。また、各コマンドの便利なオプションも合わせて紹介します。

\自身のスキルを向上するには技術書で!!/

月額¥980で技術書が読み放題!!

  • ビジネススキルとマインド向上したい!!
  • 決断や行動を先送りにしてしまう方!!

Kindle Unlimitedでは30日間無料体験実施中!登録はこちら!

便利なGitコマンド一覧

今回紹介するコマンドの一覧は下記のとおりです。

#コマンド説明
1git init新しいGitリポジトリを作成
2git configユーザ名やメールアドレスなどGitの設定を管理
3git addコミット対象のファイルを登録
4git commit変更されたファイルをコミット
5git logコミットした履歴を表示
6git branchブランチの作成、一覧表示、削除などの操作
7git checkoutブランチの切り替えやコミットの取り消し
8git mergeブランチのマージを実施
9git remoteリモートリポジトリの管理
10git cloneリモートリポジトリからローカルにクローン
11git pullリモートリポジトリの変更内容をローカルのリポジトリにマージ
12git pushローカルリポジトリの変更内容をリモート先のリポジトリにマージ
13git status変更されたファイルなどの状態を表示
14git diff変更内容の差分を表示
15git reset変更内容(コミット前)を取り消す
16git fetchリモートリポジトリからブランチの情報を取得し表示

リポジトリ作成と設定

git init

新しいGitリポジトリを作成する時に利用するコマンドとなります。

カレントディレクトリ内に.gitディレクトリが作成されます。(リポジトリを構成するディレクトリ)

基本的な構文は下記のとおりです

git init [ディレクトリ]

すでに存在するリポジトリを初期化したい場合もinitコマンドを利用します。

$ git init

もし、特定のディレクトリに作成したい場合は、対象のディレクトリを作成しそのディレクトリに移動した後、「git init」コマンドを実行します。

$ mkdir hoge
$ cd hoge
$ git init
Initialized empty Git repository in /xxxxx/hoge/.git/

Initialized empty Git repository in xxxx のようなメッセージが表示されれば成功です。

git config

Gitの設定(ユーザ名やメールアドレスなど)を管理するためのコマンドです。

基本的な構文は下記のとおりです。

git config [オプション] 設定名 値

グローバルな設定を行う

オプションに「–global」をつけて実行することで、グローバル設定が可能。

コマンド例説明
git config –global user.name “Hoge”グローバルなユーザ名を設定
git config –global user.email “sample@example.com”グローバルなメールアドレスを設定
git config –global core.editor “vim”グローバルなデフォルトのテキストエディタを設定する
git config –global color.ui “auto”グローバルなカラー表示を有効にする(通常はauto)

「–global」オプションをつけずに設定すると、リポジトリごとの設定となります。

また、「–system」オプションをつけることで、システム全体に対する設定をすることができます。

グローバルの設定は「~/.gitconfig」ファイルに保存されます。リポジトリごとの設定については「.git/.gitconfig」ファイルに保存されます。

代表的なオプションコマンド

コマンドオプション説明コマンド例
–get [設定名]指定した設定値を表示git config –get user.name
–list現在の設定をリスト形式で表示git config –list
–unset [設定名]指定した設定値を削除するgit config –unset key
–unset-allすべての設定値を削除git config –global –unset-all

コミット作成と履歴

git add

変更をステージングエリアに追加するコマンドが「git add」となります。

基本的な構文は下記のとおりです。

git add [オプション] [ファイル or ディレクトリ]

指定したファイルをステージングエリアに追加

git add index.html

指定したディレクトリ内のすべての変更されたファイルをステージングエリアに追加

git add images/

代表的なオプションコマンド

コマンドオプション説明コマンド例
-A または –all変更されたすべてのファイルをステージングエリアに追加git add -A
-u または –update変更された既存のファイルと削除されたファイルをステージングエリアに追加git add -u
-p または –patch一部変更したものを対話的に選択してステージングエリアに追加git add –patch index.html

git commit

ステージングエリアに追加された変更を新しいコミットとして確定させるために使用されます。このコマンドを使用することで、リポジトリのバージョン履歴に変更を追加することができます。

基本的な構文は下記のとおりです。

git commit [オプション]

代表的なオプションコマンド

コマンドオプション説明コマンド例
-a または –allステージングエリアに追加された変更だけでなく、ワーキングツリーの変更も自動的にコミットに含めるgit commit -a -m “Update README”
-mコミットに対してメッセージを追加するgit commit -m “Add new feature”
–amend直前のコミットを修正するgit commit –amend -m “Fix typo”

git log

リポジトリのコミット履歴を表示するために使用します。git logコマンドでは作者や日付、メッセージなどの変更内容が確認できます。

基本的な構文は下記のとおりです。

git log [オプション] [<オブジェクト名>...]

基本的な使い方は下記のとおりです。

$ git log

上記は、リポジトリのコミット履歴を最新のコミットから順に表示します。

代表的なオプションコマンド

コマンドオプション説明コマンド例
–onelineシンプルな形式でコミット履歴を表示git log –oneline
-n [数値]表示するコミット数を指定して表示git log -n 5
–author=[名前]指定した作成者のコミットのみを表示git log –author=”John Doe”
–since=[日付]指定した日付以降にコミットされたものを表示git log –since=”2022-01-01″

ブランチとマージ

git branch

リポジトリ内のブランチに関する情報を表示したり、新しいブランチの作成や削除などを行うために使用します。

基本的な構文は下記のとおりです。

git branch [オプション] [ブランチ名]

代表的なオプションコマンド

コマンドオプション説明コマンド例
-a または -allローカルブランチとリモートブランチを含めたすべてのブランチを表示git branch -a
-r または –remoteリモートブランチの一覧のみ表示git branch -r
-d または –delete [名前]指定したブランチを削除git branch -d t_branch
-v または –verbose各ブランチの最後のコミットメッセージとコミットハッシュを表示git branch -v

git checkout

ブランチの切り替えやコミットの復元、ファイルの復元など、作業ディレクトリやステージングエリアを変更するために使用されます。

基本的な構文は下記のとおりです。

git checkout [オプション] <参照>

指定したブランチに切り替える場合は下記のコマンドを実行します。

$ git checkout main123  # main123 ブランチに切り替え

指定したコミットに切り替える場合は下記のようにコミットのハッシュを指定して作業ディレクトリに復元します。

$ git checkout xxxxxxxx # コミットハッシュが xxxxxxxx のコミットに切り替え

代表的なオプションコマンド

コマンドオプション説明コマンド例
-b [ブランチ名]指定したブランチ名で新しいブランチを作成し、そのブランチに切り替えるgit checkout -b new-branch old_blanch
–detach [コミットハッシュ]指定したコミットの状態に作業ディレクトリを切り替えますが、HEAD はブランチではなくコミットを指すgit checkout –detach xxxxxxxx
— [ファイル名]指定したファイルを作業ディレクトリの最新のコミットの状態に復元git checkout — index.html

git merge

異なるブランチの変更内容を統合するために使用します。

基本的な構文は下記のとおりです。

git merge [オプション] <ブランチ名>

使用例としては下記のとおりです。

$ git merge feature_branch # feature_branch ブランチの変更を現在のブランチにマージ

代表的なオプションコマンド

コマンドオプション説明コマンド例
–no-ffマージコミットの作成を必須として、Fast-forwrdマージを行いません。常に新しいコミットを作成git merge –no-ff feature_branch
–squash [ブランチ名]マージするコミットを単一のコミットにまとめるgit merge –squash feature_branch
–abortマージを注視し、マージ前の状態に戻すgit merge –abort

リモートリポジトリ

git remote

リモートリポジトリの管理を行います。リモートリポジトリとの接続や追加、削除、リネームなどの操作を行うためのコマンドです。

基本的な構文は下記のとおりです。

git remote [オプション] <サブコマンド>

オプションなしで指定すると、地ポジ取りに登録されているリモートリポジトリの一覧を表示することができます。

代表的なオプションコマンド

コマンドオプション説明コマンド例
-v または –verboseリモートリポジトリのURLを表示git remote -v
add [リポジトリ名] [URL]指定したリポジトリ名でリモートリポジトリを追加git remote add abc123 https://github.com/user/repo.git
rename [現在のリポジトリ名] [新しいリポジトリ名]現在のリポジトリ名を新しいリポジトリ名で指定した名前に変更git remote rename abc123 456def
remove [リポジトリ名]指定したリポジトリ名のリモートリポジトリを削除git remote remove abc123

git clone

リモートリポジトリからローカルリポジトリを作成する際に使用するコマンドです。

基本的な構文は下記のとおりです。

git clone [オプション] <リポジトリURL> [ディレクトリ名]

リモートリポジトリの全てのコンテンツを取得して新しいローカルリポジトリを作成します。

git clone https://github.com/user/repo.git   # リポジトリをクローン

指定したディレクトリ名で新しいリポジトリを作成する場合は下記のように実行します。

$ git clone https://github.com/user/repo.git my_repo   # リポジトリを my_repo というディレクトリ名でクローン

代表的なオプションコマンド

コマンドオプション説明コマンド例
-b [ブランチ名] [リポジトリURL]指定したブランチの内容をクローンgit clone –depth 1 https://github.com/user/repo.git
–depth [数値] [リポジトリURL]指定した数値のコミット履歴のみをクローンgit clone -b main https://github.com/user/repo.git

git pull

リモートリポジトリから最新の変更を取得して、現在のブランチにマージするために使用されます。

基本的な構文は下記のとおりです。

git pull [オプション] [<リモートリポジトリ名>] [<リモートブランチ名>]

使用例としては下記のとおりです。

$ git pull   # 現在のブランチに関連付けられたリモートリポジトリから最新の変更を取得してマージ

代表的なオプションコマンド

コマンドオプション説明コマンド例
-r または –rebase取得した変更をマージする代わりにリベースして適用git pull –rebase
[リモートリポジトリ名]マージするリモートリポジトリ名を指定することで、
指定したリモートリポジトリから最新の変更を取得してマージ
git pull origin

git push

ローカルリポジトリの変更をリモートリポジトリにプッシュします。

基本的な構文は下記のとおりです。

git push [オプション] <リモートリポジトリ名> <ローカルブランチ名>:<リモートブランチ名>

使い方は下記のとおりです。

$ git push origin main:main   # ローカルの main ブランチの変更を origin リモートリポジトリの main ブランチに送信

代表的なオプションコマンド

コマンドオプション説明コマンド例
-f競合や変更があった場合でも強制的にプッシュを実施git push -f [リモートリポジトリ名] [ローカルブランチ名]:[リモートブランチ名]
–tags [リモートリポジトリ名]全てのタグをリモートリポジトリに送信git push –tags [リモートリポジトリ名]

git status

Git リポジトリの現在の状態を表示するコマンドです。
このコマンドを使用すると、変更されたファイル、追跡されていないファイル、ステージングされたファイル、コミットされていないファイルなど、リポジトリの状態を確認することができます。

基本的な構文は下記のとおりです。

git status [オプション]

実際に使ってみると下記のとおりです。

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   README.md

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   hello.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        .gitignore

この例では、README.md ファイルが変更されており、hello.txt ファイルが新規作成されています。また、.gitignore ファイルは未追跡ファイルです。

代表的なオプションコマンド

コマンドオプション説明コマンド例
-v詳細なステータスを表示git status -v
-s簡易ステータスを表示git status -s
-bブランチのステータスを表示git status -b
-cコミットのステータスを表示git status -c

git diff

Git リポジトリのワークツリーとインデックス、またはインデックスと指定したコミット、またはワークツリーと指定したコミットとの間での変更を表示するコマンドです。

基本的な構文は下記のとおりです。

git diff [オプション] [<commit> [<commit>]] [--] [<path>...]

ローカルリポジトリの最新コミットと作業ツリーの差分を表示する場合は下記のように実行します。

$ git diff HEAD

代表的なオプションコマンド

コマンドオプション説明コマンド例
–cachedインデックスと最新のコミットとの間の差分を表示git diff –cached
–stat変更されたファイルと変更行数の統計情報を表示git diff –stat
–color差分の表示にカラーを追加git diff –color

git reset

コミットやステージングエリア(インデックス)の状態を変更するために使用されます。

基本的な構文は下記のとおりです。

git reset [オプション] <コミット>

直前のコミットを取り消す場合は、下記のように実行します。

$ git reset HEAD~1

上記を実行することで、直前のコミットを取り消し、その変更をワーキングディレクトリに戻します。

代表的なオプションコマンド

コマンドオプション説明コマンド例
–soft指定したコミットまでの変更を取り消し、変更内容をステージングエリアに保持git reset –soft abc123
–mixed指定したコミットまでの変更を取り消し、変更内容をワーキングディレクトリに保持git reset –mixed abc123
–hard指定したコミットまでの変更を完全に取り消し、変更内容をワーキングディレクトリからステージングエリアまで削除git reset –hard abc123

git fetch

リモートリポジトリから最新の変更を取得するために使用されますが、現在の作業ディレクトリやブランチには影響を与えません。

git fetch は、リモートリポジトリの最新のコミットやブランチ情報を取得し、ローカルリポジトリに反映します。

基本的な構文は下記のとおりです。

git fetch [オプション] [<リモートリポジトリ名>]

特定のリモートリポジトリから最新の情報を取得する場合は下記のように実行します。

git fetch origin

代表的なオプションコマンド

コマンドオプション説明コマンド例
-vより詳細な情報を表示git fetch -v
–pruneリモートリポジトリから削除されたブランチやタグも削除git fetch –prune

最後に

このブログでは、Gitのさまざまなカテゴリにわたる16の便利なコマンドを紹介しました。

これらのコマンドを使えば、Gitを効果的に使用し、プロジェクトのバージョン管理を円滑に行うことができます。

タイトルとURLをコピーしました