Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.46.1 → 2.51.0 no changes
-
2.46.0
2024-07-29
- 2.43.1 → 2.45.4 no changes
-
2.43.0
2023-11-20
- 2.40.1 → 2.42.4 no changes
-
2.40.0
2023-03-12
- 2.38.1 → 2.39.5 no changes
-
2.38.0
2022-10-02
- 2.37.1 → 2.37.7 no changes
-
2.37.0
2022-06-27
- 2.34.1 → 2.36.6 no changes
-
2.34.0
2021-11-15
- 2.29.1 → 2.33.8 no changes
-
2.29.0
2020-10-19
- 2.1.4 → 2.28.1 no changes
-
2.0.5
2014-12-17
СИНОПСИС
git archive [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>] [-o <file> | --output=<file>] [--worktree-attributes] [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish> [<path>…]
ОПИС
Створює архів заданого формату, що містить деревоподібну структуру для іменованого дерева, та записує її у стандартний вивід. Якщо вказано <префікс>, він додається до імен файлів в архіві.
«git archive» поводиться інакше, коли йому надається ідентифікатор дерева, на відміну від ідентифікатора коміта або ідентифікатора тегу. Коли надається ідентифікатор дерева, поточний час використовується як час модифікації кожного файлу в архіві. З іншого боку, коли надається ідентифікатор коміта або ідентифікатор тегу, замість нього використовується час коміта, записаний у зазначеному об’єкті коміта. Крім того, ідентифікатор коміта зберігається в глобальному розширеному заголовку pax, якщо використовується формат tar; його можна витягти за допомогою «git get-tar-commit-id». У ZIP-файлах він зберігається як коментар до файлу.
ОПЦІЇ
- --format=<fmt>
-
Формат результуючого архіву. Можливі значення:
tar
,zip
,tar.gz
,tgz
та будь-який формат, визначений за допомогою параметра конфігураціїtar.
<format>.command
. Якщо--format
не вказано, а вихідний файл зазначено, формат визначається з назви файлу, якщо це можливо (наприклад, запис уfoo.zip
призводить до того, що вихід буде у форматіzip
). В іншому випадку вихідний формат —tar
. - -l
- --list
-
Показати всі доступні формати.
- -v
- --verbose
-
Повідомляти про прогрес на stderr.
- --prefix=<prefix>/
-
Додати префікс <prefix>/ до шляхів в архіві. Можна повторювати; його праве значення використовується для всіх відстежуваних файлів. Дивіться нижче, яке значення використовується параметром
--add-file
. - -o <file>
- --output=<file>
-
Записати архів у <file> замість stdout.
- --add-file=<file>
-
Додати невідстежуваний файл до архіву. Можна повторити для додавання кількох файлів. Шлях до файлу в архіві будується шляхом об’єднання значення останнього параметра
--prefix
(якщо такий є) перед цим--add-file
та базової назви <файл>. - --add-virtual-file=<path>:<content>
-
Додати вказаний вміст до архіву. Можна повторити для додавання кількох файлів.
Аргумент <шлях> може починатися та закінчуватися символом подвійних лапок; ім’я файлу, що міститься в ньому, інтерпретується як рядок у стилі C, тобто зворотна коса риска інтерпретується як символ екранування. Шлях має бути взято в лапки, якщо він містить двокрапку, щоб уникнути неправильної інтерпретації двокрапки як роздільника між шляхом та вмістом, або якщо шлях починається або закінчується символом подвійних лапок.
Режим файлу обмежений звичайним файлом, і цей параметр може залежати від платформи та обмежень командного рядка. Для нетривіальних випадків напишіть невідстежуваний файл і використовуйте замість нього
--add-file
.Зверніть увагу, що на відміну від
--add-file
, шлях, створений в архіві, не залежить від опції--prefix
, оскільки повний <шлях> може бути вказано як значення опції. - --worktree-attributes
-
Також шукайте атрибути у файлах .gitattributes у робочому дереві (див. АТРИБУТИ).
- --mtime=<час>
-
Встановити час модифікації записів архіву. Без цієї опції використовується час комітера, якщо <tree-ish> є комітом або тегом, і поточний час, якщо це дерево.
- <extra>
-
Це можуть бути будь-які опції, які розуміє серверна частина архіватора. Див. наступний розділ.
- --remote=<repo>
-
Замість створення tar-архіву з локального репозиторію, отримайте tar-архів з віддаленого репозиторію. Зверніть увагу, що віддалений репозиторій може накладати обмеження на те, які вирази sha1 дозволені в <tree-ish>. Див. git-upload-archive[1] для отримання детальної інформації.
- --exec=<git-upload-archive>
-
Використовується з --remote для визначення шляху до git-upload-archive на віддаленому боці.
- <tree-ish>
-
Дерево або коміт для створення архіву.
- <path>
-
Без необов’язкового параметра шляху до архіву включаються всі файли та підкаталоги поточного робочого каталогу. Якщо вказано один або декілька шляхів, включаються лише вони.
КОНФІГУРАЦІЯ
- tar.umask
-
Цю змінну можна використовувати для обмеження бітів дозволів записів tar-архіву. Значення за замовчуванням — 0002, що вимикає біт запису world. Спеціальне значення «user» вказує на те, що замість нього буде використовуватися umask користувача архіву. Докладніше див. umask(2). Якщо використовується
--remote
, тоді діятиме лише конфігурація віддаленого репозиторію. - tar.<format>.command
-
Ця змінна визначає команду оболонки, через яку слід передати tar-вивід, згенерований командою
git
archive
. Команда виконується за допомогою оболонки зі згенерованим tar-файлом на стандартному вводі та повинна вивести кінцевий вивід на стандартний вивід. Будь-які параметри рівня стиснення будуть передані команді (наприклад,-9
).Формати
tar.gz
таtgz
визначаються автоматично та за замовчуванням використовують магічну командуgit
archive
gzip
, яка викликає внутрішню реалізацію gzip. - tar.<format>.remote
-
Якщо значення true, увімкнути формат для використання віддаленими клієнтами через git-upload-archive[1]. За замовчуванням значення false для форматів, визначених користувачем, але true для форматів
tar.gz
таtgz
.
АТРИБУТИ
- export-ignore
-
Файли та каталоги з атрибутом export-ignore не будуть додані до архівних файлів. Див. gitattributes[5] для отримання детальної інформації.
- export-subst
-
Якщо для файлу встановлено атрибут export-subst, то Git розгорне кілька заповнювачів під час додавання цього файлу до архіву. Див. gitattributes[5] для отримання детальної інформації.
Зверніть увагу, що атрибути за замовчуванням беруться з файлів .gitattributes
у дереві, яке архівується. Якщо ви хочете налаштувати спосіб генерації виводу після факту (наприклад, ви зробили коміт без додавання відповідного ігнорування експорту в його .gitattributes
), налаштуйте отриманий файл .gitattributes
за потреби та скористайтеся опцією --worktree-attributes
. Або ж ви можете зберегти необхідні атрибути, які мають застосовуватися під час архівування будь-якого дерева, у вашому файлі $GIT_DIR/info/attributes
.
ПРИКЛАДИ
- git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)
-
Створіть tar-архів, що містить вміст останнього коміту на поточній гілці, та розпакуйте його в каталог
/var/tmp/junk
. - git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip >git-1.4.0.tar.gz
-
Створіть стиснутий tar-архів для випуску версії 1.4.0.
- git archive --format=tar.gz --prefix=git-1.4.0/ v1.4.0 >git-1.4.0.tar.gz
-
Те саме, що й вище, але з використанням вбудованого tar.gz обробка.
-
git
archive
--prefix=git-1.4.0/
-o
git-1.4.0.tar.gz
v1.4.0
-
Те саме, що й вище, але формат визначається з вихідного файлу.
- git archive --format=tar --prefix=git-1.4.0/ v1.4.0^{tree} | gzip >git-1.4.0.tar.gz
-
Створіть стиснутий tar-архів для випуску v1.4.0, але без глобального розширеного заголовка pax.
- git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-docs.zip
-
Помістіть усі дані з каталогу Documentation/ поточного керівника до git-1.4.0-docs.zip, з префіксом git-docs/.
-
git
archive
-o
latest.zip
HEAD
-
Створіть Zip-архів, який містить вміст останнього коміту в поточній гілці. Зверніть увагу, що формат виводу визначається розширенням вихідного файлу.
-
git
archive
-o
latest.tar
--prefix=build/
--add-file=configure
--prefix=
HEAD
-
Створює tar-архів, який містить вміст останнього коміту на поточній гілці без префікса та невідстежуваний файл configure з префіксом build/.
-
git
config
tar.tar.xz.command
"xz
-c"
-
Налаштуйте формат "tar.xz" для створення tar-файлів, стиснутих LZMA. Ви можете використовувати його, вказавши
--format=tar.xz
, або створивши вихідний файл типу-o
foo.tar.xz
.
GIT
Частина набору git[1]