Ik heb een repo (origin) op een USB-sleutel die ik heb gekloond op mijn harde schijf (lokaal). Ik verplaatste "origin" naar een NAS en testte met succes het klonen vanaf hier.
Ik zou graag willen weten of ik de URI van "origin" kan veranderen in de instellingen van "local" zodat het nu van de NAS zal halen, en niet van de USB-sleutel.
Voor nu, zie ik twee oplossingen:
push alles naar de usb-orign, en kopieer het opnieuw naar de NAS (impliceert een hoop werk als gevolg van nieuwe commits naar nas-origin);
voeg een nieuwe remote toe aan "local" en verwijder de oude (ik vrees dat ik'mijn geschiedenis zal breken).
U kunt
git remote set-url origin new.git.url/here
(zie git help remote
) of je kunt gewoon .git/config
bewerken en de URLs daar veranderen. Je'bent niet in gevaar om de geschiedenis te verliezen, tenzij je iets heel doms doet (en als je'je zorgen maakt, maak dan gewoon een kopie van je repo, omdat je repo is je geschiedenis).
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)
Host wijzigen voor een Git Origin Server
van: http://pseudofish.com/blog/2010/06/28/change-host-for-a-git-origin-server/
Hopelijk is dit niet iets wat je hoeft te doen. De server die ik gebruik om aan een paar git projecten mee te werken, had een verlopen domeinnaam. Dit betekende dat ik een manier moest vinden om de lokale repositories te migreren om weer synchroon te komen.
Update: Met dank aan @mawolf voor het erop wijzen dat er een makkelijke manier is met recente git versies (post feb, 2010):
git remote set-url origin ssh://newhost.com/usr/local/gitroot/myproject.git
Zie de man pagina voor details.
Als je op een oudere versie zit, probeer dan dit:
Als caveat, dit werkt alleen als het dezelfde server is, alleen met andere namen.
Ervan uitgaande dat de nieuwe hostnaam newhost.com
is, en de oude oldhost.com
, dan is de verandering vrij simpel.
Bewerk het .git/config
bestand in je werkmap. Je zou iets als het volgende moeten zien:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://oldhost.com/usr/local/gitroot/myproject.git
Verander oldhost.com
in newhost.com
, sla het bestand op en je bent klaar.
Uit mijn beperkte testen (git pull origin; git push origin; gitx
) lijkt alles in orde. En ja, ik weet dat het niet netjes is om met git internals te rommelen.