Mam repo (origin) na kluczu USB, które sklonowałem na moim dysku twardym (lokalnym). Przeniosłem "origin" do NAS i pomyślnie przetestowałem klonowanie go z tego miejsca.
Chciałbym wiedzieć, czy mogę zmienić URI "origin" w ustawieniach "local", tak aby teraz pobierał z NAS, a nie z klucza USB.
Na razie widzę dwa rozwiązania:
wypchnąć wszystko na usb-orign, i ponownie skopiować na NAS (implikuje dużo pracy z powodu nowych commitów do nas-origin);
dodać nowego remote'a do "local" i usunąć starego (obawiam się, że zepsuję sobie historię).
Można
git remote set-url origin new.git.url/here
(zobacz git help remote
) lub możesz po prostu edytować .git/config
i zmienić tam adresy URL. Nie jesteś w żadnym niebezpieczeństwie utraty historii, chyba że zrobisz coś bardzo głupiego (a jeśli się martwisz, po prostu zrób kopię swojego repo, ponieważ twoje repo jest twoją historią).
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)
Zmiana hosta dla serwera Git Origin
od: http://pseudofish.com/blog/2010/06/28/change-host-for-a-git-origin-server/
Mam nadzieję, że to nie jest coś, co musisz zrobić. Serwer, którego używałem do współpracy nad kilkoma projektami git, miał wygasającą nazwę domeny. Oznaczało to znalezienie sposobu na migrację lokalnych repozytoriów, aby odzyskać synchronizację.
Aktualizacja: Dzięki @mawolf za wskazanie, że istnieje łatwy sposób z ostatnimi wersjami git (post Feb, 2010):
git remote set-url origin ssh://newhost.com/usr/local/gitroot/myproject.git
Zobacz stronę man, aby uzyskać szczegółowe informacje.
Jeśli jesteś na starszej wersji, spróbuj tego:
Jako zastrzeżenie, działa to tylko wtedy, gdy jest to ten sam serwer, tylko z różnymi nazwami.
Zakładając, że nowa nazwa hosta to newhost.com
, a stara to oldhost.com
, zmiana jest dość prosta.
Edytuj plik .git/config
w swoim katalogu roboczym. Powinieneś zobaczyć coś takiego:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://oldhost.com/usr/local/gitroot/myproject.git
Zmień oldhost.com
na newhost.com
, zapisz plik i gotowe.
Z moich ograniczonych testów (git pull origin; git push origin; gitx
) wszystko wydaje się w porządku. I tak, wiem, że jest to zła forma, aby zadzierać z wewnętrznymi elementami git.