Ich kann für mein ganzes Leben keine anständige Erklärung für die Meldung "[Datei]: muss aktualisiert werden" finden, die Git manchmal von Zeit zu Zeit ausspuckt. Sogar die offiziellen Git-FAQ haben dies als TODO gekennzeichnet. Wenn jemand erklären könnte A) was es bedeutet; und B) wie man es repariert, wäre ich äußerst dankbar.
156
Antworten:
Dies bedeutet, dass Sie versuchen, Änderungen von irgendwoher zusammenzuführen. Die Änderungen umfassen jedoch Änderungen an einer Datei, die fehlerhaft ist (derzeit in Ihrem Arbeitsbaum geändert). Sie müssen Ihre ausstehenden Änderungen festschreiben oder verstauen, ziehen / neu starten / zusammenführen / was auch immer Sie tun, um zu aktualisieren, und entstauen
quelle
git svn rebase
mit einer schmutzigen Arbeitskopie zu erstellen. Stash Save, Rebase, Stash Pop und alles war in Ordnung mit der Welt.Wie andere bereits betont haben, bedeutet eine Aktualisierungsnachricht , dass die Datei verschmutzt oder mit anderen Worten veraltet ist. Aber anstatt zurückzusetzen und von vorne zu beginnen, können Sie einfach
git status
und dann,git add <file>
wenn es auf der geänderten Liste steht, etwas tun . Weil Sie die Datei schon vorher hinzufügen konnten, sie dann aber änderten. Das ist mir passiert und mit diesem einfachen habeadd
ich das Problem gelöst.quelle
Melden Sie sich bei Ihrem Produktions- / Zielserver
cd
in dem Verzeichnis an, in dem sich Ihre Anwendung befindet, und führen Sie diese beiden Befehle aus.1. Auf die neueste Version zurücksetzen
2. Ziehen Sie die Änderungen
quelle
Wie die Antwort auf die verknüpfte andere Frage besagt, bedeutet die Nachricht einfach, dass Sie noch ausstehende Änderungen haben. Sie erhalten dies auch, z. B. wenn Sie einige Änderungen vornehmen
git add
, dann ändern Sie Ihre Meinung und tun diesgit reset HEAD file
mit der Absicht, von vorne zu beginnen.quelle
git reset HEAD file
bewirkt, dass dieselbe MeldungDieser Fehler kann auftreten, wenn der Rebase-Prozess zusätzliche Änderungen an Dateien vornimmt , die sich nicht im Zielzweig befinden .
Für mich war der schwierige Teil mit
.gitattributes
Datei in meinem Repo. In einem anderen Zweig wurde ein neuer binärer Dateityp hinzugefügt, dessen Behandlung jedoch als Textdatei erzwungen wurde. Als die Datei von git aus dem Repo heruntergeladen wurde, wurden EOLs (eigentlich Binärwertbytes) ersetzt - was zu einer binären Differenz führte.Das Hinzufügen eines neuen Eintrags, um den neuen Dateityp als binär zu behandeln, und das Wiederholen des gesamten Prozesses lösten das Problem für mich.
quelle
In meinem Fall bekam ich immer
Ich hatte diese Dateien in meinem Verzeichnis, aber sie wurden in meinem aktuellen Zweig umbenannt. Um das Problem zu beheben, rannte ich los
und es erlaubte mir weiterzumachen
quelle