2015-07-02 2 views
1

Я все еще пытаюсь полностью изучить Git, но после поиска я все еще немного смущен. Я удалил файл из репозитория Git с помощью git rm --cached, и файл остается локально. После нажатия на удаленный репозиторий git и потянув его на сервер разработки, удаленный файл удаляется. Не могли бы вы предложить, как это исправить?Удалить файл из Git

+1

исправить какой? что вы ожидаете –

+0

Связано: http://stackoverflow.com/q/1139762/1157054 – Ajedi32

+0

Вы хотите удалить эти файлы? – mayo

ответ

1

Есть 3 области, которые вам необходимо рассмотреть: репозиторий, промежуточная область и рабочее пространство.

  • мерзавец ет удаляют из промежуточной области и рабочей
  • мерзавец ет --cached удаляют только из промежуточной области. Он удаляется только из рабочей области при фиксации.

Файл остается в репозитории. Если вы получите версию репозитория до того, как файл будет удален, вы получите файл обратно.

+0

Чтобы обойти этот пример, вы можете стереть файл со всей истории: 'git filter-branch --index-filter 'git rm -rf --cached --ignore-unmatch FILES" HEAD'. Будьте осторожны с этим! – ikrabbe

+0

Чтобы было ясно, я пытаюсь удалить мой wp-config.php из своего репозитория, поскольку он отличается от моего компьютера и моего сервера разработки. Я хочу иметь 2 разных копии файла, но когда я запустил git rm --cached, он сохранил копию на моем компьютере, но когда я вытащил на свой сервер, файл был удален. – SVAN

0
git rm <Insert File name> 
git commit --cashed <File name> 

Первый удаляет его из рабочего пространства и индекса. Кэширование удалит его только из индекса. Если вы забудете совершить то, то он останется в рабочей области.

Смежные вопросы