1) Aby rozpocząć ignorowanie zmian w jednym już wersjonowanym pliku
git update-index --assume-unchanged "main/dontcheckmein.txt"
i cofnąć to git update-index --no-assume-unchanged "main/dontcheckmein.txt"
github docs, aby zignorować pliki
2) Całkowite zignorowanie konkretnego pojedynczego pliku, uniemożliwiając jego utworzenie w repozytorium
Najpierw spójrz na ten post stackflowflow : Git globalne ignorowanie nie działa
W .gitignoredodaj ścieżkę względną do pliku bez prowadzenia ./.
Tak więc, jeśli twój plik znajduje się w MyProject/MyFolder/myfile.txt(gdzie .gitjest również w MyProjectfolderze), dodaj MyFolder/myfile.txtdo .gitignorepliku at .
Możesz potwierdzić, jakie reguły są powiązane z ignorowaniem przez git check-ignore "MyFolder/myfile.txt"
O globalnym ignorowaniu
Ten link mówi ~/.gitignore_global, ale plik jest powiązany z twoim projektem. Tak więc, jeśli umieścić wyklucza wzór MyFolder/myfile.txtw ~/.gitignore_global, to będzie działać, ale nie będzie sensu ...
Z drugiej strony, jeśli skonfigurujesz projekt z tym, git config core.excludesfile .gitignoregdzie .gitignorejest MyProject, plik lokalny zastąpi się ~/.gitignore_global, co może mieć bardzo przydatne reguły ...
Więc teraz, myślę, że najlepiej zrobić jakiś skrypt, aby mieszać .gitignorez ~/.gitignore_globalco .gitignore.
Ostatnie ostrzeżenie
Jeśli plik, który chcesz zignorować, znajduje się już w repozytorium, ta metoda nie będzie działać, chyba że to zrobisz: git rm "MyFolder/myfile.txt"ale najpierw wykonaj kopię zapasową, ponieważ zostanie ona również usunięta lokalnie! Możesz skopiować go później ...