img

Что такое .gitkeep? Как отслеживать и добавлять пустые папки в Git

Предположим, что вы хотите полностью изменить структуру каталогов вашей кодовой базы. 

Вы хотите переместить некоторые папки выше, некоторые – ниже, а также переместить большое количество файлов в новые папки, которые вы собираетесь создать.

Вы начинаете перемещать код, параллельно проверяя, все ли работает, и добавляете несколько папок, которые вам пригодятся в следующем проекте. 

На данный момент эти папки пустые. Вы все равно начнете следующий проект через пару дней, так что будет лучше, если вы добавите эти новые папки, раз уж вы начали перемещать кодовую базу. 

Вы добавляете все это в свою ветку проекта, и вы готовы к тому, что кто-то это протестирует. Так что вы сообщаете тем, кто будет инспектировать код, что вы закончили работу со Slack.

После чего они клонируют вашу ветку, но проверка вашего кода заканчивается провалом, так как вы забыли добавить все новые папки, которые должны были добавить. 

Подожите… что?

Что же случилось?

Git не может добавлять пустые каталоги. Он может лишь отслеживать файлы.

Если вы попробуете добавить пустую папку, в вашу ветку она не попадет, несмотря на то, что эта папка будет существовать на вашем локальном компьютере.

Именно поэтому, если кто-то попробует клонировать ваш код, он не получит ту же структуру папок, которая имеется на вашем локальном компьютере.

Итак, что же делать, если такой вариант не работает?

Как использовать .gitkeep?

Так вот, мы знаем, что Git отслеживает только файлы, поэтому нам нужно добавить что-то в папку.

Вы можете добавить что угодно. Все, что от вас требуется, это просто добавить какой-то фиктивный файл для того, чтобы быть уверенным в том, что папка отслеживается и может быть добавлена.

Вы можете просто скопировать и вставить пустой текстовый файл file.txt, и это сработает. Вы можете даже добавить туда изображение котика.

И тем не менее, существует довольно распространенная типовая практика для решения этой проблемы. Она заключается в том, что вам необходимо поместить в ваши пустые папки файл с именем .gitkeep.

Это не какая-то особенная функция Git! Вы можете назвать этот файл как вам угодно. Нет ничего особенного в названии .gitkeep. Некоторые разработчики, например, вместо этого файла добавляют .gitignore.

Правда, название .gitignore может создать путаницу, так как вы не пытаетесь заставить Git игнорировать ваш файл, а просто добавляете его в свою ветку. 

Так или иначе, добавив этот обычный файл в свои папки, вы сможете гарантировать, что, когда придет время, вы сможете добавить эти папки в свою ветку проекта. 

Заключение

.gitkeep - это довольно распространенная вещь, которую можно наблюдать в кодовых базах, где Git должен отслеживать пустую папку.

Имя вашего фиктивного файла не обязательно должно быть .gitkeep, но вы, как разработчик, будете постоянно сталкиваться именно с этим названием.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Программирование
Скидка 25%
Python Advanced. Продвинутый курс
Освойте асинхронное и метапрограммирование, изучите аннотацию типов и напишите собственное приложение на FastAPI. Улучшите свои навыки Python, чтобы совершить быстрый рост вашего грейда до уровня middle.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Python — один из самых популярных языков программирования для анализа данных и Data Science. Почему? Всё дело в его простоте, ог
img
В этой статье обсудим один из важнейших аргументов функции, который ТЫ, мой друг, будешь использовать в каждом своем боте.  Ты с
img
Введение    Настало время глубже погрузиться во взаимодействие человека с ботом. Сегодня изучим декоратор message_handler(). Узн
img
Погружение в aiogram (#5 Отправка стикеров)   Введение   Продолжаем изучать функционал библиотеки aiogram для работы с Telegram
img
Гипервизор - это программное обеспечение для виртуализации, используемое для создания и запуска виртуальных машин (ВМ). Гипервиз
img
Виртуализация серверов позволяет запускать несколько виртуальных машин на одном физическом сервере. Запуск виртуальных машин (ВМ
ЗИМНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59