Używam cygwin na Windows 7 Professional.
Kiedy tworzę nowe pliki, takie jak MyNewFile.java, wydaje się, że domyślnie ustawiono uprawnienia na 755. Nie tego chcę. Chcę, aby było to 644 dla zwykłych plików.
To bardzo denerwujące, że muszę zmieniać uprawnienia za każdym razem, gdy tworzę nowe pliki poza terminalem cygwin (cp z terminalu cygwin działa dobrze i po prostu zachowuje istniejące uprawnienia zgodnie z oczekiwaniami, nawet tworząc nowe pliki z wewnętrznych programów cygwin).
Alternatywnie, czy jest jakiś sposób, aby git automatycznie zmieniał pliki * .myextension, aby zawsze miały określone uprawnienia?
Jeśli nie, to czy jest jakiś sposób rekursywnie chmod 644 wszystkie pliki * .myextension rekurencyjnie w folderze (bez wpływu na uprawnienia do folderu!)?
źródło
find ./ …
;find . …
działa dobrze, a jeśli przyzwyczaisz się pisaćfind ./
cały czas, jednego z tych dni będziesz pisaćfind / -exec rm …
(lub równoważniefind /. …
) przez przypadek.Odpowiedzi:
Musisz zmienić zabezpieczenia folderu w systemie Windows, do którego pisze cygwin, aby pasował do twojej konfiguracji cygwin.
Na przykład z domyślnymi zabezpieczeniami otrzymuję:
Po zmianie zabezpieczeń folderu w systemie Windows otrzymuję:
Zauważyłem, że pozycja bezpieczeństwa systemu Windows „Wszyscy” odpowiada „innemu” na liście „grupa użytkowników inna” w poleceniu ls. Usuń „Odczytaj i uruchom”, pozostawiając tylko Odczyt dla tego pasującego. Specjalny wpis dotyczący bezpieczeństwa grupy CREATOR GROUP pasował do mnie w części „grupa”. Kiedy wyłączyłem opcję „Odczytaj i uruchom”, a pozostawiłem tylko opcję Odczyt, cała lista katalogów jest teraz zgodna z bezpieczeństwem pliku stworzonego przez cygwin.
źródło
Nie jest jasne, co próbujesz tutaj osiągnąć, ale jeśli próbujesz zmusić swojego cygwina do ignorowania uprawnień, zrób to:
$ git config --local core.filemode false
źródło