Нет простого способа и способа, который я бы порекомендовал сделать точно так, как вы просите.
В git хранилище организовано вокруг COMMIT
с - снимки всего содержимого проекта , а не вокруг файлов. Подмножество файлов - это другое содержимое, поэтому требуется другое COMMIT
. (Это относится к вашему комментарию о «редком толчке»; такого не может быть в git.)
Таким образом, вы можете ограничить коммиты, которые вы храните, только путем клонирования определенных ссылок и / или с помощью аргумента --depth
для создания поверхностного клона. Но особенно, если вы хотите иметь возможность интегрировать восходящие изменения в будущем, совсем не просто ограничить набор файлов в коммитах, которые вы храните.
Прежде чем приступить к как, я настоятельно рекомендую вам еще раз взглянуть на , почему вы бы приложили усилия для этого. Это не сэкономит столько места. (Общая история репо составляет около 17 МБ, с рабочим деревом 11 МБ на кончике ветки по умолчанию. Для проекта может быть полезно использование git lfs
для некоторых крупных активов, но даже полный размер репо как есть, просто нет ' Это может беспокоить в большинстве современных сред.) Если вы просто хотите иметь менее загруженное рабочее дерево, то, как вы заметили, для этого подходят редкие проверки, даже если само хранилище хранит все.
Если вы все еще хотите попытаться это сделать, вам нужно создать «хранилище мостов», в котором будет храниться как их история (или часть), так и ваша. Это будет включать, по крайней мере, одну дополнительную ветку, нестандартные процедуры слияния и в целом просто процесс интеграции хрупких изменений. Другими словами, это не будет ни меньше, ни проще, чем просто работать с полными коммитами.
Вы можете найти шаблоны, которым вы должны будете следовать, чтобы создать такую процедуру, в предыдущем ответе здесь: Объединить восходящую ветку в ветвь с переписанной историей