Как удалить каталог из репозитория git? - PullRequest
1073 голосов
/ 11 июня 2011

В моем репозитории GitHub есть 2 директории. Я хотел бы удалить один из них. Как я могу сделать это без удаления и повторного создания всего хранилища?

Ответы [ 14 ]

2037 голосов
/ 11 июня 2011

Удалить каталог из git и local

Вы можете оформить 'master' с обоими каталогами;

git rm -r one-of-the-directories
git commit -m "Remove duplicated directory"
git push origin <your-git-branch> (typically 'master', but not always)

Удалить каталог из git, но НЕ локально

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

В этом случае используйте:

git rm -r --cached myFolder
249 голосов
/ 03 декабря 2014

Чтобы удалить папку / каталог только из репозитория git, а не из локального, попробуйте 3 простые команды.


Шаги для удаления каталога

git rm -r --cached FolderName
git commit -m "Removed folder from repository"
git push origin master

Действия по игнорированию этой папки в следующих коммитах

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

.gitignore Файл будет выглядеть так:

/FolderName

remove directory

70 голосов
/ 11 июня 2011

Если по какой-то причине сказанное karmakaze не работает, вы можете попробовать удалить каталог, который вы хотите использовать, или с помощью браузера файловой системы (например, в проводнике Windows).После удаления каталога введите команду:
git add -A
, затем
git commit -m 'deleting directory'
, а затем
git push origin master.

.
20 голосов
/ 23 октября 2013

Вы можете попробовать это: git rm -rf <directory_name>

Это заставит удалить каталог.

16 голосов
/ 06 августа 2013

Если вы удалите файлы в каталоге (с git rm, как объясняют другие ответы), то каталог больше не существует, если речь идет о git.Вы не можете зафиксировать пустой каталог и не можете удалить его.

Это не похоже на subversion, где вы должны явно svn rm emptyfolder/, и, кстати, почему страница man для git описывает себя как "глупое содержимое"tracker "

Ответ на " Как добавить пустой каталог в репозиторий git " ссылки на FAQ по этой теме :

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

Вы можете сказать «git add <dir>», и он добавит туда файлы.

Есливам нужен каталог, который существует в кассе, вы должны создать в нем файл..gitignore хорошо работает для этой цели;Вы можете оставить его пустым или указать имена файлов, которые вы ожидаете увидеть в каталоге.

6 голосов
/ 13 июля 2016

Перейдите в каталог git и введите следующую команду: rm -rf <<em> Имя каталога >

После удаления каталога зафиксируйте изменения: git commit -m «Ваше сообщение коммита»

Затем просто отправьте изменения в удаленный каталог GIT: git push origin <<em> Имя ветви >

4 голосов
/ 19 декабря 2018

для удаление пустых папок

я хотел удалить пустую директорию (папку), которую я создал, git не может удалить ее, после некоторого исследования, которое я узнал, Git не отслеживает пустые директории,Если у вас есть пустой каталог в вашем рабочем дереве, вы должны просто удалить его с помощью

rm -r folderName

Нет необходимости использовать Git.

4 голосов
/ 05 сентября 2016

Я обычно использую git add --all для удаления файлов / папок из удаленных репозиториев

rm -r folder_name
git add --all
git commit -m "some comment"
git push origin master

master можно заменить любой другой веткой репозитория.

4 голосов
/ 26 февраля 2016

Вы можете удалить папку локально и затем нажать, как показано ниже:

git rm -r folder_name
git commit -m "your commit"
git push origin master
2 голосов
/ 01 сентября 2015

Вы можете использовать Attlasian Source Tree (Windows) (https://www.atlassian.com/software/sourcetree/overview). Просто выберите файлы из дерева и нажмите кнопку «Удалить» вверху. Файлы будут удалены из локального репозитория и локальной базы данных git. Затем совершите, затем нажмите.

...