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.54.0
2026-04-20
- 2.46.1 → 2.53.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>…]
ОПИС
Створює архів зазначеного формату, що містить структуру вказаного дерева, та виводить його у стандартний вивід. Якщо вказано <prefix>, він додається на початку імен файлів в архіві.
Команда git archive по-різному працює залежно від того, чи вказано ідентифікатор дерева, ідентифікатор коміту чи ідентифікатор тегу. Якщо вказано ідентифікатор дерева, як час модифікації кожного файлу в архіві використовується поточний час. Натомість, якщо вказано ідентифікатор коміту чи тегу, замість цього використовується час коміту, записаний у відповідному об’єкті коміту. Крім того, ідентифікатор коміту зберігається у глобальному розширеному заголовку pax, якщо використовується формат tar; його можна витягти за допомогою команди git get-tar-commit-id. У файлах ZIP він зберігається як коментар до файлу.
ОПЦІЇ
- --format=<fmt>
-
Формат отриманого архіву. Можливі значення:
tar,zip,tar.gz,tgz, а також будь-який формат, визначений за допомогою параметра конфігураціїtar.<формат>.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та базового імені <file>. - --add-virtual-file=<path>:<content>
-
Додати вказаний вміст до архіву. Можна повторити для додавання кількох файлів.
Аргумент <path> може починатися та закінчуватися символом подвійних лапок; імʼя файлу, що міститься в ньому, інтерпретується як рядок у стилі C, тобто зворотна коса риска інтерпретується як символ екранування. Шлях має бути взято в лапки, якщо він містить двокрапку, щоб уникнути неправильної інтерпретації двокрапки як роздільника між шляхом та вмістом, або якщо шлях починається або закінчується символом подвійних лапок.
Режим файлу обмежений звичайним файлом, і цей параметр може залежати від платформи та обмежень командного рядка. Для нетривіальних випадків напишіть невідстежуваний файл і використовуйте замість нього
--add-file.Зверніть увагу, що на відміну від
--add-file, шлях, створений в архіві, не залежить від опції--prefix, оскільки повний <path> може бути вказано як значення опції. - --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.<формат>.command
-
Ця змінна визначає команду оболонки, через яку слід передати tar-вивід, згенерований командою
gitarchive. Команда виконується за допомогою оболонки зі згенерованим tar-файлом на стандартному вводі та повинна вивести кінцевий вивід на стандартний вивід. Будь-які параметри рівня стиснення будуть передані команді (наприклад,-9).Формати
tar.gzтаtgzвизначаються автоматично та зазвичай використовують магічну командуgitarchivegzip, яка викликає внутрішню реалізацію gzip. - tar.<формат>.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 у дереві, яке архівується. Якщо ви хочете змінити спосіб формування вихідних даних після завершення процесу (наприклад, ви зробили коміт, не додавши відповідний запис export-ignore у файл .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 обробника.
-
gitarchive--prefix=git-1.4.0/-ogit-1.4.0.tar.gzv1.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/.
-
gitarchive-olatest.zipHEAD -
Створює Zip-архів, який містить вміст останнього коміту в поточній гілці. Зверніть увагу, що формат виводу визначається розширенням вихідного файлу.
-
gitarchive-olatest.tar--prefix=build/--add-file=configure--prefix=HEAD -
Створює tar-архів, який містить вміст останнього коміту в поточній гілці без префікса та невідстежуваний файл configure з префіксом build/.
-
gitconfigtar.tar.xz.command"xz-c" -
Використання формату "tar.xz" для створення tar-файлів, стиснутих LZMA. Ви можете використовувати його, вказавши
--format=tar.xz, або створивши вихідний файл типу-ofoo.tar.xz.
GIT
Частина набору git[1]