検証環境:
git version 2.23.0
git で特定のブランチが既に何かのリモートブランチを追跡している状態で、その追跡をやめる方法、そして再度追跡させる方法についてメモ。
リモートブランチの追跡を解除する
以下コマンドでリモートブランチの追跡が解除されて、ローカルのみのブランチとなる。
$ git branch --unset-upstream <branch>
例:
# 解除前の状態確認 $ git branch -vv * feature/hoge fefad7b5 [origin/feature/hoge] wip # 解除 $ git branch --unset-upstream feature/hoge # 解除後の状態確認 $ git branch -vv * feature/hoge fefad7b5 wip
リモートブランチの追跡を開始する
以下コマンドでローカルブランチをアップストリームブランチにリンクさせてリモートブランチの追跡が開始される。
$ git branch --set-upstream-to <upstream> # または $ git branch -u <upstream>
例:
# 追跡追加 $ git branch --set-upstream-to origin/feature/hoge Branch 'feature/hoge' set up to track remote branch 'feature/hoge' from 'origin'. # 追加後の状態確認 $ git branch -vv * feature/hoge fefad7b5 [origin/feature/hoge] wip
初回プッシュ時にリモート追跡ブランチの追加も同時に行う
$ git push --set-upstream-to origin <your-local-branch> # または $ git push -u origin <your-local-branch>
例:
# リモートブランチ名はローカルブランチ名と同名になる $ git push -u origin feature/fuga ... Branch 'feature/fuga' set up to track remote branch 'feature/fuga' from 'origin'. # 明示的にリモートブランチ名を指定する場合 $ git push -u origin feature/fuga:feature/fuga