Как удалить существующий версионный файл из git

Я хочу, чтобы мой fabfile.py не был версионным в git.

Я сделал эти шаги:

  1. скопировал файл в fabfile.default.txt файл в качестве резервной копии
  2. удален fabfile.py
  3. git rm --cached fabfile.py
  4. добавленной fabfile.py в .gitignore

затем зафиксировал удаленный файл, включая файл.gitignore.

но затем, если я снова создаю свой fabfile.py локально, он снова появляется в git status, Зачем? я пропускаю какой-то шаг здесь? чувствую себя так глупо сейчас

2 ответа

Использование git rm fabfile.py, git rm --cached fabfile.py удалит его только из индекса. git rm удалит его из индекса и рабочего дерева. Затем вы фиксируете удаление как добавление.

Если вы хотите сохранить файл (и игнорировать его), сначала создайте его резервную копию. (Я уверен, что комментарии придут более элегантным способом, если таковой имеется)

Если вы хотите удалить всю историю файла, это гораздо более сложная задача, которую лучше избегать.

Смотрите документы.

Я думаю, что шаги должны быть такими:

  1. cp для резервного копирования
  2. git rm fabfile.py
  3. мерзавец совершить
  4. добавить path-to-fabfile.py в.gitignore
  5. создать резервную копию файла
  6. git status должен это игнорировать.
Другие вопросы по тегам