Aus irgendeinem Grund kann ich jetzt nicht pushen, während ich es gestern tun könnte. Vielleicht habe ich Configs oder so was durcheinander gebracht.
Das ist, was passiert:
Wenn ich den Git Push Origin Master benutze
Wie mein Arbeitsverzeichnis und mein Remote-Repository aussehen:
Antworten:
Wenn das GitHub-Repo während Ihrer lokalen Arbeit neue Commits erhalten hat, würde ich empfehlen, Folgendes zu verwenden:
Die vollständige Syntax lautet:
Mit Git 2.6+ (Sept. 2015), nachdem (einmal)
Ein einfaches
git pull
wäre genug.(Hinweis: Mit Git 2.27 Q2 2020 ist a
merge.autostash
auch für Ihren regulären Pull ohne Rebase verfügbar.)Auf diese Weise würden Sie (den
--rebase
Teil) Ihrer lokalen Commits zusätzlich zu den neu aktualisiertenorigin/master
(oderorigin/yourBranch
:git pull origin yourBranch
.Ein vollständigeres Beispiel finden Sie in Kapitel 6 Pull with Rebase des Git Pocket Book .
Ich würde empfehlen:
Dies würde eine Verfolgungsbeziehung zwischen Ihrer lokalen Hauptniederlassung und ihrer vorgelagerten Niederlassung herstellen.
Danach kann jeder zukünftige Push für diesen Zweig mit einem einfachen:
Siehe " Warum muss ich einen neuen Zweig explizit pushen? ".
Da das OP sein Commit bereits zurückgesetzt und wiederholt hat, zusätzlich zu
origin/master
:Es besteht keine Notwendigkeit
pull --rebase
.Hinweis:
git reset --mixed origin/master
Kann auch geschrieben werdengit reset origin/master
, da die--mixed
Option bei Verwendung die Standardoption istgit reset
.quelle
Hat jemand versucht:
Das sollte das Problem lösen.
quelle
-f
/--force
es ist immer sicherer,--force-with-lease
stattdessen zu verwenden , was abgebrochen wird, wenn es nachgelagerte Änderungen gibt, die durch den Push blockiert würden.--force-with-lease
wird für viele alltägliche Rebasing-Situationen benötigt,--force
sollte aber fast nie benötigt werden.Wenn Sie gerade
git init
Ihre Dateien mitgit add .
oder etwas Ähnlichem verwendet und hinzugefügt und Ihren Remote-Zweig hinzugefügt haben, kann es sein, dass Siegit commit -m 'commit message'
lokal nichts festgeschrieben ( ) haben, um es auf die Remote zu übertragen ... Ich hatte gerade diesen Fehler und das war mein Fehler Problem.quelle
Ich hatte das gleiche Problem. Ich bekam dieses Problem, weil ich kein Commit gemacht hatte, nicht einmal das anfängliche Commit, und trotzdem versuchte ich zu pushen.
Einmal habe ich
git commit -m "your msg"
und dann hat alles gut funktioniert.quelle
Benennen Sie Ihren Zweig um und drücken Sie dann, z.
Das hat bei mir funktioniert.
quelle
my-branch_wont_push
. Sobald ich es umbenannt habemy_branch_wont_push
, habegit push -u origin my_branch_wont_push
ich für mich gearbeitet.Die Lösung für dieses Problem finde ich in der Github-Hilfe.
Sie sehen es an: Umgang mit Fehlern beim nicht schnellen Vorlauf
Es sagt:
Sie können dies beheben, indem Sie die auf dem Remote-Zweig vorgenommenen Änderungen abrufen und mit den lokal vorgenommenen Änderungen zusammenführen:
Oder Sie können einfach git pull verwenden, um beide Befehle gleichzeitig auszuführen:
quelle
git init
git remote add origin https://gitlab.com/crew-chief-systems/bot
git remote -v
(zur Überprüfung des aktuellen Repositorys)git add -A
(alle Dateien hinzufügen)git commit -m 'Added my project'
git pull --rebase origin master
git push origin master
quelle
Ich hatte das gleiche Problem, das mit den folgenden Schritten behoben wurde.
git init
git add .
git commit -m 'Add your commit message'
git remote add origin https://[email protected]/User_name/sample.git
(Die obige URL https: //[email protected]/User_name/sample.git bezieht sich auf die URL Ihres Bit-Bucket-Projekts.)
git push -u origin master
Hinweis
Überprüfen Sie, ob Ihr Git-Hub-Konto mit Ihrem lokalen Git verknüpft ist, indem Sie Folgendes verwenden:
quelle
Wenn Sie Gerrit verwenden, kann dies durch eine unangemessene Änderungs-ID im Commit verursacht werden. Versuchen Sie, die Änderungs-ID zu löschen, und sehen Sie, was passiert.
quelle
Denken Sie daran, Ihre Änderungen zu übernehmen, bevor Sie zu Github Repo wechseln. Dies könnte Ihr Problem beheben.
quelle
Das Problem wird auch dadurch behoben, dass vor dem Drücken keine ersten Änderungen vorgenommen werden
quelle
Vor dem Push müssen Sie die Änderungen hinzufügen und festschreiben oder tun
git push -f origin master
quelle
Wenn Ihr lokaler Zweig und Ihr Remote-Zweig denselben Namen haben, können Sie den Namen Ihres lokalen Zweigs einfach weglassen
git push {your_remote_branch}
. Andernfalls wird dieser Fehler ausgegeben.quelle
Ich habe die folgenden Schritte befolgt und es hat bei mir funktioniert.
quelle
Es kann passieren, wenn Sie keine Dateien haben. Versuchen Sie, eine Textdatei zu erstellen, und befolgen Sie dann die folgenden Befehle
quelle
Für mich war das Problem, dass ich die Dateien vor dem Festschreiben nicht hinzugefügt habe.
git add .
git commit -m "your msg"
quelle
Am besten verwenden
rm -rf .git/hooks
und dann Git Push versuchenquelle
Ich habe ein leeres Repo in GitHub erstellt und habe meinen Code lokal. Ich hatte jetzt das gleiche Problem, als ich der folgenden Sequenz folgte:
Also müssen wir die Dateien inszenieren und uns dann verpflichten.
Dies ist die richtige Reihenfolge.
Da ich zuerst die falsche Sequenz ausführe, führe ich nur die folgenden Befehle aus
quelle
Ich bin mir nicht sicher, ob dies zutrifft, aber die Lösung für mich bestand darin, nach git init etwas lokal festzuschreiben. Dann habe ich mit --set-upstream auf Remote geschoben ...
quelle
Erstellen eines neuen Zweigs für mich gelöst:
Wie erwartet ist keine Zusammenführung erforderlich, da der vorherige Zweig vollständig im neuen enthalten war.
quelle
git push origin feature22-fix
, aberfeature22-fix
weder lokal noch remote beendet, also musste ich zuerst den Zweig lokal auschecken und dann PushWenn Sie versuchen, ein Verzeichnis mit einem vorhandenen GitHub-Repository zu initialisieren, sollten Sie sicherstellen, dass Sie Änderungen vornehmen.
Versuchen Sie, eine Datei zu erstellen:
Dadurch wird eine Datei mit dem Namen initial abgelegt, die Sie später löschen können.
Hoffe diese Antwort hilft! Viel Glück!
quelle
Sie müssen etwas Kraft geben
Drücken Sie einfach --force.
quelle
In meinem Fall war es mein
husky
Paket, das den Push nicht zulässt.Ich lief
npm run prepush
, um den Fehler zu debuggen, und dies war die Ursache:Ran
npm install
und Commit es, und das Problem ist behoben.quelle
mach das
Viel Spaß beim Codieren!
quelle
Versuchen Sie diesen git-Befehl,
quelle
Nun, wenn keine der oben genannten Antworten funktioniert und Sie in
ssh-add
letzter Zeit etwas durcheinander gebracht haben . Versuchenquelle
Für Sourcetree-Benutzer
Führen Sie zuerst eine erste Festschreibung durch oder stellen Sie sicher, dass Sie keine nicht festgeschriebenen Änderungen vorgenommen haben. Dann befindet sich neben dem Quellbaum ein "FERN", klicken Sie mit der rechten Maustaste darauf und klicken Sie dann auf "Zum Ursprung verschieben". Los geht's.
quelle
Dies passiert mir, da ich ein Tag mit dem gleichen Zweig wie der Zweig hatte und versucht habe, den Zweig auf Remote zu verschieben.
quelle
In meinem Fall war das Problem, dass es (seltsamerweise) keinen Zweig namens Master gab. Ich habe das Repository von Github genommen.
quelle
Ich habe den vorhandenen Tippfehler-Zweig 'evelop' gepusht, den ich noch nicht ausgecheckt hatte, und stattdessen wollte ich einen Zweig namens 'Envelope' pushen. Der Zweig muss also vorhanden sein / bei lokaler Arbeitskopie auschecken, um natürlich diesen Fehler zu pushen, um keinen Tippfehler zu machen.
quelle