Questo è il comando git-pack-objects che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre numerose workstation online gratuite come Ubuntu Online, Fedora Online, l'emulatore online di Windows o l'emulatore online di MAC OS
PROGRAMMA:
NOME
git-pack-objects - Crea un archivio compresso di oggetti
SINOSSI
git pack-oggetti [-q | --progress | --all-progress] [--all-progress-implied]
[--no-reuse-delta] [--delta-base-offset] [--non-empty]
[--locale] [--incrementale] [--finestra= ] [--profondità= ]
[--revs [--unpacked | --all]] [--stdout | nome-base]
[--shallow] [--keep-true-parents] < object-list
DESCRIZIONE
Legge l'elenco degli oggetti dall'input standard e scrive un archivio compresso con gli oggetti specificati
base-name o all'output standard.
Un archivio compresso è un modo efficiente per trasferire un set di oggetti tra due repository
nonché un formato di archiviazione efficiente. In un archivio compresso, un oggetto è
immagazzinato come un tutto compresso o come differenza da qualche altro oggetto. Quest'ultimo è
spesso chiamato delta.
Il formato di archivio compresso (.pack) è progettato per essere autosufficiente in modo da poter essere
decompresso senza ulteriori informazioni. Pertanto, ogni oggetto da cui dipende un delta
deve essere presente all'interno della confezione.
Per un accesso rapido e casuale agli oggetti nel pacchetto viene generato un file indice del pacchetto (.idx).
Inserendo sia il file indice (.idx) che l'archivio compresso (.pack) nel file pack/
sottodirectory di $GIT_OBJECT_DIRECTORY (o una qualsiasi delle directory su
$GIT_ALTERNATE_OBJECT_DIRECTORIES) consente a Git di leggere dall'archivio del pacchetto.
. git oggetti-decompressi il comando può leggere l'archivio compresso ed espandere gli oggetti
contenuti nel pacchetto nel formato "un file un oggetto"; questo viene in genere fatto dal
comandi smart-pull quando un pacchetto viene creato al volo per un trasporto di rete efficiente da
i loro coetanei.
VERSIONI
nome-base
Scrivere in una coppia di file (.pack e .idx), utilizzando per determinare il nome
del file creato. Quando si utilizza questa opzione, i due file vengono scritti in
- File .{pack,idx}. è un hash basato sul contenuto del pacchetto e
viene scritto nell'output standard del comando.
--stdout
Scrivi il contenuto del pacchetto (ciò che sarebbe stato scritto nel file .pack) nel
uscita standard.
--giri
Leggere gli argomenti di revisione dall'input standard, invece che dall'oggetto individuale
nomi. Gli argomenti di revisione vengono elaborati allo stesso modo di git rev-lista con la
Il flag --objects usa i suoi argomenti di commit per costruire l'elenco degli oggetti che produce in output.
gli oggetti nell'elenco risultante vengono compressi. Oltre alle revisioni, --not o --shallow
sono accettate anche le linee.
--non imballato
Ciò implica --revs. Quando si elabora l'elenco degli argomenti di revisione letti da
input standard, limita gli oggetti impacchettati a quelli che non sono già impacchettati.
--tutti
Ciò implica --revs. Oltre all'elenco degli argomenti di revisione letti da
input standard, fingendo che tutti i riferimenti sotto refs/ siano specificati per essere inclusi.
--include-tag
Includi tag annotati non richiesti se l'oggetto a cui fanno riferimento è stato incluso nel
file di pacchetto risultante. Può essere utile per inviare nuovi tag ai client Git nativi.
--finestra= , --profondità=
Queste due opzioni influenzano il modo in cui gli oggetti contenuti nel pacchetto vengono archiviati utilizzando delta
compressione. Gli oggetti vengono prima ordinati internamente per tipo, dimensione e facoltativamente
nomi e confrontati con gli altri oggetti all'interno di --window per vedere se si utilizza delta
la compressione consente di risparmiare spazio. --depth limita la profondità massima delta, rendendola troppo profonda
influisce sulle prestazioni sul lato dell'unpacker, perché è necessario applicare i dati delta
tante volte per arrivare all'oggetto necessario. Il valore predefinito per --window è 10
e --depth è 50.
--finestra-memoria=
Questa opzione fornisce un limite aggiuntivo oltre a --window; la dimensione della finestra verrà
ridimensionare dinamicamente in modo da non occupare più di byte in memoria. Questo è
utile nei repository con un mix di oggetti grandi e piccoli per non esaurire la memoria
con una grande finestra, ma poter comunque sfruttare la grande finestra per il
oggetti più piccoli. La dimensione può essere completata con il suffisso "k", "m" o "g". --window-memory=0
rende l'utilizzo della memoria illimitato, che è l'impostazione predefinita.
--max-pack-size=
Dimensione massima di ogni file di output. La dimensione può essere preceduta dal suffisso "k", "m" o "g".
La dimensione minima consentita è limitata a 1 MiB. Se specificato, è possibile creare più file di pacchetto
creato. L'impostazione predefinita è illimitata, a meno che la variabile di configurazione pack.packSizeLimit non sia
impostato.
--honor-pack-keep
Questo flag fa sì che un oggetto già presente in un pacchetto locale che ha un file .keep venga
ignorato, anche se altrimenti sarebbe stato impacchettato.
--incrementale
Questo flag fa sì che un oggetto già presente in un pacchetto venga ignorato anche se avrebbe
altrimenti imballato.
--Locale
Questo flag fa sì che un oggetto preso in prestito da un archivio oggetti alternativo venga
ignorato anche se altrimenti sarebbe stato impacchettato.
--non vuoto
Creare un archivio compresso solo se contiene almeno un oggetto.
--progresso
Lo stato di avanzamento viene riportato sul flusso di errore standard per impostazione predefinita quando lo è
collegato a un terminale, a meno che non sia specificato -q. Questa bandiera forza anche lo stato di avanzamento
se il flusso di errore standard non è diretto a un terminale.
--tutti-i-progressi
Quando viene specificato --stdout, viene visualizzato un report di avanzamento durante il conteggio degli oggetti
e fasi di compressione ma inibito durante la fase di scrittura. Il motivo è che in
in alcuni casi il flusso di output è direttamente collegato a un altro comando che potrebbe volerlo
visualizza lo stato di avanzamento del proprio processo mentre elabora i dati del pacchetto in arrivo. Questo flag è
come --progress, tranne per il fatto che forza il report di avanzamento anche per la fase di scrittura
anche se viene utilizzato --stdout.
--tutti-i-progressi-impliciti
Questo viene utilizzato per implicare --all-progress ogni volta che viene attivata la visualizzazione dei progressi. A differenza di
--all-progress questo flag non forza di per sé alcuna visualizzazione dell'avanzamento.
-q
Questo flag fa sì che il comando non segnali il suo avanzamento nel flusso di errore standard.
--no-reuse-delta
Quando si crea un archivio compresso in un repository che ha pacchetti esistenti, il comando
riutilizza i delta esistenti. Questo a volte si traduce in un pacchetto leggermente subottimale. Questo
flag indica al comando di non riutilizzare i delta esistenti ma di calcolarli da zero.
--no-reuse-object
Questo flag indica al comando di non riutilizzare affatto i dati degli oggetti esistenti, inclusi quelli non
oggetto deltificato, forzando la ricompressione di tutto. Ciò implica --no-reuse-delta.
Utile solo nel caso oscuro in cui l'applicazione all'ingrosso di una compressione diversa
è desiderato il livello sui dati compressi.
--compressione=
Specifica il livello di compressione per i dati appena compressi nel pacchetto generato. In caso contrario
specificato, il livello di compressione del pacchetto è determinato prima da pack.compression, poi da
core.compression e il valore predefinito è -1, il valore predefinito di zlib, se nessuno dei due è impostato. Aggiungi
--no-reuse-object se vuoi forzare un livello di compressione uniforme su tutti i dati no
importa la fonte.
--magro
Crea un pacchetto "sottile" omettendo gli oggetti comuni tra un mittente e un destinatario in
per ridurre il trasferimento di rete. Questa opzione ha senso solo in combinazione con
--stdout.
Nota: un pacchetto sottile viola il formato di archivio compresso omettendo gli oggetti richiesti e
è quindi inutilizzabile da Git senza renderlo autosufficiente. Usa git index-pack
--fix-thin (vedi pacchetto-indice-git(1)) per ripristinare la proprietà autonoma.
--poco profondo
Ottimizza un pacchetto che verrà fornito a un cliente con un repository superficiale. Questo
L'opzione, combinata con --thin, può dare come risultato un pacchetto più piccolo a scapito della velocità.
--delta-base-offset
Un archivio compresso può esprimere l'oggetto base di un delta come un oggetto da 20 byte
nome o come offset nel flusso, ma le vecchie versioni di Git non capiscono il
quest'ultimo. Per impostazione predefinita, git pack-oggetti utilizza solo il formato precedente per una migliore
compatibilità. Questa opzione consente al comando di utilizzare quest'ultimo formato per
compattezza. A seconda della lunghezza media della catena delta, questa opzione in genere
riduce il file di pacchetto risultante del 3-5 percento.
Nota: i comandi Porcelain come git gc (vedi git-gc(1)), git repack (vedi idiota-
repack(1)) passa questa opzione di default nel Git moderno quando mettono oggetti nel tuo
repository in file di pacchetto. Lo stesso vale per git bundle (vedi pacchetto git(1)) quando crea un
fascio.
--thread=
Specifica il numero di thread da generare durante la ricerca delle migliori corrispondenze delta. Questo
richiede che pack-objects sia compilato con pthreads altrimenti questa opzione viene ignorata
con un avviso. Questo ha lo scopo di ridurre il tempo di impacchettamento su macchine multiprocessore. Il
la quantità di memoria richiesta per la finestra di ricerca delta è tuttavia moltiplicata per
numero di thread. Specificando 0, Git rileverà automaticamente il numero di CPU e
impostare il numero di thread di conseguenza.
--indice-versione= [, ]
Questo è destinato ad essere utilizzato solo dalla suite di test. Permette di forzare la versione per
l'indice del pacchetto generato e per forzare voci di indice a 64 bit sugli oggetti situati sopra
l'offset dato.
--mantenere-i-veri-genitori
Con questa opzione, i genitori nascosti dagli innesti vengono comunque imballati.
Utilizzare git-pack-objects online utilizzando i servizi onworks.net