Nur eine some.sh
Datei in eine ausführbare Datei ( chmod 755 ...
) umgewandelt, wurden die Berechtigungen aktualisiert, aber nicht der Inhalt. Gibt es eine Möglichkeit , die Datei in git festzuschreiben, damit das ausführbare Bit beim Klonen / Auschecken / Ziehen wiederhergestellt / gesetzt wird ?
Update: Wie kann ich verfolgen, dass die neuen Berechtigungen an gesendet wurden github
?
github
?git status
sehe ich Änderungen.@ fooMonster Artikel hat bei mir funktioniert
Wie Sie sehen können, hat die Datei die Berechtigung 644 (wobei die 100 ignoriert werden). Wir möchten es auf 755 ändern:
Übernehmen Sie die Änderungen
quelle
git commit -a
hat nichts für mich getan, die Einstellung der Nachricht in der Befehlszeile jedoch. Bit einer Marotte# git update-index --chmod=+x script.sh
# git ls-tree HEAD
# git commit -m "Changing file permissions"
# git push
Ich arbeite nicht für mich.
Der Modus ist wahr, die Dateiperms wurden geändert, aber Git sagt, dass es keine Arbeit zu tun gibt.
Das Problem scheint zu sein, dass Git nur bestimmte Berechtigungsänderungen erkennt.
quelle
git
wirklich nur, ob eine Datei ausführbar ist oder nicht, nicht den vollständigen Satz von * nix-Berechtigungen. Sie müssten also eine Datei zwischen ausführbar / nicht umschalten, um zu glauben, dass Sie etwas geändert haben, das es wert ist,post-checkout
Hakengit
, der einige Fälle abdecken würde, aber ich bin mir nicht sicher, ob dies alle möglichen Dinge abdecken würde, die Dateien in Ihrem Arbeitsbaum aktualisieren. Möglicherweise ist es besser, nur ein zusätzliches Shell-Skript in Ihrem Repo zu haben, das die Dinge entsprechend festlegt. Alternativ gibt es ein paar Projekte, diegit
das Speichern von Metadaten erweitern, aber ich habe noch nie eines davon ausprobiert ...git update-index --refresh
, aber der Unterschied zeigtold mode 100644 new mode 100755
. Es wurden nicht alle Berechtigungen aktualisiert