🐥

よく使うのにすぐ忘れる怒りのgitコマンド集

2020/10/20に公開

前提

git pullgit checkout -b hogehoge のような shorthand は今回無視する

参考:

よく使うのにすぐ忘れる怒りのgitコマンド集

コマンド やりたいこと
git branch [local branch name] ローカルブランチをきる
git checkout [local branch name] ローカルブランチを移動
git merge master masterの変更をブランチに取り込む(要事前のmaster pull)
git diff [比較元branch]..[比較先buranch] --name-only ブランチを比較して差分のあるファル名を表示
git push -u origin [local branch name] ローカルブランチをリモートにpush
git checkout [remote branch name] リモートブランチをチェックアウト
git branch --delete [local branch name] HEADにマージ済のブランチを削除
git branch -D [local branch name] マージされてなくてもブランチを削除
git push --delete origin [remote branch name] リモートブランチを削除
git stash save "message" "message"でstashする
git stash -u git stash -u "message" git stash --include-untracked Untrackedファイルもstash (要git 2.x系)
git stash list stashの一覧を得る
git stash pop 最新のstashをpop(してstashを削除)
git stash pop stash@{N} N番目のstashをpop(最新なら{0}
git stash clear stashを全削除
git clean -d --dry-run git clean したらどうなるか確認(含ディレクトリ)
git clean -d --force Untracked files をまとめて消す(含ディレクトリ)

あまり使わないからすぐ忘れる怒りのgitコマンド集

コマンド やりたいこと
git remote -v リモートリポジトリの一覧
git remote rm origin originを削除(originが消えた時など用)
git merge --abort mergeしたら予想外にコンフリクトしてmergeやめるとき
git reset --hard HEAD mergeのコンフリクト解消したけどやっぱりcommit作るのやめるとき
git reset --hard HEAD^ commit したけどやっぱりやめる時
git reset --hard [任意のコミットのハッシュ値] そこの状態に戻す
git cherry-pick -m 1 [merge hash] 別ブランチのマージコミットをcherry-pickするときなど
git reset HEAD <file_name> 間違って add しちゃったものを戻す
git reset HEAD 間違って add しちゃったものを全部戻す

秘密のgitコマンド集

コマンド やりたいこと
git log --pretty=fuller 直近ログの簡易表示
git commit --amend --date="Sun Mar 14 13:51:16 2021 +0900" 直近commitの AuthorDate 書き換え
git rebase HEAD~1 --committer-date-is-author-date 一つ前のcommitのCommitDate を AuthorDate に合わせて修正

参考

Discussion