Wie lehnen Sie unspezifische Änderungen in Git ab?

Wie mache ich Änderungen in meiner Arbeitskopie rückgängig, die nicht im Index aufgeführt sind?

3956
09 сент. Readonly gesetzt 09 Sep. 2008-09-09 22:33 08 um 22:33 Uhr 2008-09-09 22:33
@ 32 Antworten
  • 1
  • 2

Ein anderer schneller Weg:

 git stash save --keep-index --include-untracked 

Sie müssen --include-untracked nicht --include-untracked wenn Sie --include-untracked nicht sein möchten.

Danach können Sie diesen Stempel mit dem Befehl git stash drop zurücksetzen, wenn Sie möchten.

2225
09 сент. Antwort von Greg Hewgill Sep 09 2008-09-09 22:39 08 um 22:39 2008-09-09 22:39

Verwenden Sie für alle nicht installierten Dateien Folgendes:

 git checkout -- . 

Für eine bestimmte Datei verwenden Sie:

border=0
 git checkout path/to/file/to/revert 

Stellen Sie sicher, dass Sie den Zeitraum am Ende angeben.

4303
09 сент. Die Antwort gibt Tobi 09 Sep. 2008-09-09 22:37 08 um 22:37 Uhr 2008-09-09 22:37

Es scheint, dass die vollständige Lösung:

 git clean -df git checkout -- . 

git clean entfernt alle nicht verarbeiteten Dateien ( Warnung ), während ignorierte Dateien, die direkt in .gitignore erwähnt werden, nicht gelöscht werden ( sie kann ignorierte Dateien in Ordnern entfernen ) und git checkout alle nicht angegebenen Änderungen löscht.

1643
29 авг. Antwort von Mariusz Nowak 29 Aug. 2012-08-29 21:28 '12 um 21:28 2012-08-29 21:28

Dadurch wird der aktuelle Index auf das aktuelle Verzeichnis geprüft und alle Änderungen in den Dateien werden aus dem aktuellen Verzeichnis gelöscht.

 git checkout . 

oder dies, das alle Dateien aus dem Index prüft und die Arbeitsdateien des Baums überschreibt.

 git checkout-index -a -f 
283
20 июня '09 в 13:28 2009-06-20 13:28 Die Antwort wird von CB Bailey am 20. Juni 09 um 13:28 2009-06-20 13:28 gegeben
 git clean -df 

Bereinigt den Arbeitsbaum durch rekursives Löschen von Dateien, die nicht der Versionskontrolle unterliegen, beginnend mit dem aktuellen Verzeichnis.

-d : Löscht nicht benötigte Verzeichnisse zusätzlich zu Dateien ohne Trace

-f : Force (kann je nach Einstellung von clean.requireForce nicht unbedingt erforderlich sein)

Führen Sie git help clean , um das Tutorial anzuzeigen.

218
07 дек. Antwort von Elvis Ciotti Dez 07 2011-12-07 16:09 '11 am 16:09 2011-12-07 16:09

Mein Liebster

 git checkout -p 

So können Sie Teile selektiv zurücksenden.

Siehe auch:

 git add -p 
85
10 окт. Antwort gegeben Ben 10. Oktober 2014-10-10 15:31 '14 am 15:31 2014-10-10 15:31

Da keine Antwort eine genaue Variante der Kombination bietet, die ich verwende, ist dies hier:

 git clean -dfx git checkout . 

Dies ist der Online-Hilfetext für die verwendeten git clean Optionen:

-d

Löschen Sie nicht benötigte Verzeichnisse zusätzlich zu den Rohdateien. Wenn ein nicht signiertes Verzeichnis von einem anderen Git-Repository verwaltet wird, wird es standardmäßig nicht gelöscht. Verwenden Sie die Option -f zweimal, wenn Sie ein solches Verzeichnis wirklich entfernen möchten.

-f

Wenn die Konfigurationsvariable Git clean.requireForce nicht auf false , clean.requireForce Git clean das Entfernen von Dateien oder Verzeichnissen ab, sofern nicht -f , -n oder -i angegeben ist. Git lehnt es ab, Verzeichnisse in einem .git Unterverzeichnis oder in einer Datei zu löschen, wenn -f nicht -f -f .

-x

Verwenden Sie nicht die Ignorierregeln von .gitignore (für jedes Verzeichnis) und $GIT_DIR/info/exclude , sondern verwenden Sie weiterhin die mit den Optionen -e angegebenen Ignorierregeln. Auf diese Weise können Sie alle nicht verarbeiteten Dateien löschen, einschließlich der Zusammenstellung von Produkten. Dies kann (möglicherweise in Verbindung mit git reset ) verwendet werden, um ein unberührtes Arbeitsverzeichnis zu erstellen, um nach einem sauberen Build zu suchen.

Außerdem git checkout. muss an der Wurzel des Repos ausgeführt werden.

68
28 апр. Antwort von Martin G 28 Apr. 2016-04-28 22:46 '16 um 22:46 Uhr 2016-04-28 22:46

Ich fand diesen Artikel tatsächlich nützlich, um zu erklären, wann welcher Befehl verwendet werden sollte: http://www.szakmeister.net/blog/2011/oct/12/reverting-changes-git/

Es gibt verschiedene Fälle:

  • Wenn Sie die Datei nicht eingelegt haben, verwenden Sie git checkout . Checkout "aktualisiert Dateien im Arbeitsbaum entsprechend der Version im Index". Wenn die Dateien nicht geliefert wurden (auch dem Index hinzugefügt) ... werden mit diesem Befehl im Wesentlichen die Dateien auf den letzten Stand zurückgesetzt.

    git checkout -- foo.txt

  • Wenn Sie die Datei ablegen, verwenden Sie git reset. Reset ändert den Index entsprechend dem Fix.

    git reset -- foo.txt

Ich vermute, dass die Verwendung von git stash eine beliebte Wahl ist, da es etwas weniger gefährlich ist. Sie können immer wieder dorthin zurückkehren, wenn Sie bei der Verwendung von git reset versehentlich zu viel löschen. Reset ist standardmäßig rekursiv.

Werfen Sie einen Blick auf den Artikel oben, um weitere Tipps zu erhalten.

53
14 авг. Die Antwort ist Blak3r 14 Aug gegeben. 2012-08-14 00:31 '12 at 0:31 2012-08-14 00:31

Am einfachsten geht das mit diesem Befehl:

Dieser Befehl wird verwendet, um Änderungen im Arbeitsverzeichnis rückgängig zu machen.

 git checkout -- . 

https://git-scm.com/docs/git-checkout

Im Befehl git wird das Anhalten von Rohdateien mithilfe von

 git stash -u 

http://git-scm.com/docs/git-stash

45
12 апр. Antwort AHM Forhadul Islam 12. April 2017-04-12 12:27 '17 am 12:27 2017-04-12 12:27

Wenn Sie nicht daran interessiert sind, nicht festgelegte Änderungen zu speichern (insbesondere wenn es sich bei den gestaffelten Änderungen um neue Dateien handelt), habe ich es für bequem gehalten:

 git diff | git apply --reverse 
41
28 июля '11 в 8:27 2011-07-28 08:27 Die Antwort gibt Joshua Kunzmann am 28. Juli 11 um 8:27 2011-07-28 08:27

Während Sie den Git-Status eingeben (verwende "git checkout -...", um Änderungen im Arbeitsverzeichnis zu verwerfen) .

zum beispiel. git checkout -- .

39
17 мая '16 в 14:27 2016-05-17 14:27 Die Antwort gibt Erdem ÖZDEMİR am 17. Mai '16 um 14:27 Uhr 2016-05-17 14:27

git checkout -f


man git-checkout :

-f, --force

Arbeiten Sie beim Wechseln der Zweige weiter, auch wenn sich der Index oder der Arbeitsbaum von HEAD unterscheidet. Hiermit werden lokale Änderungen entfernt.

Wenn Sie die Pfade aus dem Index prüfen, schlagen Sie nicht für nicht autorisierte Einträge fehl. ignorierte Einträge werden stattdessen ignoriert.

38
17 мая '14 в 5:28 2014-05-17 05:28 Die Antwort ist Bijan 17. Mai '14 um 5:28 2014-05-17 05:28 gegeben

Sie können Git-Stash verwenden - wenn etwas schief geht, können Sie immer noch aus Ihrer Brieftasche zurückkehren. Wie eine andere Antwort hier, aber diese löscht auch alle deinstallierten Dateien sowie alle deinstallierten Löschungen:

 git add . git stash 

Wenn Sie überprüfen, ob alles in Ordnung ist, löschen Sie den Cache:

 git stash drop 

Die Antwort von Bilal Maqsood mit git clean auch für mich funktioniert, aber mit der Anwendung habe ich mehr Kontrolle - wenn ich dies versehentlich mache, kann ich meine Änderungen trotzdem zurückgeben

UPDATE

Ich denke, es gibt noch eine weitere Änderung (ich weiß nicht, warum es früher für mich funktioniert hat):

git add . -A git add . -A statt git add .

ohne -A gelöschte Dateien nicht platziert

33
11 сент. Die Antwort wird am 11. September gegeben 2015-09-11 14:59 '15 um 14:59 Uhr 2015-09-11 14:59

Anstatt die Änderungen zu verwerfen, setze ich meine Konsole auf den Anfang zurück. Hinweis Mit dieser Methode können Sie Ihren Ordner mithilfe von Repo vollständig wiederherstellen.

Deshalb mache ich dies, um sicherzustellen, dass sie nicht dort sitzen, wenn ich git reset (später - ausgenommen gitignores in Origin / branchname)

HINWEIS. Wenn Sie möchten, dass die Dateien noch nicht verfolgt werden, aber nicht in GITIGNORE, können Sie diesen Schritt überspringen, da diese nicht-fossilen Dateien, die nicht im Remote-Repository vorhanden sind, zerstört werden (dank @XtrmJosh).

 git add --all 

Dann ich

 git fetch --all 

Dann setze ich mich wieder an den Anfang

 git reset --hard origin/branchname 

Dies bringt es auf das Quadrat zurück. Genau wie beim RE-Klonen eines Zweigs, während alle meine gitignored-Dateien lokal und an Ort und Stelle gespeichert werden.

Aktualisiert auf folgenden Benutzerkommentar: Ändern, um den aktuellen Zweig, für den der Benutzer aktiviert ist, zurückzusetzen.

 git reset --hard @{u} 
31
08 авг. Die Antwort ist Nick 08 Aug gegeben. 2015-08-08 00:15 '15 am 0:15 2015-08-08 00:15

Wenn Sie nur Änderungen an vorhandenen Dateien löschen möchten, verwenden Sie checkout ( hier dokumentiert ).

 git checkout -- . 
  • Da kein Zweig angegeben ist, wird der aktuelle Zweig geprüft.
  • Der doppelte Bindestrich ( -- ) teilt Geeta mit, dass Folgendes für sein zweites Argument (Pfad) verwendet werden sollte, dass Sie die Verzweigungsspezifikation verfehlt haben.
  • Punkt ( . ) Zeigt alle Pfade an.

Wenn Sie Dateien löschen möchten, die seit dem letzten Commit hinzugefügt wurden , verwenden Sie clean ( hier dokumentiert ):

 git clean -i 
  • Die -i initiiert eine interaktive clean , um fehlerhafte Löschungen zu verhindern.
  • Für eine schnellere Ausführung stehen verschiedene Optionen zur Verfügung. siehe die Dokumentation.

Wenn Sie Änderungen für den späteren Zugriff in den Speicherplatz verschieben möchten , verwenden Sie stash ( hier dokumentiert ):

 git stash 
  • Alle Änderungen werden zum späteren späteren Zugriff an Git Stash übertragen.
  • Für das feinere Verstauen stehen mehrere Optionen zur Verfügung. siehe die Dokumentation.
25
18 марта '18 в 3:19 2018-03-18 03:19 Die Antwort wird von jtheletter am 18. März 1818 um 3:19 2018-03-18 03:19 gegeben

Ich habe alle oben genannten Lösungen ausprobiert, konnte die neuen deinstallierten Dateien aber immer noch nicht entfernen.

Verwenden Sie git clean -f , um diese neuen Dateien zu entfernen - mit Vorsicht! Achten Sie auf den Leistungsparameter.

25
15 окт. Antwort von Artur 15. Oktober 2011-10-15 00:07 11 um 0:07 2011-10-15 00:07

sag einfach

 git stash 

Dadurch werden alle Ihre lokalen Änderungen entfernt. Sie können auch später verwenden, indem Sie sagen

 git stash apply 

oder git stash pop

20
24 апр. Antwort von piyushmandovra am 24. April 2015-04-24 15:19 '15 am 15:19 2015-04-24 15:19

Verwenden Sie einfach:

 git stash -u 

Ist fertig Einfach

Wenn Sie wirklich Wert auf Ihren Stack-Stack git stash drop , können Sie mit git stash drop folgen. Aber in diesem Moment war es besser (von Mariusz Nowak):

 git checkout -- . git clean -df 

Ich mag git stash -u besten, da alle verfolgten und nicht getesteten Änderungen in einem einzigen Befehl "verworfen" werden. Noch git checkout -- . verwirft nur nachverfolgte Änderungen und git clean -df verwirft nur git clean -df Änderungen ... und die Eingabe beider Befehle ist zu viel Arbeit :)

20
08 сент. Antwort von Ben Wilde Sep 08 2016-09-08 09:19 '16 am 9:19 2016-09-08 09:19

Es funktioniert sogar in Verzeichnissen. außerhalb der normalen Git-Berechtigungen.

 sudo chmod -R 664 ./*  git checkout -- .  git clean -dfx 

Es ist kürzlich passiert

16
05 сент. Die Antwort gibt GlassGhost 05 Sep. 2013-09-05 12:38 13 am 12:38 2013-09-05 12:38
 cd path_to_project_folder # take you to your project folder/working directory git checkout . # removes all unstaged changes in working directory 
14
30 мая '14 в 12:26 2014-05-30 12:26 Die Antwort ist gegeben vivekporwal04 30. Mai 14 um 12:26 Uhr 2014-05-30 12:26

Egal in welchem ​​Status sich Ihr Repo befindet, Sie können jederzeit alle vorherigen Fixierungen zurücksetzen:

 git reset --hard <commit hash> 

Dadurch werden alle Änderungen rückgängig gemacht, die nach diesem Commit vorgenommen wurden.

10
05 февр. die antwort ist msangel 05 feb . 2016-02-05 03:59 '16 am 3:59 2016-02-05 03:59

Eine andere Möglichkeit, um neue Dateien zu entfernen, die spezifischer sind als git clean -df (damit Sie einige Dateien nicht unbedingt alle entfernen können), besteht darin, zuerst neue Dateien zum Index hinzuzufügen, anschließend zu speichern und den Cache zu löschen.

Diese Methode ist nützlich, wenn Sie aus einem bestimmten Grund nicht alle rohen Dateien auf einfache Weise (z. B. rm) löschen können.

10
15 июня '12 в 11:55 2012-06-15 11:55 Die Antwort wird am 15. Juni 12 um 11:55 2012-06-15 11:55 gegeben

Meiner meinung nach

 git clean -df 

Muss den Trick machen. Laut git clean git Dokumentation

git -clean - Entfernt unverarbeitete Dateien aus dem Arbeitsbaum

Beschreibung

Bereinigt den Arbeitsbaum durch rekursives Löschen von Dateien, die nicht der Versionskontrolle unterliegen, beginnend mit dem aktuellen Verzeichnis.

Normalerweise werden nur Dateien gelöscht, die git nicht kennt. Wenn jedoch die Option -x verwendet wird, werden die Dateien ebenfalls ignoriert. Dies kann zum Beispiel nützlich sein, um alle Montageprodukte zu entfernen.

Wenn optionale Argumente angegeben werden, sind nur diese Pfade betroffen.

Optionen

-d Löschen Sie nicht benötigte Verzeichnisse zusätzlich zu Dateien ohne Trace. Wenn das nicht signierte Verzeichnis von einem anderen git-Repository verwaltet wird, wird es standardmäßig nicht entfernt. Verwenden Sie die Option -f zweimal, wenn Sie ein solches Verzeichnis wirklich löschen möchten.

-f --force Wenn die Konfigurationsvariable git clean.requireForce nicht auf false festgelegt ist, lehnt git clean den Start ab, wenn -f, -n oder -i nicht angegeben ist.

9
14 июля '16 в 10:03 2016-07-14 10:03 Die Antwort ist gegeben Lahiru 14. Juli '16 um 10:03 2016-07-14 10:03

Was folgt, ist wirklich nur eine Lösung, wenn Sie mit dem Repository-Plug arbeiten, wo Sie regelmäßig (z. B. eine Übertragungsanforderung) mit einem anderen Repo synchronisieren. Die kurze Antwort lautet: Entfernen Sie die Gabel und die neue Gabel, lesen Sie aber die Github-Warnungen .

Ich hatte ein ähnliches Problem, möglicherweise nicht identisch, und ich muss leider sagen, dass meine Lösung nicht ideal ist, aber am Ende ist es effektiv.

Ich hätte oft git Statusmeldungen wie diese (mindestens 2/4 Dateien):

 $ git status # Not currently on any branch. # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: doc/PROJECT/MEDIUM/ATS-constraint/constraint_s2var.dats # modified: doc/PROJECT/MEDIUM/ATS-constraint/parsing/parsing_s2var.dats # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: doc/PROJECT/MEDIUM/ATS-constraint/constraint_s2Var.dats # modified: doc/PROJECT/MEDIUM/ATS-constraint/parsing/parsing_s2Var.dats 

Das scharfe Auge wird feststellen, dass sich in diesen Dateien Doppelgänger befinden, die im Falle von off der einzige Buchstabe sind. Wie auch immer, und ich habe keine Ahnung, was mich zu diesem Pfad gebracht hat (da ich selbst nicht mit diesen Dateien aus dem Upstream-Repo gearbeitet habe), habe ich diese Dateien gewechselt. Versuchen Sie es mit den zahlreichen Lösungen auf dieser Seite (und anderen Seiten), die scheinbar nicht helfen.

Ich konnte das Problem beheben, indem ich mein verzweigtes Repository und alle lokalen Repositorys löschte und zurückkehrte. Das allein war nicht genug; upstream sollte die betreffenden Dateien in neue Dateinamen umbenannt haben. So>

9
05 янв. Die Antwort wird von Bbarker 05 Jan gegeben. 2014-01-05 07:53 14 um 07:53 Uhr 2014-01-05 07:53

Wenn Sie einen Scheck an eine andere Person übertragen möchten:

 # add files git add . # diff all the changes to a file git diff --staged > ~/mijn-fix.diff # remove local changes git reset  git checkout . # (later you can re-apply the diff:) git apply ~/mijn-fix.diff 

[edit] kann wie kommentiert als Stashes bezeichnet werden. Nun, verwenden Sie dies, wenn Sie Ihre Brieftasche teilen möchten;)

7
08 июля '13 в 18:07 2013-07-08 18:07 Die Antwort wird zweimal gegeben. Juli 08 '13 um 18:07 2013-07-08 18:07

Wenn alle Schritt-für-Schritt-Dateien tatsächlich behoben wurden, kann die Verzweigung beispielsweise nur ein Reset sein. mit drei Mausklicks über Ihre GUI: Vetka , Reset , Yes !

Was ich in der Praxis oft tue, um unerwünschte lokale Änderungen rückgängig zu machen, besteht darin, alle guten Dinge zu übertragen und dann den Zweig zurückzusetzen.

Wenn das Gute in einem Commit fixiert ist, können Sie "change last commit" verwenden, um zur Einstellung zurückzukehren oder unsicher zu machen, wenn Sie es am Ende etwas anders gestalten möchten.

Dies ist möglicherweise nicht die technische Lösung, die Sie für Ihr Problem suchen, aber ich denke, es ist eine sehr praktische Lösung. Dadurch können Sie instabile Änderungen selektiv rückgängig machen, Änderungen, die Ihnen nicht gefallen, zurücksetzen und die von Ihnen vorgenommenen Änderungen speichern.

Also begehen Sie einfach, verzweigen Sie zurück und ändern Sie das letzte Festschreiben .

6
20 марта '15 в 18:38 2015-03-20 18:38 Die Antwort wird von user3070485 am 20. März 15 um 18:38 Uhr 2015-03-20 18:38 gegeben

Sie können einen eigenen Alias ​​erstellen, der beschreibt, wie dies auf anschauliche Weise geschieht.

Ich verwende den folgenden Kurznamen, um die Änderungen zu verwerfen.


Verwerfen Sie Änderungen an (List-) Dateien im Arbeitsbaum

 discard = checkout -- 

Dann können Sie damit alle Änderungen löschen:

 discard . 

Oder einfach nur eine Datei:

 discard filename 

Wenn Sie alle Änderungen sowie nicht verwendete Dateien rückgängig machen möchten, verwende ich eine Kombination aus "check" und "clean":

Löschen und verwerfen Sie die Änderungen und verfolgen Sie keine Dateien im Arbeitsbaum

 cleanout = !git clean -df  git checkout -- . 

Daher ist die Verwendung einfach:

 cleanout 

Jetzt im folgenden Github-Repository verfügbar, das viele Aliasnamen enthält:

5
05 июня '17 в 7:44 2017-06-05 07:44 Die Antwort wird von Pau am 5. Juni 17 um 07:44 2017-06-05 07:44 gegeben

Keine der Lösungen funktioniert, wenn Sie gerade die Dateiberechtigungen geändert haben (dies gilt für DOS / Windoze).

 Mo 23/11 / 2015-15: 16: 34.80 C: \ ... \ work \ checkout \ slf4j +> git status In Zweig SLF4J_1.5.3 Änderungen, die nicht für das Commit bereitgestellt wurden:   (Verwenden Sie "git add ...", um zu aktualisieren, was festgeschrieben wird.)   (verwende "git checkout - ...", um Änderungen im Arbeitsverzeichnis zu verwerfen) geändert: .gitignore geändert: LICENSE.txt geändert: TODO.txt geändert: codeStyle.xml modifiziert: pom.xml modifiziert: version.pl Keine Änderungen zum Festschreiben hinzugefügt (verwenden Sie "git add" und / oder "git commit -a") Mo 23/11 / 2015-15: 16: 37.87 C: \ ... \ work \ checkout \ slf4j +> git diff diff --git a / .gitignore b / .gitignore alter Modus 100644 neuer Modus 100755 diff --git a / LICENSE.txt b / LICENSE.txt alter Modus 100644 neuer Modus 100755 diff --git a / TODO.txt b / TODO.txt alter Modus 100644 neuer Modus 100755 diff --git a / codeStyle.xml b / codeStyle.xml alter Modus 100644 neuer Modus 100755 diff --git a / pom.xml b / pom.xml alter Modus 100644 neuer Modus 100755 diff --git a / version.pl b / version.pl alter Modus 100644 neuer Modus 100755 Mo 23/11 / 2015-15: 16: 45.22 C: \ ... \ work \ checkout \ slf4j +> git reset --hard HEAD HEAD ist jetzt bei 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 .gitignore hinzugefügt Mo 23/11 / 2015-15: 16: 47.42 C: \ ... \ work \ checkout \ slf4j +> git clean -f Mo 23/11 / 2015-15: 16: 53.49 C: \ ... \ work \ checkout \ slf4j +> git stash save -u Gespeichertes Arbeitsverzeichnis und Indexstatus WIP auf SLF4J_1.5.3: 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 Hinzugefügt .gitignore HEAD ist jetzt bei 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 .gitignore hinzugefügt Mo 23/11 / 2015-15: 17: 00.40 C: \ ... \ work \ checkout \ slf4j +> git stash drop Zurückgelassene Refs / Stash @ {0} (cb4966e9b1e9c9d8daa79ab94edc0c1442a294dd) Mo 23/11 / 2015-15: 17: 06.75 C: \ ... \ work \ checkout \ slf4j +> git stash drop Zurückgelassene Refs / Stash @ {0} (e6c49c470f433ce344e305c5b778e810625d0529) Mo 23/11 / 2015-15: 17: 08.90 C: \ ... \ work \ checkout \ slf4j +> git stash drop Kein Vorrat gefunden Mo 23/11 / 2015-15: 17: 15.21 C: \ ... \ work \ checkout \ slf4j +> git checkout -. Mo 23/11 / 2015-15: 22: 00.68 C: \ ... \ work \ checkout \ slf4j +> git checkout -f -. Mo 23/11 / 2015-15: 22: 04.53 C: \ ... \ work \ checkout \ slf4j +> git status In Zweig SLF4J_1.5.3 Änderungen, die nicht für das Commit bereitgestellt wurden:   (Verwenden Sie "git add ...", um zu aktualisieren, was festgeschrieben wird.)   (verwende "git checkout - ...", um Änderungen im Arbeitsverzeichnis zu verwerfen) geändert: .gitignore geändert: LICENSE.txt geändert: TODO.txt geändert: codeStyle.xml modifiziert: pom.xml modifiziert: version.pl Keine Änderungen zum Festschreiben hinzugefügt (verwenden Sie "git add" und / oder "git commit -a") Mo 23/11 / 2015-15: 22: 13.06 C: \ ... \ work \ checkout \ slf4j +> git diff diff --git a / .gitignore b / .gitignore alter Modus 100644 neuer Modus 100755 diff --git a / LICENSE.txt b / LICENSE.txt alter Modus 100644 neuer Modus 100755 diff --git a / TODO.txt b / TODO.txt alter Modus 100644 neuer Modus 100755 diff --git a / codeStyle.xml b / codeStyle.xml alter Modus 100644 neuer Modus 100755 diff --git a / pom.xml b / pom.xml alter Modus 100644 neuer Modus 100755 diff --git a / version.pl b / version.pl alter Modus 100644 neuer Modus 100755

Die einzige Möglichkeit, dies zu beheben, besteht darin, die Berechtigungen für geänderte Dateien manuell zurückzusetzen:

 Mo 23/11 / 2015-15: 25: 43.79 C: \ ... \ work \ checkout \ slf4j +> git status -s |  egrep "^ M" |  Schnitt -c4- |  for / f "usebackq tokens = * delims ="% A in (`more ') do chmod 644% ~ A Mo 23/11 / 2015-15: 25: 55.37 C: \ ... \ work \ checkout \ slf4j +> git status In Zweig SLF4J_1.5.3 nichts zu begehen, Arbeitsverzeichnis sauber Mo 23/11 / 2015-15: 25: 59.28 C: \ ... \ work \ checkout \ slf4j +> Mo 23/11 / 2015-15: 26: 31.12 C: \ ... \ work \ checkout \ slf4j +> git diff
5
23 нояб. Die Antwort wird von Malcolm Boekhoff am 23. November gegeben. 2015-11-23 07:30 '15 um 7:30 2015-11-23 07:30

Wenn Sie sich im Fall eines Submoduls befinden und keine anderen Lösungen funktionieren, versuchen Sie Folgendes:

  • Um zu prüfen, was das Problem ist (möglicherweise der schmutzige Fall), verwenden Sie:

    git diff

  • Verborgenen Text entfernen

    git submodule update

5
02 окт. die antwort wird am 02. oktober gegeben . 2015-10-02 00:32 '15 am 0:32 2015-10-02 00:32

Ich hatte eine seltsame Situation, als die Datei immer fehlte. Das hilft mir beim Lösen.

git rm.gitattributes
git addieren -A
git reset --hard

5
08 февр. Die Antwort ist SDV 08 Feb. gegeben. 2017-02-08 14:58 '17 um 14:58 Uhr 2017-02-08 14:58
  • 1
  • 2

Weitere Fragen zum Tag oder zur Frage stellen