Запретить Git изменять игнорируемые файлы и не удалять те же файлы - PullRequest
0 голосов
/ 07 июня 2018

Файл .gitignore успешно игнорирует все файлы web.config.Это было не всегда так.Есть давние исторические ссылки на файлы web.config.Теперь время от времени файлы web.config возвращаются без предупреждения в предыдущее состояние.Когда разработчики вносят изменения для восстановления файлов web.config, никаких ожидаемых различий не отмечается.

Чем объясняется необъяснимое поведение возврата к предыдущей версии и как его можно остановить?Я бы предпочел не изменять всю историю хранилища, но это разрешено для моих целей.

- РЕДАКТИРОВАТЬ - Я нашел частичное решение .Единственные проблемы в том, что он изменяет мою историю, чтобы включить файлы web.config, а затем удаляет их.Теперь я думаю, что правильно сделать, чтобы переопределить историю даже на сервере, удалив все ссылки на файлы конфигурации с самого начала.

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Чтобы удалить файл web.config из всех историй коммитов, вы можете выполнить следующие команды:

touch .gitignore
echo 'web.config' > .gitginore
git rm --cached web.config
git add .gitignore
git commit -m 'add .gitignore to ignore web.config'
git filter-branch --index-filter 'git rm --ignore-unmatch --cached -r web.config' --prune-empty -f -- --all

Переписывание историй может занять несколько более длительных минут.После этого файл web.config полностью удаляется из истории коммитов git.

0 голосов
/ 07 июня 2018

Возможно, вы извлекли старый коммит, содержащий файл.Использование git checkout прямо или косвенно, скажем, git rebase -i.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...