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 .gitignore
dodaj ścieżkę względną do pliku bez prowadzenia ./
.
Tak więc, jeśli twój plik znajduje się w MyProject/MyFolder/myfile.txt
(gdzie .git
jest również w MyProject
folderze), dodaj MyFolder/myfile.txt
do .gitignore
pliku 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.txt
w ~/.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 .gitignore
gdzie .gitignore
jest 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ć .gitignore
z ~/.gitignore_global
co .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 ...