【Git】Gitコマンドチートシート‐シチュエーション編 - j-komatsu/myCheatSheet GitHub Wiki
Gitの基本操作や応用技術をまとめ、バージョン管理やコラボレーションを効率的に行う。
各フローごとに、シチュエーションや具体例を含めたガイドを提供。
- ユーザー作成・設定
- リポジトリ作成・編集
- リポジトリからクローンしてくる
-
ローカルで編集、コミット、プッシュ、プル
- コミットログの操作を含む
- ブランチ操作
- その他
- 初めてGitをインストールして設定を行う。
- 複数のプロジェクトで異なるユーザー情報を使いたい。
-
Gitのインストール確認
(Gitが正しくインストールされているかを確認する)git --version
-
ユーザー名とメールアドレスの設定(グローバル)
(全リポジトリで使用するユーザー情報を設定する)git config --global user.name "Your Name" git config --global user.email "[email protected]"
-
現在の設定確認
(設定済みのユーザー情報を表示する)git config --global --list
-
設定をリポジトリ単位で行う
(特定のリポジトリで異なるユーザー情報を設定する)git config user.name "Repo Specific Name" git config user.email "[email protected]"
- 新規プロジェクトを開始する。
- 既存のプロジェクトをGit管理下に置く。
- リモートリポジトリとの接続を行う。
-
新しいリポジトリの作成
(現在のフォルダをGit管理下にする)git init
-
既存プロジェクトをGit管理下に追加
(既存プロジェクトをGitで管理するために初期化し、最初の変更をコミットする)git init git add . git commit -m "Initial commit"
-
リモートリポジトリを追加
(リモートリポジトリを現在のプロジェクトに関連付ける)git remote add origin <repository-URL>
-
リモートリポジトリのURL確認
(現在設定されているリモートリポジトリのURLを確認する)git remote -v
-
リモートリポジトリの変更
(既存のリモートリポジトリURLを新しいものに変更する)git remote set-url origin <new-repository-URL>
-
リポジトリのクリーンアップ(不要ファイルの削除)
(ステージングされていない不要なファイルやフォルダを削除する)git clean -f -d
-
サブモジュールを追加
(リポジトリ内に別のリポジトリをサブモジュールとして追加する)git submodule add <repository-URL>
-
サブモジュールを更新
(サブモジュールを最新の状態に更新する)git submodule update --remote
- リモートリポジトリの内容を手元で操作したい。
- 必要なブランチだけをローカルにコピーして軽量化したい。
-
リポジトリをクローン
(リモートリポジトリのすべてのファイルと履歴をローカルにコピーする)git clone <repository-URL>
-
特定のブランチのみをクローン
(指定したブランチのみをローカルにコピーして効率化する)git clone -b <branch-name> --single-branch <repository-URL>
- ファイルを追加・編集してGitに記録する。
- 他のブランチやリモートリポジトリと同期する。
- コミットログを整理して履歴をわかりやすくする。
-
ファイルをステージング(add)
(変更されたファイルを次のコミットに含めるためにステージングする)git add <file> git add <directory> git add .
-
コミット
(ステージングされた変更をローカルリポジトリに保存する)git commit -m "Commit message"
-
コミットメッセージを修正
(直前のコミットメッセージを修正する)git commit --amend -m "Updated commit message"
-
フェッチ(リモート変更の確認)
(リモートリポジトリの最新の変更を取得するが、ローカルには反映しない)git fetch origin
-
プッシュ
(ローカルのコミットをリモートリポジトリに反映する)git push origin <branch-name>
-
プル(フェッチ+マージ)
(リモートリポジトリの変更をローカルに取り込み、ローカルのブランチとマージする)git pull origin <branch-name>
-
マージ
(別のブランチの変更を現在のブランチに取り込む)git merge <branch-name>
-
リベース
(現在のブランチを別のブランチの先頭に移動させて履歴を整える)git rebase <branch-name>
-
変更の確認
(現在の変更内容やステージング状況を確認する)git status git diff git diff --cached
-
特定ファイルをチェックアウト(変更を破棄)
(特定のファイルの変更を破棄し、最後のコミット時点に戻す)git checkout -- <file>
-
ログ確認
(コミット履歴を詳細または簡易形式で表示する)git log git log --oneline git log --graph --oneline --all
-
コミットログの編集(インタラクティブリベース)
(複数のコミットをまとめたり、順序を変更したりする)git rebase -i HEAD~<コミット数>
-
特定のコミットを取り消す(revert)
(指定したコミットを打ち消す新しいコミットを作成する)git revert <コミットID>
-
不要なコミットを破棄する(reset)
(指定したコミット以降の変更を取り消す)git reset --soft HEAD~1 # ステージングを維持 git reset --hard HEAD~1 # 全ての変更を破棄
-
特定のコミットを別ブランチに適用(cherry-pick)
(指定したコミットを現在のブランチに取り込む)git cherry-pick <コミットID>
- 新しい機能開発や修正作業を分岐して進めたい。
- 不要なブランチを削除してリポジトリを整理したい。
-
ブランチ一覧を表示
(ローカルに存在するすべてのブランチを表示する)git branch
-
新しいブランチを作成
(現在のブランチから新しいブランチを作成する)git branch <new-branch-name>
-
新しいブランチを作成して切り替え
(新しいブランチを作成し、同時にそのブランチに切り替える)git checkout -b <new-branch-name>
-
既存のブランチに切り替え
(指定したブランチに切り替える)git checkout <branch-name>
-
リモートブランチを追跡するローカルブランチを作成
(リモートブランチに対応するローカルブランチを作成する)git checkout -b <new-branch-name> origin/<branch-name>
-
ローカルブランチを削除
(マージ済みのブランチを削除する)git branch -d <branch-name>
-
強制的にローカルブランチを削除
(未マージのブランチを強制的に削除する)git branch -D <branch-name>
-
リモートブランチを削除
(リモートリポジトリ上の不要なブランチを削除する)git push origin --delete <branch-name>
-
リモートブランチを一覧表示
(リモートリポジトリに存在するすべてのブランチを表示する)git branch -r
-
ローカルおよびリモートブランチをすべて表示
(ローカルとリモートの両方のブランチを一覧表示する)git branch -a
- 作業中の変更を一時的に退避させたい。
- 不要なブランチやタグを削除してリポジトリを整理したい。
-
タグの作成
(特定のコミットに名前を付けてわかりやすく管理する)git tag <tag-name>
-
タグをリモートにプッシュ
(ローカルで作成したタグをリモートリポジトリに送信する)git push origin <tag-name>
-
スタッシュ
(作業中の変更を一時的に退避させ、作業ディレクトリをクリーンな状態に戻す)git stash
-
スタッシュの適用
(退避させた変更を再度適用する)git stash apply
-
スタッシュの一覧表示
(保存したすべてのスタッシュを表示する)git stash list
-
特定のスタッシュを適用
(指定したスタッシュを適用する)git stash apply stash@{<index>}
-
スタッシュの削除
(指定したスタッシュを削除する)git stash drop stash@{<index>}
-
すべてのスタッシュを削除
(保存したスタッシュをすべて削除する)git stash clear
-
ブランチの削除(ローカル)
(不要になったローカルブランチを削除する)git branch -d <branch-name>
-
ブランチの削除(リモート)
(不要になったリモートブランチを削除する)git push origin --delete <branch-name>