🌍

Git作業がはかどる!コピペ用コマンド集

に公開

余談がメインの話かもしれません。

この記事を書く理由(余談)

Zennの主な読者層であるWebエンジニアの方々にはあまり馴染みがないかもしれませんが、大阪のSI業界では、今でもSubversion(SVN)が現役の主力ツールとして使われています。

そう言うと「既存システムの保守現場だけでしょう?」と思われるかもしれませんが、2025年の新規開発案件で私はSVNを使っていました。使い心地は良かったですね。というより、そもそもバージョン管理システム自体が導入されていない現場も珍しくないので、SVNがあるだけで天国のように感じました。

もちろん、そういった状況は「古い現場」に行かなければある程度は回避できますし、そういう文化圏なのでそれが悪いとは思いません。独自のサーバーや管理方法があるので、Gitの知識がなくてもやっていけるのです(使っていいけど、CUI操作禁止の例もありました。)

私は文章の管理のために、(扱いは下手でも)日常的にGitを使っていますが、正直なところ、コマンドは定期的に忘れてしまいます。 今日はちょうどその忘れているタイミングで、人に教える機会がありました。 そんな場面でも慌てずに対応できるように、今さらながら自分用の記事を残しておこうと思います。

設定関連

Git の設定値の一覧を確認

git config --list

Git のユーザ名を設定

git config --global user.name 設定する名前

メールアドレスの設定

git config --global user.email  "メールアドレス"

設定項目(ユーザ名)の確認

git config user.name

設定を削除する場合

git config --global --unset 設定項目

エディタを Visual Studio Code に設定する

git config --global core.editor "code --wait"

エディタを Vim に設定する

git config --global core.editor "vim"

リポジトリ操作・ファイル操作

カレントディレクトリにローカルリポジトリを作成

git init

ローカルリポジトリの状態を確認

git status

Git で追跡されていないファイルも含めて状態を確認

git status -u

カレントディレクトリ配下のすべてのディレクトリを追加

git add .

ワークツリーからステージングエリアに登録(ファイル指定)

git add ファイル名

カレントディレクトリにサブディレクトリがある場合

git add subDirectory  # ファイル名を「subDirectory」とした場合

「subDirectory」配下のファイルを指定する場合

git add subDirectory/ファイル名.拡張子

Git の管理下にあるファイルを削除する

git rm ファイル名.拡張子
git commit

Git の管理化にあるディレクトリを削除する

git rm -r subDirectory
git commit

差分とリセット

ワーキングツリーとステージングエリアの差分を確認

git diff

ステージングエリアと Git ディレクトリの差分を確認

git diff --cached

ステージングエリアへの登録を取り消す

git reset HEAD ファイル名.拡張子

ワーキングツリーの変更を取り消す(前回のコミットの状態にする)

git checkout -- ファイル名.拡張子

コミット操作

コミットを実行する

git commit

コミットメッセージをその場で書く

git commit -m "コミットメッセージ"

追加とコミットを一括で行う

git commit -am "コミットメッセージ"

ファイルを指定してコミット

git commit path/to/file -m "特定ファイルの変更をコミット"

前回のコミットを修正

git commit --amend

空のコミットを作る(履歴用など)

git commit --allow-empty -m "空コミット"

コミット履歴

コミットの履歴を確認する

git log

差分付きでコミット履歴を確認する

git log -p

ファイルの変更履歴を確認する

git log ファイル名

リモート操作

リモートリポジトリを登録する

git remote add origin https://github.com/ユーザ名/リポジトリ名.git

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

git remote -v

リモートリポジトリから取得(フェッチ)

git fetch

リモートの変更をローカルにマージ(プル)

git pull

ローカルの変更をリモートに送信(プッシュ)

git push origin ブランチ名

ブランチ操作

ブランチを作成する

git branch 新しいブランチ名

ブランチを切り替える

git checkout ブランチ名

新しいブランチを作ってそのまま切り替える

git checkout -b 新しいブランチ名

.gitignore設定

.gitignore を設定して無視するファイルを指定

# 例: .gitignore ファイルの中身
node_modules/
.DS_Store
*.log

タグ操作

タグをつける(バージョン管理などに便利)

git tag v1.0.0

タグ付きでリモートにプッシュする

git push origin v1.0.0

シェル基本操作

コマンドラインからエディタを起動する場合

code .

1つ上の階層のディレクトリに移動する

cd ../

絶対パスでディレクトリを作成する場合(例)

mkdir /c/Users/my-pc/study/git

git status のコードの見方について

よく見かけるものを抜粋します

git status の表示内容 内容の解説
On branch master 現在作業しているブランチ名を表示(ここでは master
No commits yet リポジトリにまだ1つもコミットされていない状態
Untracked files Git にまだ管理されていない新規ファイル(git add されていない)
Changes to be committed ステージングエリアに追加されたファイル(次のコミットに含まれる)
Changes not staged for commit ファイルが変更されたが、まだステージングされていない状態
nothing to commit, working tree clean すべての変更がコミット済みで、作業ディレクトリもクリーンな状態

ローカルリポジトリの用語

1. ワークツリー(作業ディレクトリ)

作業中のファイル群がある場所。

状態 意味
unmodified 変更されていない
modified 変更された状態
untracked Git に未登録の新規ファイル
  • ファイルの状態変化の例:
  • untracked → staged → committed → unmodified → modified → staged ... のように循環します。

2. ステージングエリア(インデックス)

コミット予定の変更を一時的に登録しておく場所。

状態 意味
staged ステージングエリアに追加された状態
  • untrackedmodified なファイルは、git add により staged になる。
  • ステージングは コミット直前の準備段階

3. Git ディレクトリ(.git)

バージョン管理に必要なすべてのデータ(履歴や設定)が保存される場所。

  • git commit を実行すると、変更がローカルリポジトリに記録される。
  • コミットされた内容は変更や削除が難しく、履歴として残り続ける。
  • コミット後、対象ファイルの状態は staged → committed → unmodified へと変化する。

ディレクトリの用語集

ディレクトリの名称

名称 意味
ルートディレクトリ 一番階層が高いディレクトリ(起点)
ホームディレクトリ Git Bash やターミナル起動時の初期ディレクトリ
カレントディレクトリ 現在操作している作業ディレクトリ

パスについて

名称 意味
ファイルパス ファイルの位置を表すパス
ディレクトリパス ディレクトリの位置を表すパス

ファイルやディレクトリの位置を表す文字列のことを「パス」と呼びます。

特殊なディレクトリパス

名称 指定方法
ルートディレクトリ /
ホームディレクトリ ~
カレントディレクトリ .
1つ上のディレクトリ ..

絶対パスと相対パス

名称 意味
絶対パス ルートディレクトリ / を起点としたパス
相対パス 現在のカレントディレクトリを起点としたパス

📌 例:

  • カレントディレクトリが test-pc の場合、study に移動するには:
    • 絶対パス:/Users/username/test-pc/study
    • 相対パス:cd study

ディレクトリに関わるコマンド

コマンド コマンドの説明
mkdir 新しいディレクトリを作成
ls ディレクトリ内のファイル一覧を表示
cd カレントディレクトリを移動
pwd カレントディレクトリの絶対パスを表示
cd ~ ホームディレクトリに移動
cd ../ 1つ上の階層へ移動
git --version Git のバージョンを確認
git config Git の設定を行う

オプション(コマンドに追加して使う)

オプション 説明
-a 隠しファイルも含めてすべて表示
--global 全体設定として .gitconfig に保存
--list 設定などをリストで表示



以上になります。
ありがとうございました。

Discussion