Недостаточно удалить файл из индекса. Вы также должны создать коммит из этого индекса в ветку, на которой вы находитесь, а затем вытолкнуть ее в удаленный репозиторий, где вы хотите, чтобы это изменение появилось. Устранение не будет перенаправлено на 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
и сделайте для него новую фиксацию.
Возможно, вы немного смущены тем, как работает Git. Когда вы удаляете файлы и нажимаете, это должно привести к их удалению из удаленного репозитория. Конечно, файлы все равно будут в истории, потому что они были там в одно время. –