Відповіді:
.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
існує файл. чому так ?
.gitignore
s врятувало вас від вказівки повного шляху до кожної папки кожен раз? Я думаю, я пропускаю щось очевидне.
README
файл в інакше порожній підкаталог, який містить трохи інформації про те, для чого цей підкаталог буде використовуватися? Здається, що заплутаним є файл під назвою,.gitkeep
який насправді не є частиною git.