🌍
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 | ステージングエリアに追加された状態 |
-
untracked
やmodified
なファイルは、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