Github не удаляет каталог с большим объемом

Я клонировал репозиторий с данными 3.8G. (Ну, граничащая глупость, но я по ошибке загрузил набор данных изображения.) Теперь я хотел бы удалить его, но git rm -r не удаляет его. Мне нужно, чтобы этот каталог был удален как из локального, так и из удаленного репозитория master. Команда работает уже более 2 days. Я считаю, что он застрял. Пожалуйста, я был бы очень признателен, если бы кто-нибудь мог подсказать мне выход из этой ситуации. Спасибо.

Что вы пытаетесь достичь? Просто удалить файлы из локального репозитория или предотвратить их копирование на git push?

natn2323 09.08.2018 16:50

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

Ahsan 09.08.2018 16:51
Редкие достижения на Github ✨
Редкие достижения на Github ✨
Редкая коллекция доступна в профиле на GitHub ✨
0
2
14
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема 1: Удаление его из локального репозитория

Вы хотите удалить изображения из локального репозитория.

Решение:

В командной строке выполните rm -rf x, где x - это каталог, содержащий изображения, -r - рекурсивный флаг, используемый для удаления каталогов и подкаталогов, содержащихся внутри, а -f - это флаг принудительного удаления защищенных файлов.


Проблема 2: Предотвращение совершения

Вы не хотите, чтобы изображения были отправлены в базу кода / онлайн-репозиторий.

Решение:

Если вы уже удалили файлы из локального репозитория, вы можете проверить, был ли удален каталог, выполнив команду git status. Удаленный каталог должен быть напечатан красным шрифтом. Все, что вам нужно сделать, это git rm x, чтобы подтвердить, что каталог будет удален и будет удален из кодовой базы / онлайн-репозитория. Затем, конечно, запустите git commit, а затем git push <origin> <master>.


Альтернатива:

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

Спасибо. но прямо сейчас каталог x уже удален. Мне нужно удалить его, как с локального, так и с master, то есть онлайн. Я могу сделать это двумя способами, если я правильно понимаю, я могу использовать rm -rf (команда unix), а затем сделать git commit и нажать. Второй вариант - использовать git rm -r. Проблема в том, что если я использую первый вариант, то есть использую команду unix rm -rf, git commit успешно завершается, но git push застревает и часами остается на 0%. Если я использую второй вариант, то есть git rm -r, для удаления каталога x, команда получает снова застрял. Полтора дня ждал, когда он вернется.

Ahsan 09.08.2018 18:06

Альтернативный совет очень полезен. Спасибо.

Ahsan 09.08.2018 18:43

@Ahsan Что касается двух предложенных мной решений, вам нужно будет сделать оба, чтобы достичь желаемого результата: решение 1, затем решение 2. Решение 1 не имеет ничего общего с git - это просто команда unix. Чтобы зафиксировать и продвинуть изменения, иногда я замечаю, что мне нужно нажать «ввод», иначе изменения не отображаются. Убедитесь, что вам предлагается ввести свои учетные данные git и еще много чего.

natn2323 09.08.2018 19:23

Другие вопросы по теме