USBキーに入っているレポ(origin)をハードドライブ(local)にクローンしました。オリジンをNASに移動させ、ここからクローンを作成するテストに成功しました。
そこで、"local"の設定で、"origin"のURIを変更して、USBキーからではなく、NASから取得するようにできないか知りたいと思います。
今のところ、2つの解決策があります。
すべてをUSB-orignにプッシュし、それを再びNASにコピーする(nas-originへの新しいコミットのため、多くの作業が必要になります)。
新しいリモートを"local"に追加し、古いものを削除する(履歴が壊れてしまうのではないかと心配です)。
git remote -v
# View existing remotes
# origin https://github.com/user/repo.git (fetch)
# origin https://github.com/user/repo.git (push)
git remote set-url origin https://github.com/user/repo2.git
# Change the 'origin' remote's URL
git remote -v
# Verify new remote URL
# origin https://github.com/user/repo2.git (fetch)
# origin https://github.com/user/repo2.git (push)
差出人: http://pseudofish.com/blog/2010/06/28/change-host-for-a-git-origin-server/
願わくば、これがあなたにとって必要なことでないことを祈ります。いくつかのgitプロジェクトで共同作業をするために使っていたサーバーのドメイン名が失効しました。そのため、ローカルのリポジトリを移行して同期を取る方法を見つけなければなりませんでした。
更新:最近の git バージョンでは簡単な方法があることを指摘してくれた @mawolf に感謝します (2010 年 2 月の投稿)。
git remote set-url origin ssh://newhost.com/usr/local/gitroot/myproject.git
詳細はmanページをご覧ください。
もし古いバージョンを使っているのであれば、これを試してみてください。
注意点としては、同じサーバーで名前が違うだけの場合にのみ動作します。
新しいホスト名が newhost.com
で、古いホスト名が oldhost.com
だったとすると、変更はとても簡単です。
作業ディレクトリにある .git/config
ファイルを編集します。次のようなものが表示されるはずです。
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://oldhost.com/usr/local/gitroot/myproject.git
oldhost.comを
newhost.com` に変更し、ファイルを保存すれば完了です。
私の限られたテスト(git pull origin; git push origin; gitx
)では、すべて順調に進んでいるようです。そうそう、git の内部をいじるのはよくないことだとわかっています。