2019-04-20 16:11:30 +00:00
|
|
|
|
---
|
|
|
|
|
title: "Git: частичная копия репозитория"
|
|
|
|
|
category: Программирование
|
2019-04-23 17:40:06 +00:00
|
|
|
|
tags: программирование, git,
|
|
|
|
|
summary:
|
2019-04-20 16:11:30 +00:00
|
|
|
|
...
|
|
|
|
|
|
|
|
|
|
Частичную копию репозитория можно создавать, если проект
|
|
|
|
|
очень большой, а следить нужно только за малой его частью.
|
|
|
|
|
Допустим, по адресу `git://localhost/project.git` находится
|
|
|
|
|
большой проект, в котором интересует только последнее
|
|
|
|
|
состояние каталогов `src/driver` и `include/driver`.
|
2019-04-20 20:24:14 +00:00
|
|
|
|
Сначала нужно создать пустой репозиторий и подготовить его
|
|
|
|
|
для получения только необходимых файлов:
|
2019-04-20 16:11:30 +00:00
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
git init project
|
|
|
|
|
cd project
|
|
|
|
|
git remote add origin git://localhost/project.git
|
|
|
|
|
git config core.sparsecheckout true
|
|
|
|
|
echo "src/driver/*" >> .git/info/sparse-checkout
|
|
|
|
|
echo "include/driver/*" >> .git/info/sparse-checkout
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
После этого можно получать частичную копию проекта,
|
|
|
|
|
а, добавив ключ `--depth=1`, указать, что синхронизироваться
|
|
|
|
|
должно только текущее состояние файлов без учёта истории.
|
|
|
|
|
|
2019-04-20 20:24:14 +00:00
|
|
|
|
```sh
|
|
|
|
|
git pull --depth=1 origin master
|
|
|
|
|
```
|