В чем разница между ними?gitignore and.gitkeep?
каковы различия между .gitignore
и .gitkeep
? Являются ли они одной и той же вещью с другим именем или они оба выполняют разные функции? Кажется, я не могу найти много документации по .gitkeep
.
3 ответов
.gitkeep
не документировано, потому что это не функция Git.
Git не удалось добавить полностью пустой каталог. Люди, которые хотят отслеживать пустые каталоги в Git, создали соглашение о размещении файлов с именем .gitkeep
в этих каталогах. Файл можно назвать как угодно; Git не придает особого значения этому имени.
существует конкурирующее соглашение о добавлении .gitignore
файл в пустые каталоги, чтобы их отслеживать, но некоторые люди считают это запутанным, так как цель состоит в том, чтобы сохранить пустые каталоги, а не игнорировать их; .gitignore
также используется для списка файлов, которые должны игнорироваться Git при поиске неотслеженных файлов.
.gitkeep
- это просто заполнитель. Фиктивный файл, поэтому git не забудет о каталоге, так как Git отслеживает только файлы.
если вы хотите пустой dir и убедитесь, что он остается "чистым" для git, создайте .gitignore
содержащий следующие строки в:
# .gitignore sample
###################
# ignore all files in this dir...
*
# ... except for this one.
!.gitignore
если вы хотите иметь только один тип файлов, видимых для git, вот пример, как отфильтровать все, кроме .gitignore и все .txt
файлы:
# .gitignore to keep just .txt files
###################################
# filter everything...
*
# ... except the .gitignore...
!.gitignore
# ... and all text files.
!*.txt
('#' указывает комментарии.)
.gitignore
- это текстовый файл, содержащий список файлов в вашем каталоге, которые git будет игнорировать или не добавлять/обновлять в репозитории.
.gitkeep
поскольку git удаляет или не добавлять пустые каталоги в репо .gitkeep-это своего рода Хак (я не думаю, что он официально назван как часть git), чтобы держать пустые каталоги в репо.
просто touch /path/to/emptydirectory/.gitkeep
чтобы добавить файл, и git теперь сможет поддерживать этот каталог в репозитории.