Удалить существующий файл из Git Repo - PullRequest
124 голосов
/ 08 ноября 2010

Я хочу, чтобы git прекратил отслеживать мой локальный журнал разработки (log / development.log) в наших репозиториях.Возможно ли это и как я могу это сделать?

Ответы [ 3 ]

140 голосов
/ 08 ноября 2010

Просто чтобы дать полный ответ сразу:

  1. от klemens: Вам нужно добавить файл в ваш файл .gitignore где-то выше нежелательного файла в репо.т.е.

    $ cd $ cat >> .gitignore development.log Cd

  2. от m.Наребский: Затем вам нужно удалить файл из репозитория, выполнив «git rm --cached <file> и затем зафиксировав это удаление»

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

С учетом этого предостережения инструмент, который вы ищете, если ваша цель - filter-branch.Первый пример делает именно то, что я описываю.

53 голосов
/ 08 ноября 2010

Чтобы остановить отслеживание файла, просто используйте git rm --cached <filename>.

Но, как отмечают другие здесь, добавление файла в .gitignore может помешать вам случайно добавить его позже.

1 голос
/ 08 ноября 2010

добавить файл gitignore.

см http://git -scm.com / docs / gitignore

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