При редактировании файла .gitignore добавленные правила применяются только к неотслеживаемым файлам.
Для файлов, уже переданных в удаленный репозиторий git, вам нужно их удалить из архива, создать новый коммит и отправить в удаленный репозиторий git.
У меня есть каталог с именем backup в моем локальном git-репозитории с двумя файлами.
Ниже приведен файл .gitignore, который я изменил, чтобы игнорировать файлы в этом каталоге.
$ cat .gitignore .Trash-* .vim/ .mutt/cache/ backup/
Шаг 1. Отключите файлы / каталог
Отметьте файлы для удаления, используя команду git rm -r –cached.
$ git rm -r --cached
Шаг 2: Сделайте новый коммит
Сохраните ваш новый объект фиксации / изменения в локальном репозитории Git.
$ git commit -m 'Remove newly ignored directory "./backup"' master d631061] Remove newly ignored directory "./backup" 2 files changed, 14 deletions(-) delete mode 100644 backup/backup.sh delete mode 100644 backup/rsync_exclude.lst
Шаг 3: Перенос изменений в удаленный репозиторий git
Предыдущая команда сохранила изменения в локальном репозитории git.
Вставьте их в удаленный репозиторий с помощью команды:
$ git push origin master Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Delta compression using up to 8 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (2/2), 261 bytes | 261.00 KiB/s, done. Total 2 (delta 1), reused 0 (delta 0) remote: Resolving deltas: 100% (1/1), completed with 1 local object. To github.com:jmutai/dotfiles.git 7a80a6d..d631061 master -> master
Это все. Вы успешно удалили каталог / файлы из удаленного репозитория после добавления их в файл .gitignore.
1 comment
Шаг 1 и Шаг 2 задвоены