2016-03-29 2 views
1

Я пытался удалить некоторые файлы из системы управления версиями git, чтобы они не нажимались на фиксации.git rm --cached не работает

Оба мерзавец ет --cached файла и мерзавец ет --force --cached файл не работает для нескольких файлов. В основном удаленные файлы перетаскиваются в github (не когда я изменяю файлы, о которых идет речь, но только когда я редактирую и фиксирую другие файлы в проекте).

Кроме того, для нескольких файлов я получаю fatal: pathspec не соответствует файлам, когда файлы существуют в пути для команды git rm.

Здесь что-то здесь, но я не знаю, как безопасно сбросить все. Вы можете помочь.

+1

Возможно, вы немного смущены тем, как работает Git. Когда вы удаляете файлы и нажимаете, это должно привести к их удалению из удаленного репозитория. Конечно, файлы все равно будут в истории, потому что они были там в одно время. –

ответ

0

Попробуйте следующие команды: -

  1. git reset filename

  2. git reset HEAD filename

Они будут удалены файлы из промежуточной области.

1

добавить путь к файлу .gitignore в корневую папку вашего проекта.

0

Недостаточно удалить файл из индекса. Вы также должны создать коммит из этого индекса в ветку, на которой вы находитесь, а затем вытолкнуть ее в удаленный репозиторий, где вы хотите, чтобы это изменение появилось. Устранение не будет перенаправлено на github, если все, что вы делаете, это git rm ..., а затем git push без фиксации.

После выполнения команды git rm --cached файлы удаляются из индекса, оставаясь в рабочем дереве.

Если вы запустите git diff, вы ничего не увидите: это потому, что оно сравнивает рабочее дерево с концом ветки. Чтобы увидеть поэтапное удаление, используйте git diff --cached. Это разница между концом ответвления и индексом. Это то, что будет сделано при следующем вызове git commit.

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

Если вы случайно объединены совсем тема удаление файла из файла x с правками в файл y в том же коммят, вы можете использовать git reset HEAD^ -- x для создания сценического индекса, который переворачивает удаление x. Затем зафиксируйте это. Или используйте commit --amend, если вы еще не опубликовали сообщение об ошибке. Измененный коммит теперь имеет только изменения y, а x - это еще раз отслеживаемый файл. Теперь переустановите удаление с помощью rm --cached x и сделайте для него новую фиксацию.

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