稀によく使うGitコマンド

頻繁に使うわけではないものの、定期的に必要になって、そのたびに毎回調べている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し、古いブランチを削除。

    サポートが必要ですか?

    ご質問・お見積り依頼はお気軽にどうぞ

    お問い合わせはこちら
    シェア
    野良人 代表
    新免祥太
    1988年岡山生まれ。外食企業のWEB・EC担当を経験したのち、2013年12月より「野良人(のらんど)」の屋号で独立しWEBデザイン・プログラミングなどWEBサイト制作の工程全般を請け負っています。お気軽にご相談ください。
    前の記事(2025/03/30)
    WordPressで$_GETパラメータを取得する時にphpcsのnonceエラーを回避する
    記事一覧