はじめに
最近 Git に関する勉強会を主催しました。
その中でコマンド操作がイマイチ分からないとの声が多かったので、
よく使うコマンドをまとめてみました。
ブランチを切る
ブランチを切るだけ
git branch <ファイル名>
ブランチを切って移動する場合
git checkout -b <ブランチ名>
git switch -c <ブランチ名> (ver2.23.0以降はこちらでも可)
ブランチを移動する場合
ブランチを指定して移動
$ git checkout <ファイル名>
$ git switch <ファイル名> (ver2.23.0以降はこちらでも可)
直前のブランチに移動する場合
$ git checkout -
$ git switch - (ver2.23.0以降はこちらでも可)
ブランチを削除する
マージ後
$ git branch -d <ブランチ名> (-d はマージ前だと削除できない)
マージ前(強制削除)
$ git branch -D <ブランチ名>
ファイルをステージングエリアに追加する
個々にファイルを指定する場合
$ git add <ファイル名> (ファイルは半角スペースで区切って複数選択可)
変更した全てのファイルを指定する場合
$ git add . (現在のディレクトリ以下の変更内容全てをステージングエリアへ追加)
ステージングエリアに上げた変更を取り消す
全ての変更を取り消す場合
$ git reset (git reset HEAD と同じ)
ファイルを指定する場合
$ git reset <ファイル名>
変更ファイルを確認する
$ git status
差分を確認する
ステージングエリアに追加する「前」のファイルを確認する場合
$ git diff
ステージングエリアに追加した「後」のファイルを確認する場合
$ git diff --staged
コミットする
コミットメッセージを複数行入力したい場合
$ git commit (エディターでコメントを入力する)
コミットメッセージを1行で入力したい場合
$ git commit -m "<コミットメッセージ>" (※エディターでの入力を省略できる)
コミットを修正したい場合 (リモートへ push した後は注意が必要)
最新のコミットを上書きする
$ git commmit --amend
コミット履歴を確認する
$ git log
コミット履歴から変更差分を確認したい場合
$ git log -p
コミット履歴を1行ごとに表示したい場合
$ git log --oneline
リモートへ push する
現在のブランチを push する場合
$ git push origin HEAD
リモートリポジトリの情報をローカルに反映する
現在のローカルのブランチにリモートのブランチの内容を反映させる
$ git pull origin HEAD
ファイルの変更自体をなかったことにしたい場合
Git が追跡していてステージングエリアに追加していないとき
ファイルを指定したい場合
$ git checkout <ファイル名>
$ git restore <ファイル名> (ver2.23.0以降はこちらでも可)
全てのファイルの変更を取り消したい場合
$ git checkout .
$ git restore . (ver2.23.0以降はこちらでも可)
Git ステージングエリアに追加したファイルを全てなかったことにしたい場合
$ git reset --hard (git reset --hard HEAD と同じ)
その他、必要に応じて適宜追加していきたいと思います。
※ やりたいことに辿り着くのに、方法が1つではないのでどれが1番分かりやすいか模索しています