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як згадувалося у наведеній вище відповіді.
Kunal Dethe

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 Remote:

git commit (ім'я файлу із шляхом, який ви хочете видалити) -m "файл видалено"

git push

Це буде працювати. Кілька селективних файлів також можна видалити у віддаленому сховищі таким же чином.


1

Код Visual Studio:

Видаліть файли з подання Explorer . Ви бачите їх перекресленими у своєму поданні філії . Потім зафіксуйте та синхронізуйте.

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

Майте на увазі: якщо файли знаходяться у вашому списку .gitignore, тоді "оновлення" видалення не буде натиснуто, а тому не буде видимим. Однак VS Code попередить вас, якщо це так. -> Тимчасово вимкніть файли / папку з gitignore.


0

Найпростіше зробити це тимчасово перемістити файл із локального каталогу, а потім внести зміни до віддаленого репо. Потім додайте його назад до локального репо, переконайтесь, що оновили .gitignore, щоб він знову не здійснив віддалене керування


0

Я знаю, що запізнився, але те, що мені вдалося (загальний git новачок), було виконання наступного набору команд 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.