2012-07-14 20 views
5

Kiedy usunąć plik (lub zmienić jego nazwę) przy użyciu mv, rm lub innego obiektu, z akt sprawy wynika jako usunięte, gdy robię git status:Jak usunąć pliki usunięte z .git?

# Changes not staged for commit: 
# (use "git add/rm <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# deleted: ../src/main/..../myFile.java 

przed utworzeniem popełnienia, to jest kłopotliwe, aby zrobić git rm <file> dla każdego pliku, szczególnie, że w terminalu nie ma automatycznego uzupełniania dla pliku, którego nie ma.

Czy istnieje krótszy sposób na usunięcie usuniętych plików z zestawu plików śledzonych przez git?

Dzięki

+0

Zwykle robię tylko kopię i wklejam do edytora tekstu, a następnie znajduję i zamieniaję, aby wsadowo zaimportować go za jednym razem. –

Odpowiedz

4

wierzę git add -u będą robić to, co chcesz, z dokumentacji:

-u 
--update 
    Only match <filepattern> against already tracked files in the index 
    rather than the working tree. That means that it will never stage new 
    files, but that it will stage modified new contents of tracked files 
    and that it will remove files from the index if the corresponding file 
    in the working tree have been removed. 

referencyjny: http://git-scm.com/docs/git-add

1

to nie jest dokładnie to, co prosiłeś, ale można spróbować git commit -a. Z dokumentacji:

Tell the command to automatically stage files that have been modified 
and deleted, but new files you have not told git about are not affected. 
2

Tak, git add -u powinno wystarczyć (aktualizuje swój indeks z wszelkimi modyfikacjami/delecji). Jeśli dodałeś już plik z nową nazwą pliku, zobaczysz nawet jego zmianę w git status.

3

Po usunięciu niektórych plików, należy dodać "a" parametrów w popełnić:

$ git commit -am 'Message' 

"a" automatycznie usunie pliki z repozytorium

1

Moja odpowiedź nie naprawdę rozwiązać ten konkretne pytanie, ale ...

Należy zauważyć, że w przeciwieństwie do niektórych innych VCSes w Git, komenda git rm usuwa plik zarówno z indeksu i drzewie pracy, chyba że powiedziano inaczej (przy użyciu opcji wiersza poleceń --cached). Zaleca się usunięcie plików śledzonych za pomocą git rm w pierwszej kolejności: uzyskasz poprawne uzupełnianie nazw plików i nie będziesz musiał zadzierać z synchronizowaniem stanu indeksu z drzewem roboczym.

+0

To prawda, ale czasami zmieniam nazwy plików z edytora tekstów. Ponieważ plik może znajdować się głęboko w drzewie, wpisanie 'git rm' i pełna ścieżka do pliku może zająć więcej czasu. – axel22

+0

'git mv' w twoim przypadku, ale tak, inaczej się zgadzam. – kostix

Powiązane problemy