Gitで異なるリポジトリにブランチを移動する方法
過去にTortoiseGitを使った方法を書きましたが、今回はGit Bash(CUI)を使った方法です。
- まず、対象のリポジトリをローカルにクローンする
(今回はrepobaseにクローン) - クローンしたローカルのリポジトリに移動し、対象のブランチに切り替える
- 対象のブランチ名を
main
に変更する -
リモートリポジトリ(一般的には
origin
)を削除する
ひとつ上のディレクトリに戻り、リポジトリをベアリポジトリとしてクローンする
これで、main
ブランチのみクローンされたベアリポジトリが作成されます。
不要なリポジトリの確認と削除
- 確認のため、クローンしたベアリポジトリからクローンを行う
(今回はrepobase-workにクローン) -
次のコマンドを実行し、
main
以外のリポジトリがないか確認する
ここで、不要なリモートのmaster
リポジトリなどがあれば削除します。
本作業はrepobaseディレクトリでは絶対に行わないでください。元のリポジトリからも消えてしまいます。
ベアリポジトリを新しいリモートリポジトリとして登録する
ベアリポジトリに移動し、ベアリポジトリをリモートにコピーします。Localプロトコルの場合はディレクトリのコピーでも構いません。