Gitコマンドまとめ
Gitはバージョン管理システムとして、多くの開発プロジェクトで利用されています。本記事では、Gitの基本的なコマンドを用途別に分類し、それぞれのコマンドとオプションを詳しく説明します。
目次
- リポジトリの操作
- 作業ツリーの確認と管理
- コミットの操作
- ブランチの操作
- リモートリポジトリの操作
- 一時的な変更の管理
-
高度な操作(補足)
7.1. タグの操作
7.2. サブモジュールの操作
- 便利なショートカット
- トラブルシューティング
リポジトリの操作
コマンド |
用途 |
主なオプション |
説明 |
git init |
リポジトリの初期化 |
なし |
新しいGitリポジトリを作成します。 |
git clone <URL> |
リポジトリの複製 |
--depth , --branch
|
リモートリポジトリをローカルにコピーします。特定のブランチをクローンする場合は--branch を指定。 |
git remote |
リモートリポジトリの管理 |
add , remove , set-url
|
リモートリポジトリの追加、削除、URLの変更を行います。 |
git clean |
不要ファイルの削除 |
-f , -d
|
ワーキングツリー内の未追跡ファイルを削除。-d で未追跡ディレクトリも削除可能。 |
使用例:
# 不要ファイルを削除
$ git clean -fd
作業ツリーの確認と管理
コマンド |
用途 |
主なオプション |
説明 |
git status |
作業ツリーの状態確認 |
-s |
簡略表示で状態を確認。 |
git add <file> |
ファイルのステージング |
-A , --all , -p
|
部分的な変更をステージングする場合は-p を指定。 |
git restore |
ワーキングツリーの変更取り消し |
--staged |
ステージング済みの変更を取り消す際に使用。 |
git mv <source> <dest> |
ファイルの移動・リネーム |
なし |
Gitの履歴に変更を残す形でファイルを移動またはリネームします。 |
コミットの操作
コマンド |
用途 |
主なオプション |
説明 |
git commit |
変更をコミット |
-m , --amend , --no-edit
|
新しいメッセージを指定せずに修正する場合は--no-edit 。 |
git revert <hash> |
特定のコミットを取り消す |
--no-commit |
指定したコミットを取り消し、コミットしない場合は--no-commit を使用。 |
ブランチの操作
コマンド |
用途 |
主なオプション |
説明 |
git branch |
ブランチの確認・作成・削除 |
-d , -D , -m
|
-d : 削除, -D : 強制削除, -m : ブランチ名の変更。 |
git switch |
ブランチの切り替え |
-c |
新しいブランチを作成しつつ切り替える場合に使用。 |
git merge |
ブランチの統合 |
--no-ff , --squash
|
非ファストフォワードでマージする場合は--no-ff を使用。 |
リモートリポジトリの操作
コマンド |
用途 |
主なオプション |
説明 |
git push |
リモートリポジトリへの変更の送信 |
-u , --force , --tags
|
-u : トラッキング設定, --force : 強制送信, --tags : タグも送信。 |
git pull |
リモートリポジトリから変更を取得 |
--rebase |
マージではなくリベースで取得する場合に使用。 |
一時的な変更の管理
コマンド |
用途 |
主なオプション |
説明 |
git stash |
一時的な変更の退避 |
pop , apply , list , clear
|
pop : 退避の適用&削除, apply : 適用のみ, clear : 全スタッシュの削除。 |
高度な操作(補足)
タグの操作
コマンド |
用途 |
主なオプション |
説明 |
git tag |
タグの作成・確認 |
-a , -d , -m
|
-a : 注釈付きタグ, -d : タグ削除, -m : メッセージ付きタグ。 |
git push origin <tag> |
タグのプッシュ |
なし |
リモートにタグを送信します。 |
サブモジュールの操作
コマンド |
用途 |
主なオプション |
説明 |
git submodule add <URL> |
サブモジュールの追加 |
なし |
他のリポジトリをサブモジュールとして追加します。 |
git submodule update |
サブモジュールの更新 |
--remote |
サブモジュールを最新バージョンに更新します。 |
便利なショートカット
コマンド |
用途 |
説明 |
git alias |
コマンドのエイリアス作成 |
長いコマンドを短縮して登録できます。 |
トラブルシューティング
コマンド |
用途 |
説明 |
git fsck |
リポジトリの整合性チェック |
リポジトリ内の破損を検出します。 |
git reflog |
ログの追跡 |
変更履歴を追跡し、復元できます。 |
注意事項
- 強制的な操作(
--force
や--amend
など)を行う場合は、慎重に実行してください。
- リモートリポジトリでの操作は、チームメンバーに影響を与える可能性があるため、事前に共有することを推奨します。
Gitコマンドの基本を押さえれば、効率的なバージョン管理が可能になります。ぜひ参考にしてみてください!