Odpowiedzi:
.gitkeep
nie jest udokumentowane, ponieważ nie jest to funkcja Git.
Git nie może dodać całkowicie pustego katalogu . Ludzie, którzy chcą śledzić puste katalogi w Git, opracowali konwencję umieszczania plików wywoływanych .gitkeep
w tych katalogach. Plik można nazwać czymkolwiek; Git nie przypisuje tej nazwie żadnego specjalnego znaczenia.
Istnieje konkurencyjna konwencja dodawania .gitignore
pliku do pustych katalogów w celu ich śledzenia, ale niektórzy uważają to za mylące, ponieważ celem jest zachowanie pustych katalogów, a nie ignorowanie ich; .gitignore
służy również do wyświetlania listy plików, które Git powinien zignorować, szukając nieśledzonych plików.
.gitignore
Plik z dwoma liniami: *
i !.gitignore
jest bardziej niż wystarczająco przejrzysty, aby przekazać, co się dzieje. Jeśli potrzebne jest dalsze opracowanie, dodaj komentarz na początku pliku, używając #
składni.
.keep
plików zamiast .gitkeep
zachowywać te puste foldery, ponieważ git nie jest jedynym systemem kontroli źródła, który nie śledzi pustych folderów. Więcej informacji tutaj: github.com/rails/rails/issues/2800
.gitkeep
jest tylko symbolem zastępczym. Plik fikcyjny, więc Git nie zapomni o katalogu, ponieważ Git śledzi tylko pliki.
Jeśli chcesz mieć pusty katalog i upewnić się, że pozostaje on „czysty” dla Git, utwórz w .gitignore
nim następujący wiersz:
# .gitignore sample
###################
# Ignore all files in this dir...
*
# ... except for this one.
!.gitignore
Jeśli chcesz, aby Git był widoczny tylko jeden typ plików, oto przykład, jak odfiltrować wszystko, oprócz .gitignore i wszystkich .txt
plików:
# .gitignore to keep just .txt files
###################################
# Filter everything...
*
# ... except the .gitignore...
!.gitignore
# ... and all text files.
!*.txt
(„#” oznacza komentarze.)
!
przed .gitignore
? Czy to po to, by uciec przed kropką?
!
neguje następną część, jak zwykle w programowaniu.
!.gitignore
pliku git ignore, ani dodawania pliku, ani edytowania go, ani wymuszania dodawania go z odpowiednią zawartością („*”, aby zignorować wszystko lub nic, aby po prostu upewnić się, że folder istnieje). Dalszy przykład .
Since the git ignore file is already in the repo it is not necessary to not-ignore it - it is already tracked.
------ Jeśli tak nie jest, a nie dodajesz siły, możesz o tym zapomnieć. W trywialnych przypadkach nie ma problemu, ale jeśli jest to większy plik, możesz być zdenerwowany. Używanie !.gitignore
zapobiega strzelaniu sobie w stopę. Wolę to, bo się kiedyś spaliłem.
.gitignore
to plik tekstowy zawierający listę plików w twoim katalogu, które git zignoruje lub nie doda / zaktualizuje w repozytorium.
.gitkeep
Ponieważ Git usuwa lub nie dodaje pustych katalogów do repozytorium, .gitkeep jest rodzajem włamania (nie sądzę, że jest oficjalnie nazwany jako część Git), aby utrzymać puste katalogi w repozytorium.
Po prostu zrób to, touch /path/to/emptydirectory/.gitkeep
aby dodać plik, a Git będzie mógł teraz utrzymywać ten katalog w repozytorium.
.gitignore
s, ile chcesz, jeśli nie chcesz za każdym razem określać pełnej ścieżki do każdego folderu.
.gitkeep
pliku, ale nie będzie śledzić pustych katalogów, Tylko ścieżka do folderu, w którym .gitkeep
istnieje plik. dlaczego tak ?
.gitignore
uratowałyby Cię przed określeniem pełnej ścieżki do każdego folderu za każdym razem? Myślę, że brakuje mi czegoś oczywistego.
README
pliku w innym pustym podkatalogu, który zawiera trochę informacji o tym, do czego będzie używany ten podkatalog? Wydaje się mylące, że plik o nazwie.gitkeep
tak naprawdę nie jest częścią git.