Ich habe ein neues Repository auf Github erstellt, das jetzt nur die Datei Readme.md enthält.
Ich habe ein neu erstelltes RoR-Projekt, das ich in dieses Repository verschieben wollte. Im Folgenden sind die Befehle aufgeführt, die ich in meinem Terminal gegeben habe, um dies zusammen mit dem Fehler auszuführen, den ich erhalte.
git remote add origin https://github.com/aniruddhabarapatre/learn-rails.git
Danach habe ich meinen Benutzernamen und mein Passwort eingegeben
git push -u origin master
Error ---
To https://github.com/aniruddhabarapatre/learn-rails.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://github.com/aniruddhabarapatre/learn-rails.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Dies ist mein erstes Mal, dass ich meinen Code in ein Github-Repository schiebe, und ich bin mit den Fehlern verloren. Ich habe einige andere Fragen durchsucht, die hier gestellt werden, aber keine von ihnen hatte beim ersten Mal Probleme.
Antworten:
Als Sie Ihr Repository auf GitHub erstellt haben , haben Sie eine README.md erstellt , bei der es sich um ein neues Commit handelt .
Ihr lokales Repository kennt dieses Commit noch nicht. Daher:
Möglicherweise möchten Sie diesen Rat befolgen:
Das ist:
quelle
fatal: refusing to merge unrelated histories
solchen Fall möglicherweise eine , die Sie einreichengit pull --allow-unrelated-histories origin master
und dann gemäß der obigen Antwort drückenWenn dies Ihr erster Stoß ist
ändere einfach die
ändere es so!
quelle
Und hier ist ein GIF.
⚠️ ACHTUNG : Mit
force
kann der Verlauf für andere Personen im selben Projekt geändert werden. Wenn Sie nicht möchten, dass eine Datei für alle gelöscht wird, fahren Sie einfach fort. Vor allem, wenn Sie der einzige Entwickler im Projekt sind.quelle
git push -f origin master
ist keine große Angewohnheit zu bilden.-f
Tag entfernt Dateien und sollte mit Vorsicht verwendet werden.Geben Sie einen erzwungenen Push mit dem Befehl aus:
quelle
Angenommen, Sie haben die Datei Readme.md über die von github bereitgestellte Schnittstelle hinzugefügt, befindet sich die Readme-Datei noch nicht in Ihrem lokalen Ordner. Wenn Sie versuchen, auf das Remote-Repo zu pushen, wird eine Fehlermeldung angezeigt, da Ihrem lokalen Repo die Readme-Datei fehlt - es ist sozusagen "hinter der Zeit". Versuchen Sie daher, wie in der Fehlermeldung vorgeschlagen, zuerst "git pull". Dadurch wird die Readme-Datei aus dem Remote-Repository abgerufen und mit Ihrem lokalen Verzeichnis zusammengeführt. Danach sollten Sie kein Problem damit haben, zum Remote-Repo zu wechseln (die von Ihnen geposteten Befehle scheinen für mich gültig zu sein).
quelle
Dies ist der Fall, wenn Sie zunächst versuchen zu pushen. In Ihrem GitHub-Repo haben Sie readMe.md oder eine andere neue Sache, die nicht in Ihrem lokalen Repo enthalten ist. Zuerst müssen Sie die nicht verwandte Geschichte Ihres Github-Repos zusammenführen. Um dies zu tun
Dann können Sie die anderen Dateien von Repo (readMe.md oder eine beliebige) damit abrufen
Nachdem
Jetzt haben Sie alle Änderungen erfolgreich in Github Repo übernommen. Ich bin kein Experte für Git, aber jedes Mal, wenn diese Schritte für mich funktionieren.
quelle
Wenn Sie Ihre Änderungen seit einiger Zeit nicht mehr festgeschrieben haben, funktioniert dies möglicherweise für Sie.
Das hat bei mir funktioniert, hoffentlich auch bei Ihnen.
quelle
Wenn Sie das Git für Mac in der GUI verwenden, können Sie zuerst Respository-> Pull oder "comm + shift + p" wählen, um "git pull" zu erstellen und dann die Quelle zu veröffentlichen.
quelle
Dieser Fehler tritt auf, wenn Sie die Daten aus Ihrem lokalen Verzeichnis mit dem folgenden git-Befehl in Ihr Remote-Git-Repository übertragen:
git push -u origin master
Da die Dateien des lokalen Verzeichnisses und des Git-Remote-Verzeichnisses in Konflikt geraten.
Lösung:
Führen Sie die folgenden Schritte aus, nachdem Sie alle Dateien für die Bereitstellung bereitgestellt haben.
Rufen Sie die Dateien aus dem Remote-Repository ab, da sie mit dem lokalen Arbeitsverzeichnis in Konflikt stehen.
git pull <remoter-url> <branch-name>
Übernehmen Sie die Änderungen erneut.
git add -A
git commit -m ‘<comment>'
Nach festgeschriebenen Zusammenführungsdateien mit beiden Verzeichnissen können Sie verwenden
git push -u origin master
Dies wird das Problem beheben. Vielen Dank.
quelle
Ich hatte ein ähnliches Problem ... Ich habe es so gelöst (ich bin kein Git-Experte, daher weiß ich nicht, ob es eine richtige Lösung ist, aber es hat bei mir funktioniert):
quelle
Ich hatte mehr als eine Stunde mit diesem Fehler zu kämpfen! Unten ist, was mir geholfen hat, es zu lösen. All dies, während mein Arbeitsverzeichnis das Repo war, das ich auf meinem System geklont hatte.
Wenn Sie Dateien zu Ihrem vorhandenen Repository hinzufügen ** 1. Ich habe alles, was ich meinem Repository hinzugefügt habe, in meinen GitHub-Ordner verschoben:
Git Pull
Die Ausgabe war eine Readme-Datei Datei1 Datei2
z.B. einige Readme-Datei Datei1 Datei2 Newfile1 Newfile2
git add "newfile1" "newfile2"
[optional] Git-Status Dies stellt sicher, dass die Dateien, die Sie hinzufügen möchten, ordnungsgemäß bereitgestellt wurden oder nicht ausgegeben wurden
Am Filialstamm Ihre Filiale ist mit 'Ursprung / Master' auf dem neuesten Stand. Zu übernehmende Änderungen: (Verwenden Sie "git reset HEAD ...", um die Bühne zu verlassen.)
5.git commit -m "Welche Beschreibung Sie auch immer geben möchten" 6.git push
Und alle meine neuen Dateien zusammen mit den älteren wurden in meinem Repo gesehen.
quelle
Eine einfachere Antwort ist das manuelle Hochladen der Datei README.MD von Ihrem Computer auf GitHub. Hat sehr gut für mich funktioniert.
quelle
Ich verwende die Optionen für Zweige und klicke dann mit der rechten Maustaste auf den Ordner "remote / origin" und dann auf "Zweige von remote löschen". Siehe Abbildung unten:
quelle
Ich habe diesen Fehler auf Azure Git erhalten und dies löst das Problem:
quelle