Setzt man Git auf einem Windows System ein und deployed dann auf ein UNIX/Linux System, kann es zu Problemen kommen wenn das Git Repository ausführbare Dateien beinhaltet. Da Windows Dateien nicht speziell als Ausführbar kennzeichnet, werden die Rechte bei jedem push/pull wieder zurück gesetzt. Ein Beispiel: Ich habe ein Bash Script geschrieben. Dies wurde deployed und hatte keine Ausführungsrechte. Diese wurden auf dem Server von mir gesetzt und das Script funktionierte. Beim nächsten Deployment (auch wenn ganz andere Dateien kopiert werden) wurde das Ausführungsrecht wieder entfernt und ich musste es erneut setzen.

Git bietet für "broken filesystems" einen Modus an in dem die Dateirechte nicht verändert werden. Dafür muss man in der Git Config einfach core.fileMode auf false setzen.

$ git config core.filemode false

Das macht man auf dem Live System in das man pusht und indem man die Dateirechte behalten möchte.

Related Links

Leave a Reply