Git でよく使うコマンド
References
Commands
一時退避
変更の退避
-uオプションを付与することにより、新規追加ファイルも同時に退避してくれる
$ git stash -u
退避した変更を一覧表示
$ git stash list
退避した状態に戻す
$ git stash apply stash@{0}
ロールバック系
ローカルで変更したファイルを元に戻す
$ git checkout HEAD {file_name}
git add(ステージング)の取り消し
$ git reset HEAD {file_name}
コミット (git commit) の取り消し
チーム開発時でも作業用ブランチを各自で作成するので、基本的にこれで問題無いと思っている
$ git reset --soft {commit_hash}
※「過去のコミットまで戻した」という履歴を残すときに使う
$ git revert {commit_hash}
コミット編集
コミットをまとめる
n個前のコミットまでをまとめる
$ git rebase -i HEAD~n
詳細まで自分で書くと長くなるので以下を参照
https://backlog.com/ja/git-tutorial/stepup/32/
コメント修正系
直前のコミットメッセージ
$ git commit --amend -m '{message_of_after_fix}'
n個前のコミットメッセージ
※push前の場合
$ git rebase -i HEAD~[n]
# 修正対象コミットの pick を edit に書き換えて保存
$ git commit --amend -m '{message_of_after_fix}'
$ git rebase --continue
強制Push
$ git push --force-with-lease origin {branch_name}
※チーム開発でも同一リポジトリを複数人で触ることは無いという認識なので、基本的に-fで良いんじゃ無いかと思っている
削除系
追跡しないファイルとして扱う(ファイルは残したまま)
$ git rm --cached {file_name}
比較系
リモートリポジトリとの差分比較
$ git diff -- {file_name}
タグ関連
コミット済みタグ付け
$ git tag -a {tag_name} -m '{comment}' {commit_hash}
$ git push origin {tag_name}