Na ključu USB imam repro (origin), ki sem ga kloniral na svoj trdi disk (lokalni). Premaknil sem "origin" na NAS in uspešno preizkusil kloniranje od tu.
Zanima me, ali lahko spremenim URI za "origin" v nastavitvah "local", tako da se bo zdaj kopiral iz NAS-a in ne iz ključa USB.
Za zdaj vidim dve rešitvi:
vse potisnite na ključ USB-orign in ponovno kopirajte na NAS (kar pomeni veliko dela zaradi novih dopolnitev v nas-origin);
dodati nov oddaljeni strežnik v "local" in izbrisati starega (bojim se, da bom uničil svojo zgodovino).
Lahko
git remote set-url origin new.git.url/here
(glej git help remote
) ali pa samo uredite .git/config
in tam spremenite URL-je. Ni nevarnosti, da bi izgubili zgodovino, razen če naredite kaj zelo neumnega (in če vas skrbi, naredite kopijo svojega repozitorija, saj je vaš repozitorij je vaša zgodovina).
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)
Sprememba gostitelja za izvorni strežnik Git
iz: http://pseudofish.com/blog/2010/06/28/change-host-for-a-git-origin-server/
Upajmo, da vam tega ne bo treba storiti. Strežniku, ki sem ga uporabljal za sodelovanje pri nekaj projektih git, je poteklo ime domene. To je pomenilo, da je treba najti način za prenos lokalnih skladišč, da bi se ponovno sinhronizirali.
Posodobitev: Hvala @mawolf za opozorilo, da obstaja preprost način z zadnjimi različicami sistema git (objavljeno februarja 2010):
git remote set-url origin ssh://newhost.com/usr/local/gitroot/myproject.git
Za podrobnosti si oglejte priročno stran.
Če uporabljate starejšo različico, poskusite to:
To deluje le, če gre za isti strežnik, le z različnimi imeni.
Ob predpostavki, da je novo ime gostitelja newhost.com
, staro pa je bilo oldhost.com
, je sprememba precej preprosta.
Uredite datoteko .git/config
v svojem delovnem imeniku. Videli bi morali videti nekaj takega:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://oldhost.com/usr/local/gitroot/myproject.git
Spremenite oldhost.com
v newhost.com
, shranite datoteko in končali ste.
Po mojem omejenem testiranju (git pull origin; git push origin; gitx
) se zdi, da je vse v redu. In da, vem, da je slabo, če se ukvarjamo z notranjimi funkcijami sistema git.