stan git -> Pokaż pliki, które zostaną dodane (umieszczone w poczekalni) w podkatalogach


88

Powiedzmy, że uruchamiam repozytorium git w folderze i mam w nim kilka podkatalogów.

Mam kilka wzorców globowania .gitignoredo wykluczania plików w podkatalogach. Jednak gdy zrobię to git status przed wykonaniem czegokolwiek na etapie , status git pokazuje tylko nazwy podfolderów, które zostaną dodane, bez określania, które pliki w każdym podkatalogu zostaną dodane (przemieszczone), jeśli to zrobię git add ..

Co ciekawe jednak, git statusjest wyraźnie o plikach, które zostaną popełnione po I etapie z plikami git add ..

Czy mimo to zapytać git statussię wprost o plikach dla plików, które byłyby inscenizowanych ?

Odpowiedzi:


147

Próbować:

git status -u

lub długa forma:

git status --untracked-files

który pokaże pojedyncze pliki w nieśledzonych katalogach.

Oto szczegółowy opis -uopcji ze strony podręcznika git-status :

-u[<mode>]
--untracked-files[=<mode>]

Pokaż nieśledzone pliki.

Parametr mode jest opcjonalny (domyślnie all) i służy do określania obsługi plików bez śledzenia; gdy -unie jest używane, domyślnie jest to normal, tj. pokaż nieśledzone pliki i katalogi.

Możliwe opcje to:

  • no - Nie pokazuj nieśledzonych plików
  • normal - Pokazuje nieśledzone pliki i katalogi
  • all - Pokazuje również pojedyncze pliki w nieśledzonych katalogach.

Wartość domyślną można zmienić za pomocą status.showUntrackedFileszmiennej konfiguracyjnej udokumentowanej w git-config (1) .


9

Możesz po prostu użyć

git add --dry-run .

w katalogu głównym repozytorium, który zawiera listę dowolnego pliku w dowolnym podkatalogu, który zostałby dodany podczas rozważania .gitignore.



1

Co powiesz na umieszczenie .gitignorepliku w podkatalogach zamiast w wierszu

# Ignore everything in this directory
*
# Except these file
!.gitignore
!file1
!file2
!file3

Nie mam niczego, .gitignoreco wyglądałoby tak, jak opublikowałeś (tj. Ignorowanie katalogów lub podkatalogów z wyjątkami). Poza tym, dlaczego to ma znaczenie? Nawiasem mówiąc, git statuszwraca listę plików, które zostałyby zatwierdzone poprawnie po przemieszczeniu z git add ..
Amelio Vazquez-Reina

1
Wiem, że ty nie. Usuń katalog z katalogu głównego .gitignorei dodaj go .gitignoredo swojego podkatalogu - możesz mieć więcej niż jeden. Gniazdują
Adrian Cornish

-1

użyj polecenia git git ls-files -o, aby wyświetlić nieśledzony plik

zamiast tego -o użyj -c --cached Pokazuje pliki z pamięci podręcznej na wyjściu (domyślne)

-d --deleted Pokaż usunięte pliki w wyniku

-m --modified Wyświetla w wynikach zmodyfikowane pliki


To pytanie jest specyficzne dla pokazania, jakie pliki zostaną dodane, z uwzględnieniem .gitignore. Twoja odpowiedź ignoruje .gitignore.
Jared
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.