Wenn man eine Datei, die schon mal eingecheckt wurde, ignorieren will, geht das nicht ohne weiteres per .gitignore
, denn .gitignore
wirkt nur auf neue Dateien.
Daher müsste man die Datei(en) aus dem Repo löschen, was mit git rm –cached myfile.log
geht. Die Datei bleibt in Working-Dir erhalten. Allerdings wird die Datei dann in einem anderen Working-Dir gelöscht, wenn man dort ein git pull
macht! Daher ist das u.U. keine so gute Lösung.
Lokal kann man die Datei mit
git update-index --skip-worktree myfile.log
ignorieren. Das wird aber nicht in das Upstream-Repo übertragen; Das ist eine rein lokale Angelegenheit und muss ggf. in den anderen Workdirs ebenso gemacht werden.
Bei vielen zu ignorierenden Dateien kann man
git update-index --skip-worktree temp/myfile*
oder ggf.
git update-index --skip-worktree temp/myfile{1..7}.log
verwenden. git update-index
funktioniert übrigens nicht bei Dateien, die mit einem Punkt (.) beginnen!
Siehe auch die Diskussionen und Kommentare in