Вы можете
git rm myConfigFile
echo myConfigFile > .gitignore
git add .gitignore
git commit -m "from now on, no more myConfigFile"
Другой крайний подход (опасный, особенно если вы уже толкнули ваш репозиторий к удалённому) будете полностью удалить этот файл из истории указанного репо :
git filter-branch --index-filter 'git update-index --remove myConfigFile' HEAD
(использовать с осторожностью, так и с резервным первым)
В вопросе How do I remove sensitive files from git’s history есть более чувствительная тема.
Проблемы, связанные с этим процессом в два раза:
- Если репо уже клонировать, вы никогда не может гарантировать, конфиденциальная информация будет действительно «ушел» от любого другого репо.
- Когда другие попытаются снести ваши последние изменения после этого, они получат сообщение о том, что изменения не могут быть применены, потому что это не ускоренная перемотка вперед.
Чтобы исправить это, им придется либо удалить существующий репозиторий, либо повторно клонировать его, либо выполнить инструкции в разделе «RECOVERING FROM UPSTREAM REBASE
» в git-rebase
manpage.
В обоих случаях, ваша конфиденциальная информация не будет «спокойно» заменены или удалены ...
Что именно вы пытаетесь сделать? Вы хотите вернуться к одной фиксации, которая произошла 2 недели назад? – BastiBen