gitのリモートリポジトリoriginのURLを変更する
Githubを中央リポジトリとしていたプロジェクトがあったんですが、Gitoriousでリポジトリサーバーが出来たのでそっちに移行する事になりました。中央リポジトリが変わると、自分のワーキングツリーのpush先/pull元となる追跡ブランチが置いてあるリモートリポジトリを、変更しないといけません。
originの変更方法
$ git remote set-url origin git@git.example.com:foo/bar.git
最初はgit config
で直接かと思ったんですが、ちょっと探してみたらそれ用のコマンドがありました。今回は変更ですが、追跡ブランチの2個目3個目の追加も、このコマンドで出来るっぽいです。
作業ログ
$ git config -l color.status=auto color.diff=auto core.excludefile=~/.gitignore core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* remote.origin.url=git@github.com:kanonji/example.git branch.master.remote=origin branch.master.merge=refs/heads/master $ git remote set-url origin git@git.example.com:foo/bar.git $ git config -l color.status=auto color.diff=auto core.excludefile=~/.gitignore core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* remote.origin.url=git@git.example.com:foo/bar.git branch.master.remote=origin branch.master.merge=refs/heads/master $ git fetch origin The authenticity of host 'git.example.com (xxx.xxx.xxx.xxx)' can't be established. RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'git.example.com,xxx.xxx.xxx.xxx' (RSA) to the list of known hosts. remote: Counting objects: 121, done. remote: Compressing objects: 100% (24/24), done. remote: Total 73 (delta 40), reused 70 (delta 37) Unpacking objects: 100% (73/73), done. From git.example.com:foo/bar e8f0481..2735978 master -> origin/master
こんな感じで、サーバーが変わったので、sshの認証に使ってる鍵のfingerprintの確認が出ましたが、originのURLを新しい中央リポジトリに変えるだけで、ワーキングツリーはそのまま利用出来ました。
ところで、例用のドメインはexample.comがあるけど、例用のIPってないのかな?
例として推奨されているドメイン名とIPアドレス - あどけない話3. Documentation Address Blocks
The blocks 192.0.2.0/24 (TEST-NET-1), 198.51.100.0/24 (TEST-NET-2),
http://tools.ietf.org/html/rfc3330
and 203.0.113.0/24 (TEST-NET-3) are provided for use in
documentation.
ありました。