gitコマンドの使い方 ~ git status ~

git status コマンドの概要

git statusは以下の3つの情報が表示されます

  • 1.HEADが指すcommitとステージングエリア(staging-area)で差分のあるファイル
  • 2.作業ディレクトリ(working-directory)とステージングエリア(staging-area)の差分のあるファイル
  • 3.作業ディレクトリ(working-directory)に新規作成されたファイル

git status コマンドの使い方

git status [オプション]

git status オプション

オプションなし

git addやgit commit前に状態を確認するために実行することが多いです。

$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   file-B.txt

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   file-C.txt

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

コマンドの概要で説明した3つのエリアとの紐付けはそれぞれ次の通りです。

git statusの表示内容
Changes to be committed:1.HEADが指すcommitとステージングエリア(staging-area)で差分のあるファイル
Changes not staged for commit:2.作業ディレクトリ(working-directory)とステージングエリア(staging-area)の差分のあるファイル
Untracked files:3.作業ディレクトリ(working-directory)に新規作成されたファイル

-s

-sオプションは修正や追加したファイル数が多い場合に利用すると確認しやすくなります。

$ git status -s
M  file-B.txt
 M file-C.txt
?? file-AAA.txt

コマンドの概要で説明した3つのエリアとの紐付けはそれぞれ次の通りです。

git statusの表示内容
左にM1.HEADが指すcommitとステージングエリア(staging-area)で差分のあるファイル
右にM2.作業ディレクトリ(working-directory)とステージングエリア(staging-area)の差分のあるファイル
??3.作業ディレクトリ(working-directory)に新規作成されたファイル

git status の全てのオプションを確認する方法

以下のコマンドを実行するとブラウザでgit statusのヘルプページが表示される

git status --help

Gitコマンドの使い方一覧

Git設定git config ~Gitリポジトリの設定~
初期化git init ~ローカルリポジトリの構築~
ログ&設定値確認git log ~commitログの履歴確認~
git status ~作業ディレクトリとステージングエリアの更新状態確認~
git diff ~commitやファイルの差分確認~
git show ~commitの内容確認~
git remote ~リモート追跡ブランチのリモートリポジトリの設定確認~
git reflog ~HEADやブランチの移動履歴の確認と整理~
ステージングエリアの操作git add ~ステージングエリア(インデックス)にファイル追加~
git ls-files ~ステージングエリア(インデックス)のファイル一覧表示~
git rm ~ステージングエリア(インデックス)のファイル削除~
ローカルリポジトリの操作git commit ~blobやtreeなどをまとめたcommitを作成~
git merge ~指定したブランチの内容を取り込み新しいcommitを作成~
git rebase ~commitの履歴の整理~
git cherry-pic ~特定のcommitの変更内容だけを取り込む~
git cat-file ~リポジトリのオブジェクト(commit,tree,blob)の内容表示~
git revert ~指定したcommitを取り消すcommitを作成~
commitのエイリアスなどgit branch ~commitツリーの枝(ブランチ)を作成~
git tag ~リリースなどのタイミングで特定のcommitに名前を付ける~
git stash ~commitを作成する前の変更内容を一時保存~
commitの内容をステージングエリアや作業ディレクトリに反映git checkout ~commitをステージングエリアと作業ディレクトリに展開~
git reset ~HEADの位置やステージングエリアと作業ディレクトリの内容を変更~
リモートリポジトリとのやり取りgit clone ~リモートリポジトリからローカルリポジトリ作成~
git fetch ~リモートリポジトリのブランチをローカルリポジトリに反映~
git pull ~git fetchとgit mergeを同時に行う~
git push ~ローカルリポジトリのブランチをリモートリポジトリに反映~