Github Windows 'Fehler beim Synchronisieren dieses Zweigs'

124

Ich verwende Github Windows 1.0.38.1 und wenn ich nach dem Festschreiben auf die Schaltfläche "Synchronisieren" klicke, wird der Fehler angezeigt

Geben Sie hier die Bildbeschreibung ein

Wie debugge ich dieses Problem? Wenn in der Shell, was soll ich tun?

Die Synchronisierung funktioniert einwandfrei, wenn ich ein git pushoder mache git pull, aber wenn ich das nächste Mal mit Github-Fenstern synchronisieren möchte, erhalte ich den gleichen Fehler.

Nyxynyx
quelle
1
Für mich lag es daran, dass ich vergessen hatte, eine sehr große Datei aus dem Commit zu entfernen. Github hat eine maximale Dateigröße und ich war drüber hinweg.
pmcilreavy
5
Ich mag die Art und Weise, wie es so viele Antworten gibt, von denen jede in diesem Fall richtig hätte sein können, aber keine davon. Das ist Git für dich.
15ee8f99-57ff-4f92-890c-b56153
1
Dieser Fehler kann auftreten, weil Sie nicht mit dem Internet verbunden sind. Ein bisschen offensichtlich, aber ... hey.
Levininja
1
Wir hatten Internetprobleme im Büro und dies trat auf. Die Git-Shell funktionierte trotzdem.
Frank Cannon

Antworten:

113

Wenn es so heißt, öffnen Sie einfach die Shell und tun Sie es git status. Das gibt Ihnen eine anständige Vorstellung davon, was falsch sein könnte und wie Ihr Repo aussieht.

Ich kann Ihnen hierfür keinen bestimmten Fehler geben, da dies in Github für Windows aus vielen Gründen auftritt, z. B. aufgrund eines Problems beim Aktualisieren von Submodulen usw.

manojlds
quelle
3
Vielen Dank! Als Neuling, wenn es um Git und GitHub geht, die das gleiche Problem hatten wie der ursprüngliche Fragesteller, war dies sehr hilfreich :) Ausgezeichnete Antwort!
Dyndrilliac
5
git stashgeholfen. Hoffe, ich werde irgendwann mit GIT weitermachen.
ivkremer
Ich habe meinen GitHub neu gestartet und das Problem wurde behoben! Es geschah, nachdem ich einige Konflikte zu verschmelzen hatte.
Rafael Fernandes
1
Ich habe das gleiche Problem, verwende jedoch ein zugeordnetes Laufwerk. Mit dieser Antwort verpflichte ich mich jetzt nur noch mit GitHub Desktop und git pushüber Git.
Zanderwar
@manojlds Was ist, wenn der Git-Status nur besagt, dass Ihre Filiale auf dem neuesten Stand ist, nichts festgeschrieben werden muss und das Arbeitsverzeichnis sauber ist?
Levininja
16

Dieser Fehler tritt aufgrund eines Zusammenführungskonflikts in Dateien auf. Ich habe mich dem gestellt, nachdem ich die pom.xml meines Maven-Projekts aktualisiert hatte, es aber nicht festgeschrieben hatte. Verwenden von

git status
error: Your local changes to the following files would be overwritten by merge:
<my project>/pom.xml
Please, commit your changes or stash them before you can merge.
Aborting

Wie im obigen Beitrag vorgeschlagen, haben Sie bei der Suche nach widersprüchlichen Änderungen geholfen, und Sie können entscheiden, ob Sie diese verwerfen oder festschreiben möchten.

Navin Mishra
quelle
Ich habe meinen GitHub neu gestartet und das Problem wurde behoben! Es geschah, nachdem ich einige Konflikte zu verschmelzen hatte.
Rafael Fernandes
11

Ich hatte das gleiche Problem. Es ist mir aufgrund einiger widersprüchlicher Änderungen passiert. Ich habe das lokale Repository meines Projekts von meinem Desktop entfernt und es dann erneut von der Github-Website geklont (mithilfe der Klonoption in meinem Konto). Der Fehler war behoben.

rk2
quelle
5

Ich hatte das gleiche Problem, als ich es in Visual Studio versuchte und "git status" in der Shell zeigte kein Problem. Aber ich habe es geschafft, die lokalen Änderungen mit "git push" über die Shell zu pushen.

Rovsen
quelle
Wie rovsen sagt, um den festgefahrenen etwas Farbe zu verleihen: Wenn GitHub für Windows abstürzt, aber in Git Shell alles grün angezeigt wird und die git statusMeldung "Ihr Zweig liegt um 1 Commit vor 'origin / master' (verwenden Sie" git push "auf veröffentlichen Sie Ihre lokalen Commits) ". Die Eingabe hat git pushdies für mich behoben. Ich habe GitHub für Windows neu gestartet und die Synchronisierung hat endlich funktioniert!
Micstr
4

Ich hatte dieses Problem und stellte fest, dass es mit dem Proxy zu tun hatte. Ich habe das Problem mit diesem Befehl behoben:

 git config --global http.proxy %HTTP_PROXY%
Tom
quelle
2

Dies ist wahrscheinlich ein Randfall, aber jedes Mal, wenn ich diesen speziellen Fehler habe, liegt es daran, dass ich kürzlich ein Laufwerk in Windows zugeordnet habe und powershelles nicht finden kann.

Ein Neustart des Computers (ausgerechnet) behebt den Fehler für mich, da powershelljetzt das neu zugeordnete Laufwerk abgerufen werden kann. Stellen Sie einfach sicher, dass Sie eine Verbindung zum zugeordneten Laufwerk herstellen, bevor Sie den Github-Client öffnen.

Kwakwa
quelle
Hier gilt das gleiche. Neustart und dann funktionierte es nur gut Achselzucken
Schildgenerator7
OH MEIN GOTT! Ich bin gerade in ein neues Büro umgezogen und meine zugeordneten Laufwerke haben nicht mehr funktioniert. Aber sie hatten nichts mit Git oder meinen Arbeitsordnern zu tun. Ich habe einfach die Zuordnungen entfernt und dann hat GitHub Desktop angefangen zu arbeiten. Dies muss ein Fehler sein, da es nicht einmal auf diese zugeordneten Laufwerke schauen sollte?
DeborahK
2

Ich hatte das gleiche Problem. In meinem Fall konnte git die globale Variable nicht finden %HTTP_PROXY%, einfach weil Windows sie nicht bereitstellte / verwendete.

Ich habe es gelöst, indem ich die Variable aus der Git-Konfigurationsdatei (in %USERPROFILE%\.gitconfig) ausgeschlossen habe:

[http]
#   proxy = %HTTP_PROXY%
Steven
quelle
2

Haben Sie kürzlich Ihr Windows-Kennwort geändert oder zumindest das, mit dem Sie eine Verbindung zu Ihrem Proxy herstellen?

Das war mein Problem und git statuskonnte mir nicht helfen. Ich musste meine Anmeldeinformationen in der Datei ".git / config" ändern, um diesen Fehler zu beheben.

Ralph Lavelle
quelle
Ich habe den Fehler davon bekommen. Im Ernst, sie sollten dieses Ding nur in der Benutzeroberfläche richtig auf den Proxy aufmerksam machen und nach einem neuen Benutzernamen und Passwort fragen. Oder sogar NTLM, wenn sie sich (leicht) schick fühlen.
Rob Grant
1

Dieser Fehler tritt auch auf, wenn der Zweig, den Sie synchronisieren möchten, gelöscht wurde.

git statusIch werde Ihnen das nicht sagen, aber Sie erhalten die Meldung "Kein solcher Ref wurde abgerufen", wenn Sie es versuchen git pull.

Libby
quelle
1

Eine weitere Ursache kann sein, wenn Sie ein Netzwerklaufwerk zuordnen oder eine virtuelle Festplatte anschließen, nachdem GitHub Desktop bereits gestartet wurde. Der Grund dafür ist, dass GitHub Desktop ssh-agent aus der portablen GIT-Installation verwendet, um Verbindungen herzustellen, und diese niemals schließt ... selbst wenn Sie die Anwendung deinstallieren. Der Prozess beginnt ohne Kenntnis des neuen Laufwerks und aktualisiert sich nie selbst. Wenn er zum Ausführen der GIT-Befehle verwendet wird, um an Ihrem Repo zu arbeiten, schlägt er fehl, weil er die Pfade nicht versteht.

Die Lösung in diesem Fall besteht darin, GitHub Desktop zu schließen und den laufenden ssh-agent mit dem Task-Manager zu beenden, bevor Sie ihn erneut starten. Dadurch wird bei Bedarf eine neue Instanz von ssh-agent gestartet, die die neuen Laufwerkszuordnungen usw. aufnimmt.

Corey
quelle
1

Stellen Sie sicher, dass der Zweig, zu dem Sie einen Push durchführen möchten, nicht geschützt ist. Ich habe versucht, auf einen geschützten Zweig zu pushen, und bin genauso gescheitert wie Sie.

mikii123
quelle
0

Überprüfen Sie " Git Status " und " Git Pull " in der Shell und finden Sie heraus, was falsch ist. und mein Problem ist der http.proxy-Knoten in der Konfiguration, daher sollte Github Windows viel schlauer sein, als nur die Shell zu öffnen und nach dem Ausgeben der Fehler weitere Tipps zu geben.

Alex Kon
quelle
0

In Anlehnung an die Antworten des HTTP-Proxys kann dies auch aufgrund einer VPN-Verbindung geschehen. Das Trennen meiner VPN-Verbindung hat das Problem für mich gelöst.

Byron Claiborne
quelle
0

Ich hatte das gleiche Problem und "Git Status" zeigte auch kein Problem, dann habe ich einfach den heiligen GitHub Client für Windows neu gestartet und es hat wie ein Zauber funktioniert.

Qasim
quelle
0

Ich hatte das gleiche Problem. Ich habe das Repo vom GitHub Windows-Client entfernt (Kontextmenü) und es erneut hinzugefügt. Beim erneuten Hinzufügen stellte ich fest, dass ich ungefähr 300 nicht festgeschriebene Änderungen hatte und ein Speicherfehler gemeldet wurde. Ich habe alle Änderungen verworfen und dann funktionierte die Synchronisierung wieder einwandfrei. (Rookie Git-Benutzer - Ich bin sicher, es gibt bessere Möglichkeiten, dies in der Befehlszeile zu tun.)

Stephen Kearns
quelle
0

Das Debug-Protokoll bietet möglicherweise einen Einblick. Ich verwende v3.3.4.0. Ihre Erfahrungen können abweichen, sollten aber ähnlich sein. Wählen Sie im Einstellungsmenü "Über Github Desktop ...". Klicken Sie auf den Link, um das Debug-Protokoll anzuzeigen. In meinem Fall gab es einen sehr klaren Fehler:

*** Schwerwiegender Fehler - Nichtübereinstimmung der Cygheap-Basis festgestellt - 0x1157408 / 0x1167408. Dieses Problem ist wahrscheinlich auf die Verwendung inkompatibler Versionen der Cygwin-DLL zurückzuführen.

Es gab sogar einige hilfreiche Tipps zur Lösung des Problems.

Ich bin nicht sicher, warum diese Informationen nicht in der Fehleraufforderung angezeigt werden, aber zumindest waren sie verfügbar.

Opsimath
quelle
0

Ich habe mit Android Studio versucht, Änderungen festzuschreiben und an Master zu senden. Aber Fenster zeigte ein Popup an, in dem ich Github-Anmeldeinformationen eingeben muss ( https://github.com ). Ich habe mich mit meinem Google Mail-Konto angemeldet. Also habe ich versucht, meine Google Mail-ID zusammen mit dem Kennwort einzugeben. Offensichtlich hat Git mein Google Mail-Kennwort nicht und kann es nicht mit dem übereinstimmen, was ich bereitstelle. Daher habe ich den Push abgebrochen.
Beim Versuch, meine Änderungen über das GitHub-GUI-Fenster zu synchronisieren, tritt dieser Fehler auf. Auf git statusBefehl schlug Git Shell vor, Änderungen als zu pushen

Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)

Ich habe das gleiche getan wie von Git Shell vorgeschlagen ( git push) und jetzt ist alles in Ordnung.

Hinweis: Für jemanden, der neu in Git ist, müssen Sie Ihren Pfad in den Ordner ändern, in dem sich Ihre Git-Datei ansonsten befindet. Bei jedem Befehl, den Sie in Git Shell eingeben, wird der Fehler angezeigt, dass es sich nicht um ein Git-Repository handelt.

fatal: Not a git repository (or any of the parent directories):

Wenn sich Ihr Projekt beispielsweise Din einem Ordner im Laufwerk befindet , müssen Sie wie folgt vorgehen cmd, um das Verzeichnis zu wechseln.

cd D:\someFolder     // if your project is not deep in `D`

Und wenn es sich in einem verschachtelten Ordner befindet D

cd D:\somefolder\someNestedFolder\nestedInNested     // if your project is not deep in `D`

Wenn jemand weiß, wie man sich aus Windows in das Github-Popup einloggt, wie ich es mit einem Google-Konto getan habe, und hier nur 2 Felder sind, Github-Benutzername, Passwort Bitte lassen Sie es mich wissen. Ich habe das Problem behoben, aber mit Zeitverschwendung, daher möchte ich auch etwas über die Anmeldung wissen.

Inzimam Tariq IT
quelle