Git - как удалить файл из удаленного репозитория

86

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

Паганотти
источник

Ответы:

113

Если вы удалили файл из рабочего дерева, то зафиксируйте удаление:

git commit -a -m "A file was deleted"

И продвиньте свой коммит вверх по течению:

git push
Джабал
источник
7
илиgit commit -am "A file was deleted"
Malloc
3
А как насчет удаления его из удаленного источника? В моем случае я удалил локальные файлы, но одновременно добавил их в список игнорирования git, поэтому, когда я нажал на коммит, удаленные файлы остались в репо, поскольку они больше не отслеживались.
Натан Хорнби
1
Перед удалением ненужных файлов убедитесь, что они не указаны в каталоге .gitignore. Теперь переместите или удалите файлы из вашего исходного дерева, которые вам больше не нужны в вашей ветке. Затем выполните: git add ., git status(для обзора), git commit -m "removed files X,Y,Z"и затем добавить их обратно к вашему , .gitignoreчтобы они никогда не проникают в ваш источник никогда.
ecoe
46

Используйте команды:

git rm /path to file name /

с последующим

git commit -m "Your Comment"

git push

ваши файлы будут удалены из репозитория

Маянк Райпуре
источник
1
На всякий случай, если кто-то захочет удалить все файлы из каталога, используйте -rпараметр для рекурсии. Таким образом, команда будет выглядеть git rm -r /path-to-file-name/то делать commitи , pushкак указано выше в ответе.
Кунал Детхе
23
  1. Если вы хотите отправить удаленный файл на удаленный

git add 'deleted file name'

git commit -m'message'

git push -u origin branch

  1. Если вы хотите удалить файл удаленно и локально

git rm 'file name'

git commit -m'message'

git push -u origin branch

  1. Если вы хотите удалить файл только с пульта

git rm --cached 'file name'

git commit -m'message'

git push -u origin branch

ирешика пиюмалие
источник
18

Более простой способ

git add . -A
git commit -m "Deleted some files..."
git push origin master

-A Обновить индекс не только там, где в рабочем дереве есть соответствие файла, но и там, где индекс уже имеет запись. Это добавляет, изменяет и удаляет записи индекса в соответствии с рабочим деревом. Взято с ( http://git-scm.com/docs/git-add )

зарпио
источник
6

Если вы нажали файл или папку до того, как они были в .gitignore (или не имели .gitignore):

  • Прокомментируйте это из .gitignore
  • Добавьте его обратно в файловую систему
  • Удалите его из папки
  • git добавить ваш файл && зафиксировать его
  • git push
Кристоф Русси
источник
3

если вы просто зафиксируете удаленный файл и нажмете. Затем его следует удалить из удаленного репо.

Энди Бут
источник
3

Если вы удалили много файлов и папок, просто сделайте это

git commit -a -m .
git push
Армен Арзуманян
источник
1

Простое решение для удаления файла удаленного репозитория Git:

git commit (имя файла с путем, который вы хотите удалить) -m "файл удален"

git push

Он будет работать. Множественный выборочный файл также вы можете удалить в удаленном репозитории таким же образом.

Бхарат Бхушан
источник
1

Код Visual Studio:

Удалите файлы из окна проводника . Вы видите их перечеркнутыми в представлении ветки . Затем зафиксируйте и выполните синхронизацию.

введите описание изображения здесь

Имейте в виду : если файлы находятся в вашем списке .gitignore, то удаление «update» не будет отправлено и, следовательно, не будет отображаться. Однако VS Code предупредит вас, если это так. -> Временно исключить файлы / папку из gitignore.

vii
источник
0

Самый простой способ - временно переместить файл из локального каталога, а затем зафиксировать изменения в удаленном репозитории. Затем добавьте его обратно в локальное репо, обязательно обновите .gitignore, чтобы он снова не фиксировался на удаленном компьютере

Дэйв о Грейди
источник
0

Я знаю, что опаздываю, но то, что сработало для меня (всего git newbie), было выполнение следующего набора команд git:

git rm -r --cached . 
git add .
git commit -am "Remove ignored files and resubmitting files

Чтобы отдать должное, вот ссылка на источник.

Мо Абулмагд
источник