※コマンド内の<名前>は、実際の値に置き換えて実行してください。
よく使う基本フロー
最新の変更を取り込む
git pull
追跡先のリモートブランチから最新の変更を取得し、現在のブランチへ反映します。
作業用ブランチを作る
git switch -c <ブランチ名>
新しい作業用ブランチを作成し、そのブランチへ切り替えます。
現在の状態を確認する
git status
変更されたファイルやステージングの状態を確認します。
変更をステージングする
git add .
現在のディレクトリ以下にある変更をまとめて次のコミット対象に追加します。
変更をコミットする
git commit -m "コミットメッセージ"
ステージングした変更をローカルリポジトリに記録します。
初回pushする
git push -u origin <ブランチ名>
ブランチをリモートへ送信し、追跡先を設定します。以降はgit pushやgit pullを短い形で実行できます。
※-uを付け忘れた場合は、同じコマンドをもう一度実行すれば追跡先を設定できます。
2回目以降pushする
git push
コミットした変更を、設定済みの追跡先へ送信します。
リモートの最新情報だけ取得する
git fetch
必要に応じて使用します。リモートの最新情報を取得しますが、現在の作業ブランチには自動で反映しません。
基本操作
現在の状態を確認する
git status
現在のブランチや、変更・ステージングされているファイルを確認します。
変更内容を確認する
git diff
まだステージングしていないファイルの変更内容を確認します。
ステージング済みの変更を確認する
git diff --staged
次のコミット対象としてステージングした変更内容を確認します。
ファイルをステージングする
git add <ファイル名>
指定したファイルを次のコミット対象に追加します。
変更をまとめてステージングする
git add .
現在のディレクトリ以下にある変更をまとめてステージングします。
変更をコミットする
git commit -m "コミットメッセージ"
ステージングした変更をローカルリポジトリに記録します。
Gitリポジトリを作成する
git init
現在のディレクトリを新しいGitリポジトリとして初期化します。
リモート操作
リモートリポジトリを取得する
git clone <URL>
GitHubなどにあるリモートリポジトリをローカルに複製します。
登録されているリモートを確認する
git remote -v
リモートリポジトリの名前とURLを確認します。
リモートを追加する
git remote add origin <URL>
リモートリポジトリをoriginという名前で登録します。
リモートの最新情報を取得する
git fetch
リモートの最新情報を取得します。現在の作業ブランチには自動で反映されません。
リモートの変更を取得して反映する
git pull
設定されている追跡先から変更を取得し、現在のブランチへ反映します。
変更をリモートへ送信する
git push
ローカルでコミットした変更を、設定されている追跡先へ送信します。
ブランチを初めてpushする
git push -u origin <ブランチ名>
ローカルブランチをリモートへ送信し、追跡先を設定します。以降はgit pushやgit pullだけで操作できます。
※-uを付け忘れた場合は、同じコマンドをもう一度実行すれば追跡先を設定できます。
ブランチ操作
ブランチ一覧を確認する
git branch
ローカルに存在するブランチを一覧表示します。
ブランチと追跡先を確認する
git branch -vv
ローカルブランチと、設定されているリモートの追跡先を確認します。
リモートを含むブランチ一覧を確認する
git branch -a
ローカルブランチとリモートブランチをまとめて確認します。
ブランチを切り替える
git switch <ブランチ名>
指定したブランチへ移動します。
新しいブランチを作って切り替える
git switch -c <ブランチ名>
新しいブランチを作成し、そのブランチへ切り替えます。
ブランチをマージする
git merge <ブランチ名>
指定したブランチの変更を、現在のブランチへ取り込みます。
マージ済みのブランチを削除する
git branch -d <ブランチ名>
不要になったローカルブランチを削除します。
ブランチを強制削除する
git branch -D <ブランチ名>
マージされていない変更があるブランチも強制的に削除します。
※削除したブランチに未保存の作業がないか確認してから実行してください。
変更を取り消す
ファイルの変更を元に戻す
git restore <ファイル名>
まだコミットしていないファイルの変更を元に戻します。
※元に戻した変更内容は失われるため注意してください。
ステージングを解除する
git restore --staged <ファイル名>
ファイルの変更内容は残したまま、ステージングだけを解除します。
コミットを戻す・修正する
直前のコミットを修正する
git commit --amend
直前のコミット内容やコミットメッセージを修正します。
※すでに共有済みのコミットを書き換える場合は注意してください。
コミットだけを取り消す
git reset --soft HEAD~1
直前のコミットを取り消し、変更内容とステージング状態は残します。
コミットとステージングを取り消す
git reset HEAD~1
直前のコミットとステージングを取り消します。ファイルの変更内容は残ります。
コミットと変更内容をすべて取り消す
git reset --hard HEAD~1
直前のコミットを取り消し、ファイルの変更内容も元に戻します。
※変更内容が失われます。実行前に必ず状態を確認してください。
コミットを打ち消す
git revert <コミットID>
指定したコミットを打ち消すための新しいコミットを作成します。共有済みの変更を戻すときに使いやすい方法です。
作業を一時退避する
作業中の変更を一時退避する
git stash
コミットしていない作業内容を一時的に退避します。
メッセージ付きで退避する
git stash push -m "メッセージ"
退避した内容が分かるようにメッセージを付けて保存します。
退避した作業を確認する
git stash list
保存されているstashを一覧表示します。
最新のstashを復元する
git stash pop
最新のstashを復元し、stash一覧から削除します。
stashを残したまま復元する
git stash apply
stashを一覧に残したまま作業内容を復元します。
stashを削除する
git stash drop
最新のstashを削除します。
履歴を確認する
コミット履歴を確認する
git log
コミット履歴を詳細表示します。
コミット履歴を1行ずつ確認する
git log --oneline
コミットIDとメッセージを簡潔に一覧表示します。
ブランチの履歴を図で確認する
git log --oneline --graph --all
ブランチの分岐やマージをグラフ形式で確認します。
特定のコミット内容を確認する
git show <コミットID>
指定したコミットで変更された内容を確認します。
基本設定
ユーザー名を設定する
git config --global user.name "Your Name"
Gitのコミットに記録されるユーザー名を設定します。
メールアドレスを設定する
git config --global user.email "your-email@example.com"
Gitのコミットに記録されるメールアドレスを設定します。
Gitの設定を確認する
git config --list
現在適用されているGitの設定を一覧表示します。