Chcę automatycznie wykluczyć 2 pliki z zatwierdzenia, które są częścią repozytorium git, ale mają pewne zmiany, które nie powinny być częścią repozytorium github, ponieważ mają pewne zmiany które mają znaczenie tylko dla mojego lokalnego systemu, a nie dla innych programistów.git nie ignoruje 2 specjalnie nazwanych plików
dodałem je do .git/info/exclude
w nadziei git wie, że nie powinien zatwierdzić zmiany do nich:
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
a.conf
b.conf
# *~
ale git status
nadal je wymienia jako wystawił za popełnienie:
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: build/conf/a.conf
# modified: build/conf/b.conf
#
I don nie chcesz ich regularnie uruchamiać za każdym razem (za każdym razem mogę zapomnieć), jak mogę to zrobić?
Dlaczego nie '.gitignore'? – maverik
Nie można ignorować plików, które śledzisz. Prawdopodobnie musisz znaleźć inny sposób zarządzania informacjami specyficznymi dla lokalnego systemu, np. Pliki "szablonów", które generujesz lub ręcznie edytujesz pliki konfiguracyjne. –
@maverik: jeśli 'exclude' nie działa,' .gitignore' też nie będzie. Przypadkiem użycia dla opcji "wyklucz" jest to, że ta informacja jest lokalna, podczas gdy '.gitignore' może być rejestrowane i udostępniane. Weź 'exclude' dla swoich lokalnych rzeczy, gdy nie chcesz wysadzić' .gitignore'. Wyobraź sobie duży projekt, w którym każdy programista umieszcza swoje wykluczenia w ".gitignore". Nie będzie już można nim zarządzać ... – eckes