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

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



1

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

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

git push

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


1

Код Visual Studio:

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

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

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


0

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


0

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.