Intereting Posts
Функция jQuery.get не работает в Github Pages Как установить часовой пояс в тиге? Показать различия между двумя ветвями Git по расширению файла Как настроить два ключа SSH для двух учетных записей GitLab и нажать / вытащить, используя TortoiseGit? Жесткий сброс одного файла Имитировать клик по кнопке «Больше» кнопки GitHub в JavaScript не работает Можно вернуться в состояние, в котором я был, перед запуском 'git rebase –bort' Git: Checkout определенная фиксация: состояние «отсоединенной головки» Репозиторий Clone из github в ошибке пароля пользователя xcode Удаленный проект NetBeans с svn Как узнать, какая версия / фиксация моего источника запущена в AppEngine Проблема с svn checkout (процесс загрузки прерван, могу ли я продолжить?) Laravel – Composer не может найти файл конфигурации Как обрабатывать ситуацию GitHub, когда «git pull upstream branch_name» дает конфликты, когда это не должно? Как обрабатывать общий код в git между разными клиентами для одного приложения

Как удалить файлы в удаленном репозитории Git

Скажем, у меня есть следующая структура в Github (удаленном)

/project /dir1 /dir2 file1 file2 

Теперь я разветвил репо и изменил его на следующее:

 /project /dir_list /files_list 

Когда я нажимаю репо, я хочу, чтобы пульт был следующим:

 /project /dir_list /files_list 

а не :

 /project /dir1 /dir2 file1 file2 /dir_list /files_list 

Как мне это сделать?

Пытаться

 git rm -r dir1 dir2 file1 file2 git add ./* 

И совершите и нажмите только тогда.

Альтернативно, если вы уделяли достаточное внимание и ждали ответа, прежде чем выполнять какую-либо работу с репо: сначала вы можете удалить все, затем выполнить свою работу, а затем добавить все обратно:

 git rm -r ./* # this will delete ALL FILES # ... copy the files you need, make changes git add ./* 

Небольшое отклонение от ответа H2C03 (upvoted):

Если вы уже проделали большую работу и не хотите вводить каждый файл в команду git rm … снова клонируйте репозиторий GitHub!

В этом новом клоне удалите все, зафиксируйте и нажмите.

Вернитесь к своему первому клону (где вы сделали массивный рефакторинг и уже сделали git commit что рефакторинг): git pull --rebase , затем git push .
Это приведет к повторному воспроизведению ваших изменений поверх фиксации, которую вы вернетесь из репо GitHub (т. Е. Фиксации, регистрирующей удаление всех предыдущих файлов).

Вы можете использовать команду git mv :

 $ mkdir dir_list files_list $ git mv dir1 dir2 dir_list/ $ git mv file1 file2 files_list/ $ git commit