LINUX.ORG.RU

Не выкачивать всю историю изменений git-ом

 ,


0

2

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

Может ли git работать с хранилищем, не выкачивая всю историю изменений для всех файлов? Как это правильно называется, чтобы найти в мануалах?

★★★★★
Ответ на: комментарий от yvv

git shallow clone

Спасибо. А можно ли обойтись без клонирования всех файлов, скажем, слить только отдельную директорию или отдельный файл?

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

Нельзя, можно склонить конкретную ветку на конкретную глубину коммитов.

Alve ★★★★★
()
Ответ на: комментарий от question4

Можно сделать sparse checkout, но клонировать всё равно нужно всё репу.

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

yvv ★★☆
()
Ответ на: комментарий от yvv

sparse checkout,

Да, что-то такое и искал. А можно ли один раз выкачать всю репу, настроить sparse-checkout и удалить все ненужные файлы? Или они всё равно останутся в .git?

question4 ★★★★★
() автор топика
Ответ на: комментарий от yvv

Разбей свой проект на несколько реп, не мучайся

Во, советчики подъехали. А, может, под каждый файл отдельную репу завести?

byko3y ★★★★
()
Ответ на: комментарий от yvv

Ну заведи. Кто тебе мешает?

Наличие замечательных утилит rsync, diff, patch, которые удобнее, чем система реп из одного файла. Хотя, у этого набора утилит есть более известное название:

«RCS operates only on single files. It has no way of working with an entire project, so it does not support atomic commits affecting multiple files»

byko3y ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.