😸

Gitコマンドチートシート

に公開

初めに

よく使うコマンドを厳選して載せています.
そのため,その他コマンドについては,manコマンドなどを用いて各自で調べてください.

git設定

コマンド 解説 補足
git config --list gitの設定の確認
git config --global user.name "{name}" user名の設定
git config --global user.email "{email}" emailの設定
git config --global initdefaultBranch {ブランチ名} デフォルトブランチ名の設定
git config --global core.autocrlf {bool値} 改行コードの自動変換機能の設定 true: 自動変換ON
false: 自動変換OFF
git config --global color.ui {bool値} コマンドの色を設定する true: いい感じに色を出してくれる
false: 色を付けてくれない

プロジェクトの取得,作成

コマンド 解説 補足
git init ローカルリポジトリを作成
git clone {URL} リモートリポジトリからプロジェクトを取得 URLはSSH,HTTPどちらでも可

スナップショット操作

コマンド 解説 補足
git add {file...} ファイルをステージング 空白で区切り,複数選択可
git add {file_path} ファイルパスで指定したファイル群をステージング git add .コマンド
カレントディレクトリのファイルすべてをステージングできる
git status ワーキングツリーのステータスを確認する オプション
-s: 簡潔に確認する
git diff {branch1} {branch2} branch1とbranch2の差分確認
git log コミット履歴の確認
git commit コミット履歴を作成する 基本的に,git commit -m "{コミットメッセージ}"という形で実行する
git restore {file} addされていない変更を取り消す addされている変更も取り消す場合は,--stagedオプションを付け,実行する
git revert {commit} 指定したコミットと逆の内容をコミットする
git reset --soft {commit} コミットを削除する コミットだけ消える
HEAD^の指定をすると直前のコミットを削除できる
git reset --mixed {commit} コミットとステージングを削除する add, commitが消える
git reset --hard {commit} コミット,ステージング,作業を削除する 全部消えます!
これを使う際には,プッシュ前のコミットに対してのみ,使うようにしましょう!
git reflog HEADの動きの履歴確認 ミスってreset --hardしたときに,reset --hardで間違えたコミットまでreflogの履歴から戻ろう!
(変更内容をコミットしてなかったら結局,変更内容消えてるよ...)
git rm {file} リポジトリからファイルを削除 ファイルを復元したい場合は,git restoreを使う
git mv {file} リポジトリ内のファイルを移動,名前変更
git blame {file} ファイルの修正箇所のリビジョンと作成者を表示する バットコード犯人捜しコマンド
git stash 作業ディレクトリとインデックスの状態を保存して,作業ディレクトリをHEADコミットに合わせる 通常,`git stash save "{message}"のように,メッセージ付きで変更を退避する
git stash -u 未追跡ファイルも含めて変更を退避
git stash list 退避した変更の一覧確認
git stash pop 最新の退避を現在のブランチに反映し,リストから削除
git stash apply '{list_num}' 指定された退避を現在のブランチに反映し,リストに残す 番号指定なしは,最新のものが対象
git stash show '{list_num}' 指定された退避との差分確認
git drop '{list_num}' 指定された退避を削除 番号指定なしは,最新のものが対象
git stash clear すべての退避を削除

ブランチ操作

コマンド 解説 補足
git branch ローカルブランチ確認 オプション解説
-r: リモートブランチ確認
-a: すべてのブランチ確認
-vv: 親ブランチを確認
git branch {new_branch_name} 新しいブランチの作成 -d: ブランチの削除
-m: ブランチ名変更
git switch {branch} 指定したブランチに移動 ブランチ移動にcheckoutは使うな!
git checkout {branch} 指定したブランチに移動 -b: 新しいブランチを作成してそのブランチに移動
git checkout {commit} リポジトリの状態を指定したコミットの状態にする ただし,detached HEAD状態になるり,ブランチから切り離される.
そのため,新しいコミットを作成したい場合は,git checkout -b {new_branch} {commit}を実行する
git merge {branch} 現在のブランチに,指定したブランチの内容を取り込むというコミットを作成する ブランチの構造に気を付けよう!
git rebase {base_branch} 指定ブランチの変更内容を現在のブランチに反映する 指定したブランチに現在のブランチの内容を反映させたい場合には,
git switch {base_branch}
git merge {rebase_branch}

リモート操作

コマンド 解説 補足
git fetch {remote_branch} リモートリポジトリの指定ブランチの情報をダウンロード
git fetch --all リモートのすべての情報を取得
git pull {remote_name} {remote_branch} 指定したリモートリポジトリの情報を現在のブランチにマージ fetchとmergeが同時に実行されるため,実行には注意!
gitの動作がよくわかっていないときは,素直にfetch, mergeを分けて使おう!
git push {remote_name} {branch} 指定したブランチの情報をリモートリポジトリにアップする -uオプションを付けると,次から同じブランチにpushするときは,git pushだけでよくなる
git remote add {new_remote_name} {remote_URL} リモートリポジトリに名前を付ける addの部分をrename, removeにすると,それぞれ名前の変更,削除を実行できる
git remote -v リモートの設定の確認

Discussion