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

548

Ich habe mein Projekt auf GitHub an einem Ort [email protected]:myname/oldrep.git.

Jetzt möchte ich meinen gesamten Code in ein neues Repository an einem anderen Ort verschieben [email protected]:newname/newrep.git.

Ich habe den Befehl verwendet:

git remote add origin [email protected]:myname/oldrep.git

aber ich erhalte dies:

fatal: Remote-Ursprung existiert bereits.

Uzumaki Naruto
quelle
6
Geben Sie die Ausgabe des Befehls $> git remote -v show
sykora
Mögliches Duplikat von Github "fatal: Remote Origin existiert bereits"
Dieser Brasilianer
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 [email protected]: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 [email protected]:myname/oldrep.git  
git remote add testtest [email protected]: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
MrHus
quelle
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 [email protected]: 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 [email protected]: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

Hoetmaaiers
quelle
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
Özgür
quelle
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 [email protected]: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

Shaurya Uppal
quelle
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 = [email protected]

[github]
        user = myname
        token = ff44ff8da195fee471eed6543b53f1ff

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

[remote "github"]
        url = [email protected]: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).

Jakub Narębski
quelle
10
  1. git remote rm origin

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

  3. git remote add origin [email protected]: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.

dev
quelle
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 [email protected]: myname / oldrep.git

mpelzsherman
quelle
8
git remote rm origin
git remote add origin [email protected]:username/myapp.git
Aayushi
quelle
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://[email protected]/team-or-user-name/myproject.git
git push -u mynewrepo master # To push changes for the first time

Das ist es.

Michael
quelle
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://[email protected]/somewhere/something.git
Michael Murphy
quelle
4

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

git remote add origin [email protected]:myname/oldrep.git

zu

git remote add neworigin [email protected]: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.

Nirvanastack
quelle
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).

nolim1t
quelle
1

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

Clay Morton
quelle
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 [email protected]: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.

Madan Sapkota
quelle
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
Sarath Chandran
quelle
-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.

Khadim Rana
quelle
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.

Shivam Sharma
quelle