Відповіді:
.gitkeep не документально підтверджено, тому що це не особливість Git.
Git не може додати повністю порожній каталог . Люди, які хочуть відслідковувати порожні каталоги в Git, створили конвенцію про розміщення файлів, викликаних .gitkeepу цих каталогах. Файл можна назвати чим завгодно; Git не приділяє цьому імені особливого значення.
Існує конкурентна умова додавання .gitignoreфайлу до порожніх каталогів, щоб відстежувати їх, але деякі люди вважають це заплутаним, оскільки мета - тримати порожні каталоги, а не ігнорувати їх; .gitignoreтакож використовується для переліку файлів, які Git повинен ігнорувати під час пошуку незатребуваних файлів.
.gitignoreфайл з двома рядками: *і !.gitignoreбільш ніж достатньо ясності, щоб передати те, що відбувається. Якщо потрібна додаткова розробка, додайте коментар у верхню частину файлу за допомогою # синтаксису.
.keepфайли замість .gitkeepзбереження цих порожніх папок, оскільки git - не єдина система управління джерелами, яка не відстежує порожні папки. Детальніше тут: github.com/rails/rails/isissue/2800
.gitkeepце просто заповнювач. Файл-манекен, тому Git не забуде про каталог, оскільки Git відстежує лише файли.
Якщо ви хочете порожній каталог і переконайтеся, що він залишається "чистим" для 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? Це для того, щоб уникнути крапки?
!заперечує наступну частину, як це зазвичай робиться в програмуванні.
!.gitignoreу файл ігнорування git, або додайте файл, потім відредагуйте його, або примушуйте додавати його з відповідним вмістом ("*", щоб ігнорувати все, або нічого, щоб просто переконатися, що папка існує) подальший приклад .
Since the git ignore file is already in the repo it is not necessary to not-ignore it - it is already tracked.------ Якщо це не так, і ви не робите насильницького додавання, ви можете забути про це. У тривіальних випадках немає проблем, але якщо це файл більшого розміру, ви можете засмутитися. Використання !.gitignoreзаважає стріляти в ногу. Я вважаю за краще, спаливши себе в минулому.
.gitignore
це текстовий файл, що містить список файлів у вашому каталозі, який git буде ігнорувати або не додавати / оновлювати у сховищі.
.gitkeep
Оскільки Git видаляє чи не додає порожні каталоги до сховища.
Просто зробіть, touch /path/to/emptydirectory/.gitkeepщоб додати файл, і Git тепер зможе підтримувати цей каталог у сховищі.
.gitignoreзавгодно s, якщо ви не хочете кожен раз вказувати повний шлях до кожної папки.
.gitkeepфайлі, але він не буде відслідковувати порожні каталоги, лише слідкуйте за папками, де .gitkeepіснує файл. чому так ?
.gitignores врятувало вас від вказівки повного шляху до кожної папки кожен раз? Я думаю, я пропускаю щось очевидне.
READMEфайл в інакше порожній підкаталог, який містить трохи інформації про те, для чого цей підкаталог буде використовуватися? Здається, що заплутаним є файл під назвою,.gitkeepякий насправді не є частиною git.