Remote-Ursprung existiert bereits bei 'Git Push' in ein neues Repository


548

Ich habe mein Projekt auf GitHub an einem Ort git@github.com:myname/oldrep.git.

Jetzt möchte ich meinen gesamten Code in ein neues Repository an einem anderen Ort verschieben git@github.com:newname/newrep.git.

Ich habe den Befehl verwendet:

git remote add origin git@github.com:myname/oldrep.git

aber ich erhalte dies:

fatal: Remote-Ursprung existiert bereits.


6
Geben Sie die Ausgabe des Befehls $> git remote -v show
sykora


Eine gute Möglichkeit ist die Verwendung von "Import aus einem anderen Repository" am unteren Rand Ihres neu erstellten Repositorys, wenn Sie die URL des alten Repositorys kennen.
JW.ZG

Eine ähnliche Frage wurde hier gestellt: stackoverflow.com/questions/2432764/…
jciloa

1
Wenn Sie das Original behalten möchte Fernbedienung können Sie einfach einen anderen Namen verwenden git remote add origin2 ...., aber wenn Sie drücken müssen einmal ohne die Repo - Konfiguration zu modifizieren , dann können Sie einfach tun git push git@github.com:user/another-project.git master:master.
ccpizza

Antworten:


870

Sie erhalten diesen Fehler, weil "Ursprung" nicht verfügbar ist. "Ursprung" ist eine Konvention, die nicht Teil des Befehls ist. "Ursprung" ist der lokale Name des Remote-Repositorys.

Zum Beispiel könnten Sie auch schreiben:

git remote add myorigin git@github.com:myname/oldrep.git  
git remote add testtest git@github.com:myname/oldrep.git

Siehe Handbuch:

http://www.kernel.org/pub/software/scm/git/docs/git-remote.html

So entfernen Sie ein entferntes Repository:

git remote rm origin

Wiederum ist "Ursprung" der Name des Remote-Repositorys, wenn Sie die "Upstream" -Fernbedienung entfernen möchten:

git remote rm upstream

8
"git remote rm origin" hat bei mir nicht funktioniert. Wenn es bei Ihnen nicht funktioniert, versuchen Sie es mit "git remote -v". Dies zeigt Ihnen, ob für Ihren Ursprung eine URL festgelegt ist, wenn dies nicht wahrscheinlich ist habe den init lokal gemacht und versuche ihn fernzuschieben und habe einen Fehltritt wie ich gemacht). Folgen Sie dann RobinHs Antwort: git remote set-url origin git@github.com: Benutzername / Projektname.git
Clarence Liu

1
Überprüfen Sie diese Antwort , um die URL zu erzwingen.
Srodriguex

"git remote rm origin" hat wie ein Zauber gewirkt, wunderbar! :) puhh, ich bin neu in der Terminologie von git, also war es eine größere Suche, aber deine Antwort hat mir sehr geholfen. :) Danke!
Martin Pfeffer

3
git push -u origin master --force
Ronnie Royston

- Kraft ist Lösung!
Schöpfer

260

Die vorherigen Lösungen scheinen den Ursprung zu ignorieren und schlagen nur vor, einen anderen Namen zu verwenden. Wenn Sie nur verwenden möchten git push origin, lesen Sie weiter.

Das Problem tritt auf, weil eine falsche Reihenfolge der Git-Konfiguration eingehalten wird. Möglicherweise haben Sie Ihrer .git-Konfiguration bereits einen 'Git-Ursprung' hinzugefügt.

Sie können den Remote-Ursprung in Ihrer Git-Konfiguration mit der folgenden Zeile ändern:

git remote set-url origin git@github.com:username/projectname.git

Dieser Befehl legt eine neue URL für das Git-Repository fest, an das Sie einen Push senden möchten. Wichtig ist, dass Sie Ihren eigenen Benutzernamen und Projektnamen eingeben


7
Danke, genau das, was ich tun musste :)
Winkbrace

Das hat es für mich getan. Aber was mir bei diesem Problem wirklich geholfen hat, war, dass ich portableGit verwende, das mit Gihub für Windows installiert wurde. Ich habe hier die Lösung gefunden
PerseP

Großartig! Ich musste mein herrliches Repo in Git Lab Repo ändern und diese Lösung war perfekt! Vielen Dank!
Marcelo dos Santos

Dieselbe Situation wie bei OP, und ich musste dies tun und dann die Lösung von @ MrHus.
Sean the Bean

4
Dies ist die beste Antwort IMHO
Kratos

83

Wenn Sie den lokalen Namen fälschlicherweise als "Ursprung" bezeichnet haben, können Sie ihn folgendermaßen entfernen:

git remote rm origin

Was bedeutet "fälschlicherweise den lokalen Namen als" Ursprung "bezeichnet"? Können Sie es im Detail erklären? @Ozgur
Yuan Wen

1
Dies kann bedeuten, dass Sie den Remote-Ursprung hinzugefügt haben, der nicht auf ein Git-Repository verweist. Wenn Sie planen, alle Ihre Änderungen an den Master zu übertragen, beschwert sich der Git daher, dass der Remote-Ursprung kein Git-Repository ist.
Gautham Honnavara

22

METHODE1->

Da der Ursprung bereits existiert, entfernen Sie ihn.

git remote rm origin
git remote add origin https://github.com/USERNAME/REPOSITORY.git

METHODE2->

Sie können die vorhandene Remote-Repository-URL auch über -> git remote set-url ändern

Wenn Sie auf HTTPS aktualisieren

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

Wenn Sie auf SSH aktualisieren

git remote set-url origin git@github.com:USERNAME/REPOSITORY.git

Wenn Sie versuchen, eine nicht vorhandene Fernbedienung zu aktualisieren, wird eine Fehlermeldung angezeigt. Also sei vorsichtig damit.

METHODE3->

Verwenden Sie den Befehl git remote rename, um eine vorhandene Fernbedienung umzubenennen. Ein vorhandener entfernter Name, z. B. Ursprung.

git remote rename origin startpoint
# Change remote name from 'origin' to 'startpoint'

So überprüfen Sie den neuen Namen der Fernbedienung:>

git remote -v

Wenn Sie neu bei Git sind, versuchen Sie dieses Tutorial->

VERSUCHEN SIE GIT TUTORIAL


1
Vielen Dank. Ich wurde heruntergeladen, jemand anderes git und wollte es dann auch in meinen GitHub klonen. Schließlich bin ich mit Ihrer ersten Methode erfolgreich.
Naimur Hasan

17

Sie können Ihre Konfigurationsdatei einfach in einem Texteditor bearbeiten.

In der müssen ~/.gitconfigSie etwas wie das folgende eingeben:

[user]
        name  = Uzumaki Naruto
        email = myname@example.com

[github]
        user = myname
        token = ff44ff8da195fee471eed6543b53f1ff

In der oldrep/.git/configDatei (in der Konfigurationsdatei Ihres Repositorys):

[remote "github"]
        url = git@github.com:myname/oldrep.git
        push  = +refs/heads/*:refs/heads/*
        push  = +refs/tags/*:refs/tags/*

Wenn die Konfigurationsdatei Ihres Repositorys einen Remote-Abschnitt enthält und die URL übereinstimmt, müssen Sie nur die Push-Konfiguration hinzufügen. Wenn Sie eine öffentliche URL zum Abrufen verwenden, können Sie die URL zum Pushing als 'pushurl' eingeben (Warnung: Dies erfordert die gerade veröffentlichte Git-Version 1.6.4).


10
  1. git remote rm origin

  2. git remote -v Es wird kein Repository-Name angezeigt

  3. git remote add origin git@github.com:username/myapp.git

  4. git push origin master Der Prozess wird gestartet und der neue Zweig erstellt. Sie können sehen, dass Ihre Arbeit zu Github geschoben wird.


8

Sie müssen Ihre vorhandene "Ursprungs" -Fernbedienung nicht entfernen, sondern nur einen anderen Namen als "Ursprung" für Ihre Fernbedienung hinzufügen, z

git remote github hinzufügen git@github.com: myname / oldrep.git


8
git remote rm origin
git remote add origin git@github.com:username/myapp.git

6

Ich habe das gleiche Problem und habe es nach einigen Recherchen folgendermaßen behoben:

  1. Laden Sie GitHub für Windows herunter oder verwenden Sie etwas Ähnliches, das eine Shell enthält
  2. Öffnen Sie das Git ShellMenü from task. Dadurch wird eine Power Shell mit Git-Befehlen geöffnet.
  3. Wechseln Sie in der Shell zu Ihrem alten Repository, z cd C:\path\to\old\repository
  4. Status des alten Repositorys anzeigen

  5. Entfernen Sie nun das Remote-Repository mithilfe von aus dem lokalen Repository

    git remote rm origin
    
  6. Überprüfen Sie erneut mit Schritt 4. Es sollte originnur angezeigt werden, anstelle des Abruf- und Push-Pfads.

  7. Nachdem Ihr altes Remote-Repository getrennt wurde, können Sie das neue Remote-Repository hinzufügen. Verwenden Sie Folgendes, um eine Verbindung zu Ihrem neuen Repository herzustellen.

Hinweis: Wenn Sie Bitbucket verwenden, erstellen Sie zuerst ein Projekt auf Bitbucket. Nach der Erstellung zeigt Bitbucket alle erforderlichen Git-Befehle an, um Ihr Repository auf Remote zu übertragen, die dem nächsten Code-Snippet ähneln. Dies funktioniert jedoch auch für andere Repositorys.

cd /path/to/my/repo # If haven't done yet
git remote add mynewrepo https://user@bitbucket.org/team-or-user-name/myproject.git
git push -u mynewrepo master # To push changes for the first time

Das ist es.


5

Ich hatte das gleiche Problem, als ich Bitbucket zum ersten Mal einrichtete .

Mein Problem war, dass ich den Wortursprung für etwas Selbstdefiniertes ändern musste. Ich habe den Namen der Anwendung verwendet. Damit:

git remote add AppName https://someone@bitbucket.org/somewhere/something.git

4

Sie sollten den Namen des Remote-Repositorys in einen anderen Namen ändern.

git remote add origin git@github.com:myname/oldrep.git

zu

git remote add neworigin git@github.com:myname/oldrep.git

Ich denke das sollte funktionieren.

Ja, diese dienen zum Repository-Init und zum Hinzufügen einer neuen Fernbedienung. Nur mit einer Namensänderung.


3

Sie können auch den Repository-Namen ändern, an den Sie in der Datei REPOHOME / .git / config senden möchten

(wobei REPOHOME der Pfad zu Ihrem lokalen Klon des Repositorys ist).


1

Dies kann auch passieren, wenn Sie vergessen, ein erstes Commit durchzuführen.


0

Sie müssen das überprüfen originund hinzufügen, wenn es nicht vorhanden ist.

if ! git config remote.origin.url >/dev/null; then
    git remote add origin git@github.com:john/doe.git
fi

Erstellen Sie eine Datei check.sh, fügen Sie das Skript ein, aktualisieren Sie Ihre Git-Repository-URL und führen Sie sie aus ./check.sh.


0

Schritt 1

git remote rm origin

Schritt 2

git remote add origin enter_your_repository_url

Beispiel:

git remote add origin https://github.com/my_username/repository_name.git

-1

Schreiben Sie zunächst diese Codezeile für die entfernte Fernbedienung:

$ git remote rm origin

und dann schreibe diese Zeile:

$ git remote add origin https://github.com/khadim321/React-Form.git

Es funktioniert richtig.


Bitte versuchen Sie, mehr Erklärungen zu geben, um Ihrer Antwort mehr Wert zu verleihen
Zeina

Ich bin mir nicht sicher, ob es jemandem hilft, eines Ihrer Github-Repositorys als Remote-Ursprung hinzuzufügen. Diese Frage wurde bereits einige Male beantwortet. Überprüfen Sie die andere Frage, bevor Sie eine neue Frage mit einer so geringen Qualität erstellen.
thmspl

-1

Wenn Sie ein neues Repository mit demselben Projekt im Github erstellen möchten und die vorherige Remote dies in diesem Fall nicht zulässt, löschen Sie zuerst das Repository auf dem Github. Dann müssen Sie einfach den .git-Ordner C: \ Users \ löschen Shiva \ AndroidStudioProjects \ yourprojectname \ .git löscht diesen Ordner (stellen Sie sicher, dass Sie auf versteckte Datei klicken, da dieser Ordner versteckt ist).

Klicken Sie auch auf das Minus (Schaltfläche Entfernen) in der Android Studio-Einstellung-> VersionControl. Klicken Sie hier, um die Versionskontrolle von Android zu entfernen. Anschließend können Sie ein neues Repository erstellen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.