はじめに
オンプレで運用していたGitリポジトリ。 これを履歴やブランチ含めてGitHubに移行しようと思う。
GitHubのimportでも出来そうであるがオンプレのGitリポジトリであるがゆえGitHubから参照できない。
よってコマンドベースで移行を行う。 ちなみにWindows11で実行。
大まかな手順
- 移行元のリモートリポジトリからcloneする
- GitHub側にリポジトリを作成する
- 作成したGitHubのリポジトリに対してpushする
1.移行元のリモートリポジトリからCloneする
- 移行元のリモートリポジトリを保存したいフォルダを作成する
ここでは「C:\temp\moto」というフォルダを作成したとする - Windowsのコマンドプロンプトを起動する
- 作成したフォルダに移動する
cd \temp\moto
- gitコマンドにて移行元のリモートリポジトリをcloneする
git clone --mirror 移行元のリモートリポジトリURL
移行元のリモートリポジトリURLが分からないときは、TortoiseGitなどでクローンするときのURLだと思ってもらえればよい
コマンドプロンプトはまだ閉じないように!
2.GitHub側にリポジトリを作成する
- 中身は何もなくて良い(移行元と違うリポジトリ名を作成しても良い)
ここでは「xyz」というリポジトリを作成したとする
3.作成したGitHubのリポジトリに対してpushする
- 1でcloneしたgitフォルダに移動する
cd abc.git
移行元のリモートリポジトリが「abc」という名前だったとして解説
C:\temp\moto\abc.git
というフォルダに移動しているはず
-
Gitのpush先をGitHubのリポジトリに設定する
git remote set-url origin https://github.com/userspace/xyz.git
-
mirrorプッシュしてリポジトリ情報を登録する
git push --mirror
GitHubのログインを要求される場合があるが、ログインすればpushされる
エラーなくコマンドが終了すれば移行が完了している