Gitを使うときによく使うコマンドをまとめました。
ファイルの追加
ディレクトリ内のすべての変更ファイル/新規ファイルを追加
git add .
差分ファイルを全部ステージに移動したい時はこれ。
対話形式で処理
git add -i
一部のファイルだけ選んでステージに移動したい場合などに便利。
取り消し
ステージング前の変更の取り消し
git checkout .
add する前であれば、一括で修正を無かったことにできる。
差分はそのままでコミットだけを取り消す(差分はステージに残る)
git reset --soft HEAD~1
コミットログを間違えた時によく使う。(HEAD~1 で1コミット分)
コミットしたことを取り消す
git reset --hard HEAD~1
コミットした内容が履歴から消えるので注意。
ブランチ
ブランチ一覧の表示
git branch
今いるブランチの名前をブランチ【issueABC】に変更する
git branch -m issueABC
ブランチ【issueB】の名前をブランチ【issueC】に変更する
git branch -m issueB issueC
ブランチを【issueA】に切り替える
git checkout issueA
ブランチ【issueA】を削除
git branch -D issueA
ブランチを一括削除
git branch | grep (文字列) | xargs git branch -d
リモートブランチを見る
git branch -r
リモートブランチの【issueA】を削除
git push origin :issueA
チェックアウト
リモートブランチの【issueA】を【issueA_local】としてチェックアウト(ローカルのブランチもissueA_localに変更)
git checkout -b issueA_local origin/issueA
プッシュ
pushのドライラン
git push -n origin issueA
pushする前に必ず実施する。ブランチ名とハッシュ値の確認をすることでpushの誤送信が減る。
ファイルのマージ
今いるブランチにブランチissueAの内容(複数のコミット)を1つにまとめてステージング
git merge --squash issueA
ローカルで散々思考錯誤(コミット)したあとに、何事もなかったかのように1コミットとしてログが残せる。
コミット前のファイルを一時退避
stashに一時退避する
git stash
一時退避する際に名前を付ける
git stash save "名前"
stashの一覧を見る
git stash list
指定したstashの内容を取り込んだあと、stashを削除する
git stash pop stash@{番号}
指定したstashの内容を取り込んだあと、stashを残したままにする
git stash apply stash@{番号}
コミット
コマンドの引数でコミットコメントを書く
git commit -m "コメント"
コミットログをエディタを開かなくても記載できる。
コミットを消してしまった時
これまでHEADが辿ってきた履歴を見る(「git reset HARD」で消してもログが残っている)
git reflog
対象のコミットを見つけて、「git checkout ハッシュ値」で取ってこれるので、救出できる可能性大。