Ich habe ein Repo (Origin) auf einem USB-Stick, das ich auf meiner Festplatte (lokal) geklont habe. Ich habe "Origin" in ein NAS verschoben und das Klonen von hier aus erfolgreich getestet.
Ich würde gerne wissen, ob ich den URI von "Origin" in den Einstellungen von "local" ändern kann, damit er jetzt vom NAS und nicht vom USB-Stick abgerufen wird.
Im Moment sehe ich zwei Lösungen:
Schieben Sie alles in den USB-Orign, und kopieren Sie es erneut auf das NAS (dies bedeutet eine Menge Arbeit aufgrund neuer Verpflichtungen zu nas-Origin).
füge eine neue Fernbedienung zu "local" hinzu und lösche die alte (ich fürchte, ich brich meine Geschichte).
Sie können
git remote set-url Origin new.git.url/here
(siehe git help remote
) oder Sie können einfach .git/config
bearbeiten und die URLs dort ändern. Es besteht keine Gefahr, dass Sie die Geschichte verlieren, wenn Sie nicht etwas sehr Dummes tun (und wenn Sie sich Sorgen machen, machen Sie einfach eine Kopie Ihres Repos, da Ihr Repo ist Ihre Historie ist.)
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 für einen Git Origin Server ändern
von: http://pseudofish.com/blog/2010/06/28/change-Host-for-a-git-Origin-server/
Ich hoffe, dass Sie dies nicht tun müssen. Bei dem Server, den ich für die Zusammenarbeit bei einigen git-Projekten verwendet habe, war der Domänenname abgelaufen. Dies bedeutete, einen Weg zu finden, die lokalen Repositorys zu migrieren, um wieder synchron zu sein.
Update: Danke an @mawolf für den Hinweis, dass es mit den letzten Git-Versionen (post Feb, 2010) einen einfachen Weg gibt:
git remote set-url Origin ssh://newhost.com/usr/local/gitroot/myproject.git
Weitere Informationen finden Sie in der Manpage.
Wenn Sie eine ältere Version verwenden, versuchen Sie Folgendes:
Als Vorbehalt funktioniert dies nur, da es sich um denselben Server handelt, nur mit unterschiedlichen Namen.
Angenommen, der neue Hostname ist newhost.com
, und der alte war oldhost.com
, die Änderung ist ziemlich einfach.
Bearbeiten Sie die .git/config
-Datei in Ihrem Arbeitsverzeichnis. Sie sollten etwas sehen wie:
[remote "Origin"]
fetch = +refs/heads/*:refs/remotes/Origin/*
url = ssh://oldhost.com/usr/local/gitroot/myproject.git
Ändern Sie oldhost.com
in newhost.com
, speichern Sie die Datei und Sie sind fertig.
Von meinem begrenzten Test (git pull Origin; git Push Origin; gitx
) scheint alles in Ordnung zu sein. Und ja, ich weiß, es ist eine schlechte Form, sich mit Git-Interna zu beschäftigen.
git remote set-url Origin git://new.location
(Alternativ .git/config
öffnen, nach [remote "Origin"]
suchen und die url =
-Zeile bearbeiten.
Sie können überprüfen, ob es funktioniert, indem Sie die Fernbedienungen überprüfen:
git remote -v
# Origin git://new.location (fetch)
# Origin git://new.location (Push)
Beim nächsten Push müssen Sie den neuen Upstream-Zweig angeben, z.
git Push -u Origin master
Siehe auch: GitHub: Ändern der URL einer Fernbedienung
Terminal öffnen.
Ist Schritt: - Ändern Sie das aktuelle Arbeitsverzeichnis in Ihr lokales Projekt.
2. Schritt: - Listen Sie Ihre vorhandenen Fernbedienungen auf, um den Namen der zu ändernden Fernbedienung zu erhalten.
git remote -v
Origin https://github.com/USERNAME/REPOSITORY.git (fetch)
Origin https://github.com/USERNAME/REPOSITORY.git (Push)
Ändern Sie die URL Ihrer Remote von HTTPS in SSH mit dem Befehl git remote set-url.
3. Schritt: - git remote set-url Origin [email protected]:USERNAME/REPOSITORY.git
4. Schritt: - Vergewissern Sie sich jetzt, dass sich die Remote-URL geändert hat.
git remote -v
Überprüfen Sie die neue Remote-URL
Origin [email protected]:USERNAME/REPOSITORY.git (fetch)
Origin [email protected]:USERNAME/REPOSITORY.git (Push)
git remote set-url {name} {url}
ex) git remote set-url Origin https://github.com/myName/GitTest.git
wenn Sie geklont sind, besteht Ihr lokales System automatisch aus
remote-URL, wo geklont wird.
sie können es mit git remote -v
überprüfen
wenn Sie Änderungen daran vornehmen möchten,
git remote set-url Origin https://github.io/my_repo.git
hier,
Origin - Ihre Branche
wenn Sie überschreiben vorhandene Zweigstelle verwenden möchten, können Sie sie trotzdem verwenden.
git remote remove url
and
git remote add Origin url
für dich ...
Ich arbeitete:
git remote set-url Origin <project>
So überprüfen Sie die Git-Remote-Verbindung:
git remote -v
Setzen Sie nun das lokale Repository auf remote git:
git remote set-url Origin https://NewRepoLink.git
Um es als Upstream oder Push zu verwenden, verwenden Sie folgenden Code:
git Push --set-upstream Origin master -f
Wenn Sie TortoiseGit verwenden, führen Sie die folgenden Schritte aus:
TortoiseGit -> Settings
zu gelangen.Git -> Remote
aus.Origin
.URL
an die Stelle, an der sich Ihr neues Remote-Repository befindetIhre Niederlassung und alle Ihre lokalen Verpflichtungen bleiben erhalten, und Sie können wie zuvor arbeiten.
Geben Sie in der Git Bash den Befehl ein:
git remote set-url Origin https://NewRepoLink.git
Geben Sie die Anmeldeinformationen ein
Erledigt
Sie haben viele Möglichkeiten, dies zu tun:
Konsole
git remote set-url Origin [Here new url]
Stellen Sie nur sicher, dass Sie es an einem Ort geöffnet haben, an dem sich ein Repository befindet.
Config
Es befindet sich in .git/config (derselbe Ordner wie das Repository)
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "Origin"]
url = [Here new url] <------------------------------------
...
TortoiseGit
Dann bearbeiten Sie einfach die URL.
SourceTree
Klicken Sie in der Symbolleiste auf die Schaltfläche "Einstellungen", um das Fenster "Repository-Einstellungen" zu öffnen.
Klicken Sie auf "Hinzufügen", um dem Repository einen Remote-Repository-Pfad hinzuzufügen. Ein Fenster "Remote Details" wird geöffnet.
Geben Sie einen Namen für den Remote-Pfad ein.
Geben Sie die URL/den Pfad für das Remote-Repository ein
Geben Sie den Benutzernamen für den Hosting-Service für das Remote-Repository ein.
Klicken Sie auf "OK", um den Remote-Pfad hinzuzufügen.
Klicken Sie im Fenster "Repository-Einstellungen" auf "OK". Der neue Remote-Pfad sollte jetzt im Repository hinzugefügt werden.
Wenn Sie einen bereits hinzugefügten Remote-Pfad bearbeiten müssen, klicken Sie einfach auf die Schaltfläche "Bearbeiten". Sie sollten zum Fenster "Remote-Details" geleitet werden, in dem Sie die Details (URL/Pfad/Host-Typ) des Remote-Pfads bearbeiten können.
Um einen Remote-Repository-Pfad zu entfernen, klicken Sie auf die Schaltfläche "Entfernen"
ref. Unterstützung
Fehlerbehebung :
Diese Fehler können auftreten, wenn Sie versuchen, eine Fernbedienung zu ändern. __ Keine solche Fernbedienung [[Name]]
Dieser Fehler bedeutet, dass die Fernbedienung, die Sie ändern wollten, nicht vorhanden ist:
git remote set-url sofake https://github.com/octocat/Spoon-Knife fatal: Keine solche "Sofake"
Überprüfen Sie, ob Sie den Namen der Fernbedienung richtig eingegeben haben.
Referenz: https://help.github.com/articles/changing-a-remote-s-url/
Ändern Sie den Remote-Git-URI in
[email protected]
anstatt inhttps://github.com
.
git remote set-url Origin [email protected]:<username>/<repo>.git
Der Vorteil ist, dass Sie git Push
automatisch ausführen können, wenn Siessh-agentverwenden:
eval `ssh-agent` && expect ~/.ssh/agent && ssh-add -l
git add . && git commit -m "your commit" && git Push -u Origin master
Auch wenn Sieverwenden, erwarten Siefür eine Skriptdatei wie folgt:
#!/usr/bin/expect -f
spawn git Push Origin
expect "Username for 'https://github.com':"
send "<username>\n"
expect "Password for 'https://[email protected]':"
send "<password>\n"
interact