【Git】応用コマンド&オプション7選
先日の【Git】最初の30分で覚えるべき基本コマンド8選につづいて、応用コマンドを整理しました。
diff
差分を表示する
# HEAD(もしくはインデックス)とワークツリーを比較する git diff # 特定のコミット間を比較する git diff [コミット]..[コミット] # HEADとインデックスを比較する git diff --cached
difftool
差分をvimdiffで表示する(git vimdiff
などにエイリアスをはっておくのがおすすめ)
git difftool --tool=vimdiff --no-prompt
reset
変更を元に戻す
# HEAD位置とインデックスを変更する git reset [コミット] # HEAD位置だけ変更する git reset --soft [コミット] # HEAD位置とインデックス、ワークツリーを変更する git reset --hard [コミット]
branch
ブランチを確認する
# 現在あるブランチを確認 git branch # リモートリポジトリのブランチも含めて確認 git branch -a # ブランチ位置を移動させる git branch -f [ブランチ名] [移動先コミット]
checkout
ブランチを切り替える
# ブランチを切り替える git checkout [ブランチ名] # 直前にいたブランチに切り替える git checkout - # ブランチからファイルを現在のインデックスにコピーする git checkout [ブランチ] -- [ファイル]
merge
ブランチを統合する
# fast-forwardな場合はコミットを作らず、そうでない場合はマージコミットを作る git merge <ブランチ> # 必ずマージコミットを作る場合 git merge --no-ff
rebase
ブランチの派生元を変更する
# ブランチの派生元のコミットを変更する git rebase --onto <新しい派生元コミット> <元の派生元コミット> [変更対象のブランチ] # 特定のコミットからの履歴を編集する # (コミットの入れ替えや統合、コミットメッセージの変更など) git rebase -i <コミット>