Questo è il comando git-cat-file che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
git-cat-file - Fornisce informazioni su contenuto o tipo e dimensione per gli oggetti del repository
SINOSSI
git file-gatto (-t [--allow-tipo-sconosciuto]| -s [--allow-tipo-sconosciuto]| -e | -p | | --textconv )
git file-gatto (--batch | --batch-check) [--segui collegamenti simbolici]
DESCRIZIONE
Nella sua prima forma, il comando fornisce il contenuto o il tipo di un oggetto nel
deposito. Il tipo è obbligatorio a meno che -t or -p è usato per trovare il tipo di oggetto, o -s is
usato per trovare la dimensione dell'oggetto, o --textconv viene utilizzato (che implica il tipo "blob").
Nella seconda forma, viene fornito un elenco di oggetti (separati da linefeed) su stdin e
lo SHA-1, il tipo e la dimensione di ogni oggetto sono stampati su stdout.
VERSIONI
Il nome dell'oggetto da mostrare. Per un elenco più completo di modi per scrivere oggetto
nomi, vedere la sezione "SPECIFICARE LE REVISIONI" in gitrevisioni(7).
-t
Invece del contenuto, mostra il tipo di oggetto identificato da .
-s
Invece del contenuto, mostra la dimensione dell'oggetto identificata da .
-e
Sopprimi tutto l'output; invece esci con stato zero se esiste ed è un valido
oggetto.
-p
Pretty-stampa il contenuto di in base alla sua tipologia.
In genere questo corrisponde al tipo reale di ma chiedendo un tipo che possa
essere banalmente dereferenziato dal dato è anche consentito. Un esempio è
chiedi un "albero" con essendo un oggetto commit che lo contiene, o per chiedere a
"blob" con essendo un oggetto tag che punta ad esso.
--textconv
Mostra il contenuto come trasformato da un filtro textconv. In questo caso, è stato di
il modulo : , o : per applicare il filtro al contenuto
registrato nell'indice a .
--batch, --batch=
Stampa le informazioni e i contenuti dell'oggetto per ogni oggetto fornito su stdin. Potrebbe non essere
combinato con qualsiasi altra opzione o argomento. Vedere la sezione BATCH OUTPUT di seguito per
dettagli.
--batch-check, --batch-check=
Stampa le informazioni sull'oggetto per ogni oggetto fornito su stdin. Non può essere combinato con
qualsiasi altra opzione o argomento. Vedere la sezione USCITA BATCH di seguito per i dettagli.
--batch-all-oggetti
Invece di leggere un elenco di oggetti su stdin, esegui l'operazione batch richiesta
su tutti gli oggetti nel repository e su qualsiasi archivio di oggetti alternativo (non solo raggiungibile
oggetti). Richiede che sia specificato --batch o --batch-check. Nota che gli oggetti sono
visitati in ordine in base ai loro hash.
--respingente
Normalmente l'output batch viene svuotato dopo l'output di ogni oggetto, in modo che un processo possa
leggere e scrivere in modo interattivo da cat-file. Con questa opzione, l'output usa normal
buffering standard; questo è molto più efficiente quando si invoca --batch-check su un grande
numero di oggetti.
--allow-tipo-sconosciuto
Consenti a -s o -t di interrogare oggetti danneggiati/corrotti di tipo sconosciuto.
--follow-link simbolici
Con --batch o --batch-check, segui i collegamenti simbolici all'interno del repository quando lo richiedi
oggetti con espressioni SHA-1 estese della forma tree-ish:path-in-tree. Invece di
fornendo output sul collegamento stesso, fornisce output sull'oggetto collegato. Se
un collegamento simbolico punta fuori dall'albero (ad esempio un collegamento a /foo o un collegamento a livello di root a
../pippo), verrà stampata la parte del collegamento che si trova all'esterno dell'albero.
Questa opzione non funziona (attualmente) correttamente quando un oggetto nell'indice è
specificato (es :link invece di HEAD:link) piuttosto che uno nell'albero.
Questa opzione non può (attualmente) essere utilizzata a meno che non venga utilizzato --batch o --batch-check.
Ad esempio, considera un repository git contenente:
f: un file contenente "ciao\n"
link: un collegamento simbolico a f
dir/link: un collegamento simbolico a ../f
plink: un collegamento simbolico a ../f
alink: un collegamento simbolico a /etc/passwd
Per un file normale f, echo HEAD:f | git cat-file --batch stamperebbe
ce013625030ba8dba906f756967f9e9ca394464a blob 6
Ed echo HEAD:link | git cat-file --batch --follow-symlinks stamperebbe lo stesso
cosa, come farebbe HEAD: dir/link, poiché entrambi puntano a HEAD: f.
Senza --follow-symlinks, questi stamperebbero i dati sul collegamento simbolico stesso. Nel
caso di HEAD:link, vedresti
4d1ae35ba2c8ec712fa2a379db44ad639ca277bd blob 1
Sia plink che alink puntano all'esterno dell'albero, quindi stamperebbero rispettivamente:
collegamento simbolico 4
../F
collegamento simbolico 11
/etc/passwd
USCITA
If -t è specificato, uno dei .
If -s è specificato, la dimensione del in byte.
If -e è specificato, nessun output.
If -p è specificato, il contenuto di sono piuttosto stampati.
Se è specificato, il contenuto grezzo (sebbene non compresso) del sarà
restituito.
LOTTO USCITA
Se viene fornito --batch o --batch-check, cat-file leggerà gli oggetti da stdin, uno per riga,
e stampare informazioni su di loro. Per impostazione predefinita, l'intera linea è considerata come un oggetto,
come se fosse dato da mangiare a git-rev-analisi(1).
È possibile specificare le informazioni mostrate per ogni oggetto utilizzando un personalizzato . Il
viene copiato letteralmente su stdout per ogni oggetto, con segnaposto del modulo
%(atomo) espanso, seguito da una nuova riga. Gli atomi disponibili sono:
nomeoggetto
Il nome dell'oggetto di 40 esadecimali dell'oggetto.
tipo di oggetto
Il tipo dell'oggetto (lo stesso di cat-file -t report).
oggettivare
La dimensione, in byte, dell'oggetto (la stessa dei rapporti cat-file -s).
dimensione oggetto:disco
La dimensione, in byte, che l'oggetto occupa sul disco. Vedi la nota sulle dimensioni su disco
nella sezione AVVERTENZE di seguito.
deltabase
Se l'oggetto è memorizzato come delta su disco, questo si espande al 40-hex sha1 del
oggetto base delta. In caso contrario, si espande al valore null sha1 (40 zeri). Vedi AVVERTENZE di seguito.
riposo
Se questo atomo viene utilizzato nella stringa di output, le righe di input vengono divise alla prima
confine dello spazio bianco. Tutti i caratteri prima di quello spazio bianco sono considerati i
nome dell'oggetto; caratteri dopo quella prima esecuzione di spazi bianchi (cioè, il "resto" del
line) vengono emessi al posto dell'atomo %(rest).
Se non viene specificato alcun formato, il formato predefinito è %(nomeoggetto) %(tipooggetto)
%(dimensione oggetto).
Se viene specificato --batch, le informazioni sull'oggetto sono seguite dal contenuto dell'oggetto
(costituito da %(objectsize) byte), seguito da una nuova riga.
Ad esempio, --batch senza un formato personalizzato produrrebbe:
SP SP LF
LF
Considerando che --batch-check='%(objectname) %(objecttype)' produrrebbe:
SP LF
Se viene specificato un nome su stdin che non può essere risolto in un oggetto nel repository,
quindi cat-file ignorerà qualsiasi formato personalizzato e stamperà:
SP mancante LF
Se viene utilizzato --follow-symlinks e un collegamento simbolico nel repository punta all'esterno del
repository, quindi cat-file ignorerà qualsiasi formato personalizzato e stamperà:
collegamento simbolico SP LF
LF
Il collegamento simbolico sarà assoluto (iniziando con una /) o relativo alla radice dell'albero.
Ad esempio, se dir/link punta a ../../foo, allora sarà ../pippo. è
la dimensione del collegamento simbolico in byte.
Se viene utilizzato --follow-symlinks, verranno visualizzati i seguenti messaggi di errore:
SP mancante LF
viene stampato quando il collegamento simbolico iniziale richiesto non esiste.
SP penzolante LF
LF
viene stampato quando esiste il collegamento simbolico iniziale, ma qualcosa a cui punta (transitivo di)
a non lo fa.
loop SP LF
LF
viene stampato per i loop di collegamento simbolico (o qualsiasi collegamento simbolico che richiede più di 40 risoluzioni di collegamento
risolvere).
notdir SP LF
LF
viene stampato quando, durante la risoluzione del collegamento simbolico, viene utilizzato un file come nome di directory.
AVVERTENZE
Si noti che le dimensioni degli oggetti sul disco sono riportate in modo accurato, ma occorre prestare attenzione
nel trarre conclusioni su quali riferimenti o oggetti sono responsabili dell'utilizzo del disco. Il
la dimensione di un oggetto non delta imballato può essere molto più grande della dimensione degli oggetti che delta
contro di essa, ma la scelta di quale oggetto sia la base e quale sia il delta è arbitraria
ed è soggetto a modifiche durante il repack.
Si noti inoltre che più copie di un oggetto possono essere presenti nel database degli oggetti; in questo
caso, non è definito quale dimensione della copia o base delta verrà riportata.
GIT
Parte della git(1) seguito
Usa git-cat-file online usando i servizi onworks.net