GitHubにレポジトリを移行する方法
他の場所にあるリポジトリをGitHubに移行させるための方法を書いたメモ。
移行元リポジトリをローカルにclone
$ git clone https://orig.repo.example.com/
ここで、https://orig.repo.example.com/
は移行元リポジトリのURL。
ローカルリポジトリにある.git/config
の編集
cloneしてできたローカルリポジトリで、.git/config
にある以下の行をコメントアウトする。
$ cd repo-name/
$ vi .git/config
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://orig.repo.example.com/
[branch "master"]
remote = origin
merge = refs/heads/master
ここで、repo-name
はリポジトリの名前。
移行先リポジトリの作成
GitHubにログインし、新規リポジトリを作成する。
移行先リポジトリへのpush
GitHubのページに表示される指示に従って、GitHubにある移行先リポジトリをローカルリポジトリに登録し、移行先リポジトリにpushする。
$ git remote add origin git@github.com:foo/bar.git
$ git push -u origin master
ここで、git@github.com:foo/bar.git
は移行先リポジトリ。
移行先リポジトリにおけるブランチとタグの追加
このままだと、GitHubの移行先リポジトリにブランチはmasterのみ、タグはなしなので、追加する。
まず、ローカルリポジトリで、以下のシェルスクリプトを実行する。
実行すると、ローカルリポジトリにブランチが作成される。作成されるブランチは移行元リポジトリにあるものである。
次に、ローカルリポジトリにあるブランチとタグを移行先リポジトリにpushする。
$ git push --all
$ git push --tags