make is.dev make it simple. development.
2024年7月24日

Gitリポジトリ移管

Gitのリモートリポジトリを移す際のコマンドメモ。

リモートリポジトリを移管する

まず、cloneでミラーリポジトリを作成する。
例はGitHubのリポジトリを別のリポジトリに移す際のイメージ。

git clone --mirror https://github.com/xxxxx/xxxxx.git

続けて、作成したミラーリポジトリを移管先にpushする。
移管先のリポジトリ自体は予め作成しておくこと。

cd XXXXX.git
git push --no-verify --mirror https://github.com/xxxxx/xxxxx.git

ローカルリポジトリの向き先を変える

移管元と繋がったローカルリポジトリがある場合、その向き先(アップストリームURL)を変更する。

念のため、変更前の向き先を確認しておく。
以下のコマンドで移管元のリポジトリURLが表示されるはず。

git remote -v

向き先を変える。

git remote set-url origin https://github.com/xxxxx/xxxxx.git

変更後の向き先を確認する。
移管先に切り替わっていればOK。

git remote -v

移管した後、ブランチを省略してgit pullした際に以下のエラーが表示されることがある。
ローカルブランチとリモートブランチの紐づきが分からないとのこと。

There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/<branch> master

その際は、以下のようにブランチを紐づけてやれば以後はgit pullで動くようになる。

git branch --set-upstream-to=origin/master master