2012-10-10 11 views
27

usunąłem kilka plików z mojego repo git i teraz, po stanie zobaczyćJak zmodyfikować git add do obsługi usuniętych plików?

# Changes not staged for commit: 
# ... 
# deleted: project/war/favicon.ico 
# deleted: project/war/index.html 

Zazwyczaj chciałbym wystawić je wydając polecenie git add ., ale robi tak nie wpływa na stan git. Pliki nadal nie są wystawiane na zatwierdzenie.

Teraz .. Wiem, że mogę git rm file zająć się tym.

Pytanie brzmi ... czy mogę zmodyfikować git add ., aby jakoś również skasować usunięte pliki? Myślałem, że dodaj "." dba o wszystko (usunięte pliki)

+2

Czy mogę zapytać, dlaczego -1? – JAM

Odpowiedz

53

git add . doda nowe i zmodyfikowane pliki do indeksu. git add -u usunie pliki z indeksu po ich usunięciu na dysku i zaktualizuje zmodyfikowane pliki, ale nie doda nowych plików. Potrzebny jest połączenie tych dwóch:

git add . && git add -u . 

Uzupełnienie: Wydaje się, że przełącznik -A złapie wszystkie trzy: dodawane, modyfikowane i usuniętych plików.

git add -A . 

Uwaga na dodatkowe "." na git add -A i git add -u


ostrzeżenia, począwszy git 2.0 (mid 2013), git add -A|u (nie dodatkowa kropka) będą zawsze pliki stage na drzewie wszystko pracuje.
Jeśli chcesz wystawić plik tylko w bieżącej ścieżce z tego drzewa roboczej, następnie trzeba użyć

$ git add -A . 

See „Difference of “git add -A” and “git add .”.

+0

Awesome. Dziękuję, proszę pana (przyjmie za 6 minut) – JAM

+3

+1 dla 'git add -A', który został zaprojektowany dla tego przypadku użycia. –

+0

Co zrobić, jeśli nie chcę dodawać wszystkich plików, tylko usunięty? – domdambrogia

Powiązane problemy