🐥
よく使うのにすぐ忘れる怒りのgitコマンド集
前提
git pull や git checkout -b hogehoge のような shorthand は今回無視する
参考:
- git-pull Documentation - Git
よく使うのにすぐ忘れる怒りの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 に合わせて修正 |
参考
- 【git】マージしたけどやっぱりやめたい時のやり方4種類 - Qiita
Discussion