Wie entferne ich Dateien von "alten Modus 100755 neuen Modus 100644" aus nicht geänderten Änderungen in Git?
Aus irgendeinem Grund, wenn ich es anfangs Tat ein pull vom repository zu git-Projekt von mir,
Ich habe eine Tonne von Dateien in meine arbeiten zu kopieren, dass keine erkennbaren änderungen an Ihnen, aber halten Sie zeigt sich in meinem unstaged changes
Bereich.
Ich bin mit Git Gui auf Windows xp, und wenn ich gehe, schauen Sie auf die Datei, um zu sehen, was sich verändert hat.
Alles, was ich sehe ist:
old mode 100755
new mode 100644
Weiß jemand, was das bedeutet?
Wie bekomme ich diese Dateien aus der Liste meiner unstaged changes? (Sehr ärgerlich zu haben, um durch zu gehen 100 von Dateien, nur um zu Holen, die Dateien habe ich vor kurzem bearbeitet und wollen zu Begehen).
InformationsquelleAutor der Frage concept47 | 2009-08-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dass sieht aus wie die unix-Datei Berechtigungen Modi zu mir (
755
=rwxr-xr-x
644
=rw-r--r--
) - der alt-Modus enthalten +x (executable) Flagge, der neue Modus nicht.Diese msysgit Ausgabe Antworten schlägt Einstellung-Kern.filemode auf false, um loszuwerden, das Problem:
InformationsquelleAutor der Antwort Amber
Einstellung Kern.filemode auf false funktioniert. Aber Sie würde sicherstellen, dass die Einstellungen in ~/.gitconfig nicht überschrieben werden, von denen in .git/config.
InformationsquelleAutor der Antwort NovelX
Habe ich auf dieses problem beim kopieren ein git-repo mit arbeiten-Dateien von einer alten Festplatte ein paar mal. Das problem ergibt sich aus der Tatsache, dass die Besitzer und Berechtigungen geändert von der alte Laufwerk/auf die neue Maschine. Die lange und die kurze davon ist, führen Sie die folgenden Befehle aus, um die Dinge zu begradigen (Dank dieser superuser Antwort):
Der ehemalige Befehl wird eigentlich die Differenzen beizulegen, die git diff gemeldet, aber wird widerrufen Sie Ihre Fähigkeit, um eine Liste der Verzeichnisse, so
ls ./
schlägt mitls: .: Permission denied
. Um dies zu beheben:Die schlechte Nachricht ist, dass, wenn Sie irgendwelche Dateien, die Sie behalten möchten ausführbare Datei, wie
.sh
Skripte, die Sie brauchen, um wieder jene. Dies können Sie mit den folgenden Befehl für jede Datei:InformationsquelleAutor der Antwort Scott Willeke
Könnten Sie versuchen,
git reset --hard HEAD
zum zurücksetzen der repo, die der erwarteten default-Zustand.
InformationsquelleAutor der Antwort Doppelganger
Es scheint, Sie haben einige verändert die Berechtigungen des Verzeichnisses. Ich habe die folgenden Schritte, um Sie wiederherzustellen.
InformationsquelleAutor der Antwort Vikram S
Dies geschieht, wenn Sie und ziehen Sie alle ausführbaren Dateien wurden in das remote-repository. Machen Sie Sie ausführbar wird wieder alles wieder normal.
Müssen Sie möglicherweise zu tun:
statt, für Dateien, die nicht gesetzt wurde als ausführbare Datei und das wurde geändert, weil die oben beschriebenen Vorgang. Gibt es einen besseren Weg, dies zu tun, aber dies ist nur eine quick-and-dirty fix.
InformationsquelleAutor der Antwort IskandarG
Hatte ich gerade eine lästige Datei mit den geänderten Berechtigungen.
Es Rollen wieder einzeln, ich habe gerade gelöscht, es manuell mit
rm <file>
und dann hat die Kasse ziehen einer neuen Kopie.Hatte ich zum Glück nicht inszeniert ist es dennoch.
Wenn ich hatte, die ich hätte laufen können
git reset -- <file>
vor der Ausführunggit checkout -- <file>
InformationsquelleAutor der Antwort kEnobus