こうこく
作 ▸
改 ▸

Gitリポジトリを引っ越す

GitLabのリポジトリをGitHubに引っ越しました。

引っ越し先がGitHubの場合、アクセストークンについて知らない人は以下の記事も確認してください。

GitHubのリポジトリにアクセス時に「remote: Support for password authentication was removed on August 13, 2021.」エラー

ここでは origin のリモートリポジトリを引っ越す前提で書きます。

まず、現在のリモートリポジトリを確認してみる。

コマンド
git remote -v
実行結果
origin  https://gitlab.com/napoporitataso/piyopiyo.git (fetch)
origin  https://gitlab.com/napoporitataso/piyopiyo.git (push)

そしたら remote set-url を使って origin のURLを引っ越し先のリポジトリに変更する。

コマンド
git remote set-url origin https://ghp_xxxxxxxxxxxxxxxx@github.com/napoporitataso/piyopiyo.git

もう一度リモートリポジトリを確認してみると、新しいURLになってるはず。

コマンド
git remote -v
実行結果
origin  https://ghp_xxxxxxxxxxxxxxxx@github.com/napoporitataso/piyopiyo.git (fetch)
origin  https://ghp_xxxxxxxxxxxxxxxx@github.com/napoporitataso/piyopiyo.git (push)

あとは新しいリモートリポジトリにPushするだけ。

コマンド
git push origin master

おしまい。

(2023-02-01追記) 全てのブランチを引っ越す場合

上記の方法では master ブランチしか引っ越せない。全てのブランチをそのまま引っ越す方法を調べた。

まず、全てのブランチをチェックアウトする。bashなら以下コマンドで可能。

コマンド
for branch_name in `git branch -r | grep -v master`;do
git checkout -t $branch_name
done

この方法は以下の記事を参考にさせていただきました。

gitのリモートブランチを全てチェックアウト - Qiita

以下コマンドで、全てのブランチがローカルにリモートと同名でチェックアウトされていることを確認できる。

コマンド
git branch

そしたら上記と同様に remote set-url を使って origin のURLを引っ越し先のリポジトリに変更する。

コマンド
git remote set-url origin https://ghp_xxxxxxxxxxxxxxxx@github.com/napoporitataso/piyopiyo.git

あとは新しいリモートリポジトリに全てのブランチをPushするだけ。

コマンド
git push origin --all

おしまい。

この記事に何かあればこちらまで (非公開)