Как удалить каталог из репозитория git?



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

1585   12  

12 ответов:

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

вы можете проверить "мастер" с обоих каталогов;

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, но не удалить его полностью из файловой системы (local)

в этом случае:

git rm -r --cached myFolder

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


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

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

шаги, чтобы игнорировать эту папку в следующей совершает

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

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

/FolderName

remove directory

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

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

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

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

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

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

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

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

вы можете сказать:"git add <dir>" и добавлю туда файлы.

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

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

после удаления каталога зафиксируйте изменения с помощью: git commit-m "ваше сообщение о фиксации"

затем просто нажмите изменения в удаленном каталоге GIT: git push origin филиала>

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

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

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

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

git rm -r folder_name
git commit -m "your commit"
git push origin master

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

один из моих коллег предложил BFG Repo-Cleaner который я считаю мощным. Это не только удалить ненужные данные, но и очистить репозиторий от любой связанной информации фиксации.

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

  1. git init
  2. git config user.name "кто-то"
  3. git config user.электронная почта "[email protected]"
  4. git rm-r
  5. git commit-m "удаление dir"
  6. git push origin master

добавить новый каталог:

mkdir <YOUR-DIRECTORY>

но теперь Git не знает об этом новом каталоге, потому что Git отслеживает файлы, а не каталоги Каталог

git status

Git не будет знать об изменениях, которые мы сделали, поэтому мы добавляем hidden .keep файл, чтобы Git знал об этом новом изменении.

touch /YOUR-directory/.keep

теперь, если вы нажмете git status Git будет в курсе изменений.

и если вы хотите удалить каталог, вы должны использовать это команда.

rm -r <YOUR-DIRECTORY>

и если вы проверили с помощью git status, вы увидите, что каталог был удален.

Comments

    Ничего не найдено.