Git - jak usunąć plik ze zdalnego repozytorium

86

Jak mogę usunąć plik ze zdalnego repozytorium Git? Mam plik, który został właśnie usunięty z lokalnego repozytorium kopii roboczej i chcę go usunąć z odpowiedniego repozytorium zdalnego

paganotti
źródło

Odpowiedzi:

113

Jeśli usunąłeś plik z drzewa roboczego, potwierdź usunięcie:

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

I popchnij swój commit w górę:

git push
jabal
źródło
7
lubgit commit -am "A file was deleted"
Malloc
3
A co z usunięciem go ze zdalnego źródła? W moim przypadku usunąłem pliki lokalne, ale jednocześnie dodałem je do listy ignorowanych git, więc kiedy wypchnąłem zatwierdzenie na zdalne pliki, pozostały w repozytorium, ponieważ nie były już śledzone.
Nathan Hornby
1
Przed usunięciem niechcianych plików upewnij się, że nie są one wymienione w .gitignore. Teraz przenieś lub usuń pliki z drzewa źródłowego, których nie chcesz już mieć w swojej gałęzi. Następnie wykonaj: git add ., git status(do przeglądu) git commit -m "removed files X,Y,Z", a następnie dodać je z powrotem do .gitignoretak nigdy nie wkraść źródła nigdy.
ecoe
46

Użyj poleceń:

git rm /path to file name /

śledzony przez

git commit -m "Your Comment"

git push

twoje pliki zostaną usunięte z repozytorium

Mayank Raipure
źródło
1
Na wypadek, gdyby ktoś chciał usunąć wszystkie pliki z katalogu, użyj -ropcji rekurencyjnej. Tak więc polecenie będzie wyglądać, git rm -r /path-to-file-name/a następnie wykonaj commiti pushjak wspomniano w powyższej odpowiedzi.
Kunal Dethe
23
  1. Jeśli chcesz przesłać usunięty plik do zdalnego

git add 'deleted file name'

git commit -m'message'

git push -u origin branch

  1. Jeśli chcesz usunąć plik ze zdalnego i lokalnego

git rm 'file name'

git commit -m'message'

git push -u origin branch

  1. Jeśli chcesz usunąć plik tylko ze zdalnego

git rm --cached 'file name'

git commit -m'message'

git push -u origin branch

ireshika piyumalie
źródło
18

Prostszy sposób

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

-A Zaktualizuj indeks nie tylko tam, gdzie drzewo robocze ma pasujący plik, ale także tam, gdzie indeks ma już wpis. To dodaje, modyfikuje i usuwa wpisy indeksu, aby pasowały do ​​drzewa roboczego. Zaczerpnięte z ( http://git-scm.com/docs/git-add )

zarpio
źródło
6

Jeśli wypchnąłeś plik lub folder, zanim znalazł się w .gitignore (lub nie miałeś .gitignore):

  • Skomentuj to z .gitignore
  • Dodaj go z powrotem do systemu plików
  • Usuń go z folderu
  • git dodaj swój plik i zatwierdź go
  • git push
Christophe Roussy
źródło
3

jeśli po prostu zatwierdzisz usunięty plik i wepchniesz. Następnie należy go usunąć ze zdalnego repozytorium.

andy boot
źródło
3

Jeśli usunąłeś wiele plików i folderów, po prostu zrób to

git commit -a -m .
git push
Armen Arzumanyan
źródło
1

Proste rozwiązanie usuwania plików repozytorium Git Remote:

git commit (nazwa pliku ze ścieżką, którą chcesz usunąć) -m "plik został usunięty"

git push

To zadziała. Wiele plików selektywnych również możesz usunąć w zdalnym repozytorium w ten sam sposób.

Bharat Bhushan
źródło
1

Kod programu Visual Studio:

Usuń pliki z widoku Eksploratora . Widzisz je przekreślone w swoim widoku gałęzi . Następnie zatwierdź i zsynchronizuj.

wprowadź opis obrazu tutaj

Uwaga: jeśli pliki znajdują się na liście .gitignore, „aktualizacja” do usunięcia nie zostanie wypchnięta, a zatem nie będzie widoczna. Jednak VS Code ostrzeże Cię, jeśli tak się stanie. -> Tymczasowo wyklucz pliki / folder z gitignore.

vii
źródło
0

Najłatwiej jest tymczasowo przenieść plik z lokalnego katalogu, a następnie zatwierdzić zmiany w zdalnym repozytorium. Następnie dodaj go z powrotem do lokalnego repozytorium, upewnij się, że zaktualizowałeś .gitignore, aby nie został ponownie zatwierdzony jako zdalny

dave o grady
źródło
0

Wiem, że jestem spóźniony, ale to, co zadziałało dla mnie (totalny początkujący git), to wykonanie następującego zestawu poleceń git:

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

Aby przyznać uznanie tam, gdzie jest to należne, oto link do źródła.

Mo Aboulmagd
źródło