稀によく使うGitコマンド
2026/09/27
頻繁に使うわけではないものの、定期的に必要になって、そのたびに毎回調べているGitコマンドの備忘録。自分用メモを兼ねて随時更新。
直前のコミットを取り消したい
コミットだけを取り消して、変更内容はステージングされた状態で残したい場合。
git reset --soft HEAD^
- コミットメッセージを間違えた、コミットするファイルが足りなかった、といった場合に使用。
--mixed(変更内容はステージングから外れるが作業ツリーには残る)--hard(変更内容もすべて取り消される)もあるが、変更内容自体も取り消したいわけではないので、基本的には--softを使うことが多い。HEAD^は「直前のコミット」を指す。HEAD~1でも同じ意味。
mainやdevelopブランチの最新版を作業ブランチにマージする
まずリモートの最新情報を取得。
git fetch
そのうえで、現在の作業ブランチにリモートブランチをマージ。
git merge origin/main
stash系
コメントを付けてstashする
git stash -m "コメント"
新規作成ファイルも一緒に退避する
通常の git stash では、Gitでまだ管理されていない新規ファイル(untracked files)は対象にならない。
新規作成ファイルもまとめて退避したい場合は -u を付ける。
git stash -u
特定のファイルをstashから除外する
stashしたくないファイルをあらかじめステージング。
git add 除外したいファイル
そのうえで、
git stash --keep-index
--keep-index を付けると、ステージング済みの変更を作業ツリーに残したまま、それ以外の変更をstashできる。
リモートで削除されたブランチ情報をローカルから削除する
リモートですでに削除されているブランチの、ローカルに残ったリモート追跡ブランチを整理する。
git fetch --prune
または短縮形。
git fetch -p
なお、これは origin/xxxx のようなリモート追跡ブランチを削除するコマンドであり、自分で作成したローカルブランチそのものは削除されない。
不要になったローカルブランチを削除する場合
git branch -d ブランチ名
マージされていないブランチを強制的に削除する場合
git branch -D ブランチ名
リモートリポジトリを確認する
現在設定されているリモートリポジトリを確認。
git remote -v
fetch先とpush先のURLが確認できる。
リモートURLを変更する
GitHubへの移行や、HTTPSからSSHへの切り替えなどで origin のURLを変更したい場合。
HTTPSの場合。
git remote set-url origin https://github.com/{username}/{repository}.git
SSHの場合。
git remote set-url origin git@github.com:{username}/{repository}.git
ブランチ名を変更する
現在いるブランチの名前を変更する場合。
git branch -m 新しいブランチ名
リモートにも旧ブランチが存在する場合は、必要に応じて新しいブランチをpushし、古いブランチを削除。
2026/09/27