Подтвердить что ты не робот

Удалить файл из GIT элемента управления

Возможный дубликат:
git - удаление файла из исходного элемента управления (но не из источника)

У меня есть файл .classpath, который в настоящее время находится в репозитории GIT.

После того, как я вытащил из репозитория удаление (git pull origin master). Как удалить этот файл из элемента управления GIT, я имею в виду NOT to delete этот файл с моего компьютера , но удаляет его из GIT управления версиями. (Потому что этот файл не нужен для контроля версий).

P.S.

Я пробовал git rm <path-to>/.classpath, но тогда весь мой проект жаловался на неправильный путь класса, почему GIT rm удалять мой файл вместо удаления из контроля версии???

4b9b3361

Ответ 1

Используйте git rm --cached для удаления из индекса, но не для рабочего дерева.

После этого вы должны добавить .classpath в свой .gitignore файл, чтобы предотвратить его повторное выполнение.

Ответ 2

почему git rm удалять мой файл вместо удаления из контроля версии???

Потому что то, что он говорит, это будет делать.

$ git help rm
NAME
       git-rm - Remove files from the working tree and from the index

SYNOPSIS
       git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet]
       [--] <file>...

DESCRIPTION
       Remove files from the index, or from the working tree and the index.
       ... When --cached is given,
       the staged content has to match either the tip of the branch or the
       file on disk, allowing the file to be removed from just the index.

OPTIONS
      ...

       --cached
           Use this option to unstage and remove paths only from the index.
           Working tree files, whether modified or not, will be left alone.

Как говорит Platinum Azure, используйте git rm --cached, чтобы удалить его только из исходного элемента управления, и используйте .gitignore, чтобы сохранить его и остановить его в git status.