30 lines
1.4 KiB
Markdown
30 lines
1.4 KiB
Markdown
|
---
|
|||
|
title: "Git: частичная копия репозитория"
|
|||
|
category: Программирование
|
|||
|
tags: программирование, git
|
|||
|
summary: ""
|
|||
|
...
|
|||
|
|
|||
|
Частичную копию репозитория можно создавать, если проект
|
|||
|
очень большой, а следить нужно только за малой его частью.
|
|||
|
Допустим, по адресу `git://localhost/project.git` находится
|
|||
|
большой проект, в котором интересует только последнее
|
|||
|
состояние каталогов `src/driver` и `include/driver`.
|
|||
|
Сначала нужно создать репозиторий и подготовить его для
|
|||
|
получения только необходимых файлов:
|
|||
|
|
|||
|
```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`, указать, что синхронизироваться
|
|||
|
должно только текущее состояние файлов без учёта истории.
|
|||
|
|
|||
|
git pull --depth=1 origin master
|