はじめに
普段は使わないけど、たまに使うGitコマンドをまとめました。
記事の趣旨
特定のGitコマンドを忘れてしまったときに、すぐに参照できるようまとめました。完全に主観です。
こういう方へ向けです
-
clone
、add
、commit
など、よく使うコマンドは問題ないけれど、たまにしか使わないコマンドを忘れてしまう方 - 特定の操作を行うコマンドを思い出せない方
Githubコマンド一覧
設定編
UserName を設定
Gitのユーザー名を設定するコマンド
$ git config --global user.name "[name]"
メールアドレス を設定
Gitのメールアドレスを設定するコマンド
$ git config --global user.email "[email address]"
ブランチ編
リモートブランチをチェックアウトしてローカルブランチを作成
リモートブランチをチェックアウトし、同名のローカルブランチを作成するコマンド
$ git checkout -b [branch name] origin/[branch name]
ブランチ名を変更
既存のブランチ名を変更するコマンド
$ git branch -m [old branch name] [new branch name]
リモートでマージ済みのローカルブランチを削除
リモートでマージ済みのローカルブランチを削除するコマンド
$ git branch -d [branch name]
リモートでマージされていないローカルブランチを強制的に削除
リモートでマージされていないローカルブランチを強制的に削除するコマンド
$ git branch -D [branch name]
※マージされているかはチェックされません。
ローカルブランチを一掃する
リモートで削除されたブランチをローカルからも削除するコマンド
$ git fetch --prune
masterとdevelop以外のマージ済みのローカルブランチを削除する
masterとdevelop以外のマージ済みローカルブランチを一括削除コマンド
$ git branch | grep -Ev "master|develop" | xargs git branch -D
コミット編
ファイルのない状態でコミットしたい
$ git commit --allow-empty -m "commit message"
マージ編
master
のブランチを現在のブランチにマージする
現在のブランチにmasterブランチをマージするコマンド
$ git merge master
※事前にmaster
ブランチをpullする必要があります。
マージしようとしたら、コンフリクトが発生したので、マージを取り消したい
マージ中にコンフリクトが発生した場合、マージを中止するコマンド
$ git merge --abort
マージしようと思って操作したら、わけわからなくなったので、取り消したい
操作が混乱した場合、最新のコミットにリセットするコマンド
$ git reset --hard HEAD
マージできたけど、マージを取り消したい
マージ後にマージを取り消するコマンド
$ git revert [commit No]
リベース編
master
のブランチを現在のブランチにリベースする
現在のブランチにmasterブランチをリベースするコマンド
$ git rebase master
複数コミットをひとまとめにする
複数のコミットを1つにまとめるコマンド
※例では4つのコミットをまとめます
$ git rebase -i HEAD~4
※その後の操作に関しては、@KTakata さんのgit rebase についてまとめてみた を参照ください
リベース中にコミットの作成日を適用日と同じにしたい
リベース中にコミットの作成日を適用日と同じにするコマンド
$ git rebase --committer-date-is-author-date
cf. Git - git-rebase Documentation
プッシュ前にどうにかしたい編
git add 後に全ファイルを取り消す
git add 後に全ファイルのステージングを取り消すコマンド
$ git reset HEAD .
※.
をファイル名にすると、そのファイルだけをadd前にできる
git commit 後にファイルの変更ごと取り消す
git commit 後にファイルの変更を取り消すコマンド
$ git reset --hard HEAD^
git commit 後にコミットだけ取り消す
git commit 後にコミットだけを取り消すコマンド
$ git reset --soft HEAD^
git commit 後にコミットを上書きする
git commit 後にコミットを上書きするコマンド
$ git commit --amend
ファイルをごにょごにょする編
変更したファイルをなかったことにする
変更したファイルを元に戻すコマンド
$ git checkout .
全ファイルのキャッシュを削除する
全ファイルのキャッシュを削除するコマンド
$ git rm -r --cached .
ファイル名を指定してキャッシュを削除する
特定のファイルのキャッシュを削除コマンド
$ git rm -r --cached [file name]
ファイルをいったんどうにかしたい編
変更したファイルを一時的においておく
変更したファイルを一時的にstashするコマンド
$ git stash save
一時的においておいたリストを表示する
shashした変更のリストを表示するコマンド
$ git stash list
(最新の)0番目に待避させたファイルをブランチに適用する
最新のスタッシュを適用するコマンド
$git stash apply stash@{0}
※git stash list
で表示される stash@{n}
を指定する
参考元
以下のサイトを参考にさせて頂きました。
git--fast-version-control/Reference
サルでもわかるGit入門〜バージョン管理を使いこなそう〜
Git Commands
git commit を取り消して元に戻す方法、徹底まとめ