NOME

git-anexo - gerencie arquivos com o git, sem verificar seu conteúdo em

SINOPSE

comando git anexo [params ...]

DESCRIÇÃO

O git-anexo permite gerenciar arquivos com o git, sem verificar o conteúdo do arquivo no git. Embora isso possa parecer paradoxal, é útil ao lidar com arquivos maiores que o git atualmente pode manipular facilmente, seja devido a limitações de memória, tempo de soma de verificação ou espaço em disco.

Mesmo sem o rastreamento do conteúdo do arquivo, poder gerenciar arquivos com o git, mover arquivos e excluir arquivos com árvores de diretório com versão e usar ramificações e clones distribuídos, são motivos muito úteis para usar o git. E os arquivos anexados podem coexistir no mesmo repositório git com arquivos com versão regular, o que é conveniente para manter documentos, Makefiles, etc. associados aos arquivos anexados, mas que se beneficiam do controle total da revisão.

Quando um arquivo é anexado, seu conteúdo é movido para um armazenamento de valores-chave e é feito um link simbólico que aponta para o conteúdo. Esses links simbólicos são verificados no git e versionados como arquivos regulares. Você pode movê-los, excluí-los e assim por diante. Enviar para outro repositório git fará com que o git-anexo fique ciente do arquivo anexado e pode ser usado para recuperar seu conteúdo do armazenamento de valores-chave.

EXEMPLOS

git annex get video/hackity_hack_and_kaxxt.mov

get video/hackity_hack_and_kaxxt.mov (not available) I was unable to access these remotes: server Try making some of these repositories available: 5863d8c0-d9a9-11df-adb2-af51e6559a49 -- my home file server 58d84e8a-d9ae-11df-a1aa-ab9aa8c00826 -- portable USB drive ca20064c-dbb5-11df-b2fe-002170d25c55 -- backup SATA drive

failed

sudo mount /media/usb

git remote add usbdrive /media/usb

git annex get video/hackity_hack_and_kaxxt.mov

get video/hackity_hack_and_kaxxt.mov (from usbdrive...) ok

git annex add iso

add iso/Debian_5.0.iso ok

git annex drop iso/Debian_4.0.iso

drop iso/Debian_4.0.iso ok

git annex move iso --to=usbdrive

move iso/Debian_5.0.iso (moving to usbdrive...) ok COMANDOS USADOS COMUM Como muitos comandos git, o git-annex pode receber um caminho que é um arquivo ou um diretório. Neste último caso, ele atua em todos os arquivos relevantes no diretório. Quando nenhum caminho é especificado, a maioria dos comandos git-anexos padroniza a ação em todos os arquivos relevantes no diretório atual (e subdiretórios).

help

Exibir ajuda interna.

Para obter ajuda sobre um comando específico, use git annex help command

add [path ...]

Adiciona arquivos no caminho para o anexo. Se nenhum caminho for especificado, adicione arquivos do diretório atual e abaixo.

Veja git-annex-add (1) para detalhes.

get [path ...]

Disponibiliza o conteúdo dos arquivos anexados neste repositório.

Veja git-annex-get (1) para detalhes.

drop [path ...]

Elimina o conteúdo dos arquivos anexados deste repositório.

Veja git-annex-drop (1) para detalhes.

move [path ...] [--from=remote|--to=remote]

Move o conteúdo dos arquivos de ou para outro controle remoto.

Veja git-annex-move (1) para detalhes.

copy [path ...] [--from=remote|--to=remote]

Copia o conteúdo dos arquivos de ou para outro controle remoto.

Veja git-annex-copy (1) para detalhes.

status [path ...]

Semelhante a git status --short, exibe o status dos arquivos na árvore de trabalho.

Veja git-annex-status (1) para obter detalhes.

unlock [path ...]

Desbloqueie os arquivos anexados para modificação.

Veja git-annex-unlock (1) para detalhes.

edit [path ...]

Este é um alias para o comando unlock. Pode ser mais fácil lembrar, se você pensar nisso como permitindo editar um arquivo anexo.

lock [path ...]

Use isso para desfazer um comando de desbloqueio, se você não deseja modificar os arquivos ou fez as modificações que deseja descartar.

Veja git-annex-lock (1) para detalhes.

sync [remote ...]

Sincronize o repositório local com controles remotos.

Veja git-annex-sync (1) para detalhes.

mirror [path ...] [--to=remote|--from=remote]

Espelhe o conteúdo dos arquivos de / para outro repositório.

Veja git-annex-mirror (1) para detalhes.

addurl [url ...]

Faz o download de cada URL em seu próprio arquivo, que é adicionado ao anexo.

Veja git-annex-addurl (1) para detalhes.

rmurl file url

Registre que o arquivo não está mais disponível no URL.

Veja git-annex-rmurl (1) para detalhes.

import [path ...]

Adicione arquivos de um diretório não controlado por versão ou de um controle remoto especial no anexo.

Veja git-annex-import (1) para detalhes.

importfeed [url ...]

Importa o conteúdo dos feeds de podcast para o anexo.

Veja git-annex-importfeed (1) para detalhes.

export treeish --to remote

Exporte o conteúdo para um controle remoto.

Veja git-annex-export (1) para detalhes.

undo [filename|directory] ...

Desfazer a última alteração em um arquivo ou diretório.

Veja git-annex-undo (1) para detalhes.

multicast

Distribuição de arquivos multicast.

Veja git-annex-multicast (1) para detalhes.

watch

Preste atenção nas alterações e na confirmação automática.

Veja git-annex-watch (1) para detalhes.

assistant

Sincronize automaticamente pastas entre dispositivos.

Veja git-annex-assistant (1) para detalhes.

webapp

Abre um aplicativo Web, que permite a configuração fácil de um repositório git-anexo e o controle do assistente git-anexo. Se o assistente ainda não estiver em execução, ele será iniciado.

Veja git-annex-webapp (1) para detalhes.

COMANDOS DE CONFIGURAÇÃO DO REPOSITÓRIO init [description]

Até que um repositório (ou um de seus controles remotos) seja inicializado, o git-annex se recusará a operar nele, para evitar usá-lo acidentalmente em um repositório que não pretendia ter um anexo.

Veja git-annex-init (1) para detalhes.

describe repository description

Altera a descrição de um repositório.

Veja git-anexo-descreva (1) para detalhes.

initremote name type=value [param=value ...]

Cria um novo controle remoto especial e o adiciona a .git/config.

Veja git-annex-initremote (1) para obter detalhes.

enableremote name [param=value ...]

Permite o uso de um controle remoto especial existente no repositório atual.

Veja git-annex-enableremote (1) para obter detalhes.

renameremote

Renomeia um controle remoto especial.

Veja git-annex-renameremote (1) para detalhes.

enable-tor

Configura o serviço oculto.

Veja git-annex-enable-tor (1) para obter detalhes.

numcopies [N]

Configure o número desejado de cópias.

Consulte git-annex-numcopies (1) para obter detalhes.

trust [repository ...]

Registra que um repositório é confiável para não perder conteúdo inesperadamente. Use com cuidado.

Veja git-annex-trust (1) para detalhes.

untrust [repository ...]

Registra que um repositório não é confiável e pode perder conteúdo a qualquer momento.

Veja git-annex-untrust (1) para obter detalhes.

semitrust [repository ...]

Retorna um repositório para o estado semi-confiável padrão.

Veja git-annex-semitrust (1) para obter detalhes.

group repository groupname

Adicione um repositório a um grupo.

Veja git-annex-group (1) para detalhes.

ungroup repository groupname

Remove um repositório de um grupo.

Veja git-annex-ungroup (1) para detalhes.

wanted repository [expression]

Obter ou definir a expressão de conteúdo preferida.

Veja git-annex-wanted (1) para detalhes.

groupwanted groupname [expression]

Obter ou definir a expressão desejada pelo grupo.

Veja git-annex-groupwanted (1) para obter detalhes.

required repository [expression]

Obter ou definir a expressão de conteúdo necessária.

Consulte git-annex-required (1) para obter detalhes.

schedule repository [expression]

Obter ou definir trabalhos agendados.

Veja git-annex-schedule (1) para obter detalhes.

config

Obtenha e defina outras configurações armazenadas na ramificação git-anexo.

Veja git-annex-config (1) para detalhes.

vicfg

Abre o EDITOR em um arquivo temporário que contém a maioria das definições de configuração acima, além de algumas outras, e quando sai, armazena as alterações feitas na ramificação do anexo git.

Veja git-annex-vicfg (1) para detalhes.

adjust

Alterna um repositório para usar uma ramificação ajustada, que pode desbloquear automaticamente todos os arquivos etc.

Consulte git-annex-Adjust (1) para obter detalhes.

direct

Muda um repositório para usar o modo direto. (descontinuada)

Veja git-annex-direct (1) para detalhes.

indirect

Alterna um repositório para usar o modo indireto. (descontinuada)

Veja git-annex-indirect (1) para detalhes.

COMANDOS DE MANUTENÇÃO DE REPOSITÓRIOS fsck [path ...]

Verifica a consistência do anexo e avisa ou corrige os problemas encontrados. Este é um bom complemento para git fsck.

Veja git-annex-fsck (1) para detalhes.

expire [repository:]time ...

Expira repositórios que não executaram recentemente uma atividade (como um fsck).

Veja git-annex-expire (1) para obter detalhes.

unused

Verifica o anexo em busca de dados que não correspondem a nenhum arquivo presente em qualquer tag ou filial e imprime uma lista numerada dos dados.

Veja git-annex-unused (1) para detalhes.

dropunused [number|range ...]

Elimina os dados correspondentes aos números, conforme listado na última git annex unused

Veja git-annex-dropunused (1) para detalhes.

addunused [number|range ...]

Adiciona arquivos antigos para o conteúdo correspondente aos números ou intervalos, conforme listado pelo último git annex unused.

Veja git-annex-addunused (1) para detalhes.

fix [path ...]

Corrige os links simbólicos que foram quebrados para apontar novamente para o conteúdo anexado.

Veja git-annex-fix (1) para detalhes.

merge

Mesclar automaticamente alterações de controles remotos.

Veja git-annex-merge (1) para detalhes.

upgrade

Atualiza o repositório para o layout atual.

Veja git-annex-upgrade (1) para detalhes.

dead [repository ...] [--key key]

Indica que um repositório ou uma única chave foi irremediavelmente perdida.

Veja git-annex-dead (1) para detalhes.

forget

Faz com que o ramo git-annex seja reescrito, descartando dados históricos sobre locais anteriores de arquivos.

Veja git-annex-forget (1) para detalhes.

repair

Isso pode reparar muitos dos problemas nos repositórios git que git fsck detectam, mas não corrigem por si só. É útil se um repositório ficar muito danificado. Uma maneira de isso acontecer é se um repositório usado pelo git-anexo estiver em uma unidade removível que seja desconectada no momento errado.

Veja git-annex-repair (1) para detalhes.

p2p

Configure links ponto a ponto entre repositórios.

Veja git-annex-p2p (1) para obter detalhes.

COMANDOS DE CONSULTA find [path ...]

Produz uma lista de arquivos anexados no caminho especificado. Sem caminho, localiza arquivos no diretório atual e seus subdiretórios.

Veja git-annex-find (1) para detalhes.

whereis [path ...]

Exibe informações sobre onde o conteúdo dos arquivos está localizado.

Veja git-annex-whereis (1) para detalhes.

list [path ...]

Exibe uma tabela de controles remotos que contém o conteúdo dos arquivos especificados. Isso é semelhante ao whereis, mas uma tela mais compacta.

Veja git-annex-list (1) para detalhes.

log [path ...]

Exibe o log de localização do arquivo ou arquivos especificados, mostrando cada repositório ao qual foram adicionados ("+") e removidos de ("-").

Veja git-annex-log (1) para detalhes.

info [directory|file|remote|uuid ...]

Exibe estatísticas e outras informações para o item especificado, que pode ser um diretório, um arquivo, um controle remoto ou o uuid de um repositório.

Quando nenhum item é especificado, exibe estatísticas e informações para o repositório como um todo.

Veja git-annex-info (1) para detalhes.

version

Mostra a versão do git-anexo, bem como informações sobre a versão do repositório.

Veja git-annex-version (1) para detalhes.

map

Gere mapa de repositórios.

Veja git-annex-map (1) para detalhes.

inprogress

Acesse arquivos enquanto estão sendo baixados.

Consulte git-annex-inprogress (1) para obter detalhes.

COMANDOS METADATA metadata [path ...]

O conteúdo de um arquivo anexo pode ter qualquer número de campos de metadados anexados a ele para descrevê-lo. Cada campo de metadados, por sua vez, pode ter qualquer número de valores.

Este comando pode ser usado para definir metadados ou mostrar os metadados atualmente configurados.

Veja git-annex-metadata (1) para detalhes.

view [tag ...] [field=value ...] [field=glob ...] [!tag ...] [field!=value ...]

Usa metadados para criar uma ramificação de exibição dos arquivos na ramificação atual e faz check-out da ramificação de exibição. Somente arquivos na ramificação atual cujos metadados correspondem a todos os valores e tags de campo especificados serão mostrados na exibição.

Veja git-annex-view (1) para detalhes.

vpop [N]

Muda da visualização atualmente ativa para a visualização anterior. Ou, da primeira exibição, de volta à ramificação original.

Veja git-annex-vpop (1) para detalhes.

vfilter [tag ...] [field=value ...] [!tag ...] [field!=value ...]

Filtra a exibição atual apenas para os arquivos que possuem os valores e tags de campo especificados.

Veja git-annex-vfilter (1) para detalhes.

vadd [field=glob ...] [field=value ...] [tag ...]

Altera a exibição atual, adicionando um nível adicional de diretórios para categorizar os arquivos.

Veja git-annex-vfilter (1) para detalhes.

vcycle

Quando uma exibição envolve subdiretórios aninhados, isso alterna a ordem.

Veja git-annex-vcycle (1) para detalhes.

COMANDOS DE UTILIDADE migrate [path ...]

Altera os arquivos anexados especificados para usar um back-end de valor-chave diferente.

Veja git-annex-migrate (1) para obter detalhes.

reinject src dest

Move o arquivo src para o anexo como o conteúdo do arquivo de destino. Isso pode ser útil se você obteve o conteúdo de um arquivo de outro local e deseja colocá-lo no anexo local.

Veja git-annex-reinject (1) para detalhes.

unannex [path ...]

Use isso para desfazer um git annex addcomando acidental . Ele coloca o arquivo de volta como estava antes da adição.

Veja git-annex-unannex (1) para obter detalhes.

uninit

Desinicialize o git-anexo e limpe o repositório.

Veja git-annex-uninit (1) para detalhes.

reinit uuid|description

Inicialize o repositório, reutilizando o UUID antigo.

Veja git-annex-reinit (1) para detalhes.

COMANDOS DE ENCANAMENTO pre-commit [path ...]

Isso deve ser chamado a partir do gancho de pré-confirmação do git. git annex init cria automaticamente um gancho de pré-confirmação usando isso.

Veja git-annex-pre-commit (1) para detalhes.

post-receive

Isso deve ser chamado a partir do gancho pós-recebimento do git. git annex init cria automaticamente um gancho pós-recebimento usando isso.

Veja git-annex-post-receive (1) para obter detalhes.

lookupkey [file ...]

Procura a chave usada para o arquivo.

Veja git-annex-lookupkey (1) para detalhes.

calckey [file ...]

Calcula a chave que seria usada para se referir a um arquivo.

Veja git-annex-calckey (1) para detalhes.

contentlocation [key ..]

Procura a localização do conteúdo em anexo para obter uma chave.

Veja git-annex-contentlocation (1) para obter detalhes.

examinekey [key ...]

Imprima informações que podem ser determinadas apenas olhando para a chave.

Veja git-annex-examinekey (1) para detalhes.

matchexpression

Verifica se uma expressão de conteúdo preferida corresponde aos dados fornecidos.

Veja git-annex-matchexpression (1) para obter detalhes.

fromkey [key file]

Configure manualmente um arquivo no repositório git para vincular a uma chave especificada.

Veja git-annex-fromkey (1) para detalhes.

registerurl [key url]

Registra um URL para uma chave.

Veja git-annex-registerurl (1) para detalhes.

setkey key file

Move um arquivo para o anexo como o conteúdo de uma chave.

Veja git-annex-setkey (1) para detalhes.

dropkey [key ...]

Elimina o conteúdo anexo de chaves especificadas.

Veja git-annex-dropkey (1) para detalhes.

transferkey key [--from=remote|--to=remote]

Transfere uma chave de ou para um controle remoto.

Veja git-annex-transferkey (1) para detalhes.

transferkeys

Usado internamente pelo assistente.

Veja git-annex-transferkey (1) para detalhes.

setpresentkey key uuid [1|0]

Esse comando no nível do encanamento altera os registros do git-anexo sobre se o conteúdo da chave especificada está presente em um controle remoto com o uuid especificado.

Veja git-annex-setpresentkey (1) para detalhes.

readpresentkey key uuid

Leia registros de onde a chave está presente.

Veja git-annex-readpresentkey (1) para detalhes.

checkpresentkey key remote

Verifique se a chave está presente no controle remoto.

Consulte git-annex-checkpresentkey (1) para obter detalhes.

rekey [file key ...]

Altere as teclas usadas para arquivos.

Veja git-annex-rekey (1) para detalhes.

resolvemerge

Resolve uma mesclagem conflitante, adicionando as duas versões conflitantes do arquivo à árvore, usando variantes de seus nomes de arquivos. Isso é feito automaticamente ao usar git annex syncou git annex merge.

Veja git-annex-resolvemerge (1) para detalhes.

diffdriver

Isso pode ser usado para git diffusar um driver diff externo com arquivos anexados.

Veja git-annex-diffdriver (1) para detalhes.

smudge

Este comando permite que o git-anexo seja usado como um driver de filtro git, permitindo que os arquivos anexados no repositório git sejam desbloqueados o tempo todo, em vez de serem links simbólicos.

Veja git-annex-smudge (1) para detalhes.

remotedaemon

Detecta quando os controles remotos da rede recebem push e busca do git.

Veja git-annex-remotedaemon (1) para detalhes.

findref [ref]

Lista arquivos em uma referência git. (descontinuada)

Veja git-annex-findref (1) para detalhes.

proxy -- git cmd [options]

Ignore a proteção do modo direto. (descontinuada)

Veja git-annex-proxy (1) para detalhes.

COMANDOS DE TESTE test

Isso executa o conjunto de testes interno do git-anexo.

Veja git-annex-test (1) para detalhes.

testremote remote

Isso testa um controle remoto gerando alguns objetos aleatórios e enviando-os para o controle remoto, depois baixando-os novamente, removendo-os do controle remoto etc.

É seguro executar em um repositório existente (o conteúdo do repositório não é alterado), embora possa executar transferências caras de dados.

Veja git-annex-testremote (1) para detalhes.

fuzztest

Gera alterações aleatórias nos arquivos no repositório atual, para uso no teste do assistente.

Veja git-annex-fuzztest (1) para detalhes.

benchmark

Isso executa os benchmarks internos do git-anexo, se ele foi construído com suporte a benchmarking.

Consulte git-annex-benchmark (1) para obter detalhes.

OPÇÕES COMUNS Essas opções comuns são aceitas por todos os comandos git-annex e não podem ser listadas explicitamente em suas páginas de manual individuais. (Muitos comandos também aceitam as opções de correspondência do git-anexo (1).)

--force

Forçar ações inseguras, como descartar o conteúdo de um arquivo quando não for possível verificar a existência de outra fonte, ou adicionar arquivos ignorados. Use com cuidado.

--fast

Habilite versões mais baratas, mas também menos completas, de alguns comandos. O que é evitado depende do comando.

--quiet

Evite a exibição detalhada padrão do que é feito; mostrar apenas erros.

--verbose

Ativar exibição detalhada.

--debug

Mostrar mensagens de depuração.

--no-debug

Desative mensagens de depuração.

--numcopies=n

Substitui a configuração de numcopies, forçando o git-anexo para garantir que o número especificado de cópias exista.

Observe que a definição de numcopies para 0 é muito insegura.

--time-limit=time

Limita quanto tempo um comando git-anexo é executado. O horário pode ser algo como "5h", "30m" ou mesmo "45s" ou "10d".

Observe que o git-anexo pode continuar executando um pouco além do prazo especificado, para concluir o processamento de um arquivo.

Além disso, observe que, se o limite de tempo impedir que o git-anexo faça tudo o que foi solicitado, ele sairá com um código especial, 101.

--trust=repository

--semitrust=repository --untrust=repository

Substitui as configurações de confiança de um repositório. Pode ser especificado mais de uma vez.

O repositório deve ser especificado usando o nome de um controle remoto configurado, ou o UUID ou a descrição de um repositório.

--trust-glacier

Os inventários do Amazon Glacier levam horas para serem recuperados e podem não representar o estado atual de um repositório. Portanto, o git-anexo não confia que os arquivos que as reivindicações de inventário estão no Glacier estão realmente lá. Essa opção pode ser usada para permitir confiar no inventário.

Tenha cuidado ao usar isso, especialmente se você ou outra pessoa tiver removido recentemente um arquivo do Glacier. Se você tentar soltar a única outra cópia do arquivo e essa opção estiver ativada, você poderá perder dados!

--backend=name

Especifica qual back-end de valor-chave usar. Isso pode ser usado ao adicionar um arquivo ao anexo ou ao migrar um arquivo. Depois que os arquivos estão no anexo, seu back-end é conhecido e essa opção não é necessária.

--user-agent=value

Substitui o User-Agent a ser usado ao baixar arquivos da web.

--notify-finish

Faz com que uma notificação da área de trabalho seja exibida após cada download e upload bem-sucedido de arquivo.

(Suportado apenas em algumas plataformas, por exemplo, Linux com dbus. No-op quando não suportado.)

--notify-start

Faz com que uma notificação da área de trabalho seja exibida quando um upload ou download de arquivo é iniciado ou quando um arquivo é descartado.

-c name=value

Substitui as definições de configuração do git. Pode ser especificado várias vezes.

CONFIGURAÇÃO ATRAVÉS .git / config Como outros comandos git, o git-annex é configurado via .git/config. Aqui estão todas as definições de configuração suportadas.

annex.uuid

Um UUID exclusivo para este repositório (definido automaticamente).

annex.backend

Nome do back-end de valor-chave padrão a ser usado ao adicionar novos arquivos ao repositório.

Isso é substituído pela configuração do anexo annex.backend nos arquivos .gitattributes e pela opção --backend.

(Isso costumava ser nomeado annex.backendse ainda será usado se definido.)

annex.securehashesonly

Configure como true para indicar que o repositório deve usar somente hashes criptograficamente seguros (SHA2, SHA3) e hashes não seguros (MD5, SHA1) para o conteúdo.

Quando isso estiver definido, o conteúdo dos arquivos que usam hashes criptograficamente inseguros não poderá ser adicionado ao repositório.

Além disso, o git-annex fsck` irá reclamar sobre quaisquer arquivos presentes no repositório que usem hashes inseguros.

Para configurar o comportamento em novos clones do repositório, isso pode ser definido em git-annex-config .

annex.maxextensionlength

Comprimento máximo do que é considerado uma extensão de nome de arquivo ao adicionar um arquivo a um back-end que preserva as extensões de nome de arquivo. O tamanho padrão é 4, o que permite extensões como "jpeg". O ponto antes da extensão não conta como parte de seu comprimento. No máximo duas extensões no final de um nome de arquivo serão preservadas, por exemplo, .gz ou .tar.gz.

annex.diskreserve

Quantidade de espaço em disco a reservar. O espaço em disco é verificado ao transferir o conteúdo para evitar a falta de espaço e espaço livre adicional pode ser reservado por meio dessa opção, para liberar espaço para o conteúdo mais importante (como logs de confirmação do git). Pode ser especificado com qualquer unidade usada com frequência, por exemplo, "0,5 gb", "500M" ou "100 KiloBytes"

A reserva padrão é de 1 megabyte.

annex.largefiles

Usado para configurar quais arquivos são grandes o suficiente para serem adicionados ao anexo. Padrão: todos os arquivos.

Substitui qualquer atributo annex.largefiles nos .gitattributesarquivos.

Consulte https://git-annex.branchable.com/tips/largefiles para obter detalhes.

annex.addsmallfiles

Controla se arquivos pequenos (que não correspondem aos arquivos anexo.large) devem ser verificados no git por git annex add. O padrão é true; defina como false para fazer com que arquivos pequenos sejam ignorados.

annex.addunlocked

Configure como true para fazer com que comandos como git-annex addesse adicionem arquivos ao repositório e adicione-os no formato desbloqueado. O padrão é adicionar arquivos no formato bloqueado. Isso tem efeito apenas nos repositórios v7.

Quando um repositório tem core.symlinks configurados como false, implicitamente define annex.addunlocked como true.

annex.numcopies

Essa é uma configuração descontinuada. Em vez disso, você deve usar o git annex numcopiescomando para configurar quantas cópias dos arquivos são mantidas em todos os repositórios ou a configuração em anexo.numcopies .gitattributes.

Essa configuração é vista apenas quando git annex numcopiesnunca foi configurada e quando não há nenhuma configuração em anexo.numcopies no arquivo .gitattributes.

Observe que a definição de numcopies para 0 é muito insegura.

annex.genmetadata

Configure isso para truefazer com que o git-annex gere automaticamente alguns metadados ao adicionar arquivos ao repositório.

Em particular, ele armazena metadados de ano, mês e dia, a partir da data de modificação do arquivo.

Quando o importfeed é usado, ele armazena metadados adicionais do feed, como autor, título etc.

annex.used-refspec

Este controla quais referências git-annex unusedconsidera ser usado. Consulte REFSPEC FORMAT em git-annex-unused (1) para obter detalhes.

`annex.jobs

Configure o número de trabalhos simultâneos a serem executados. O padrão é 1.

Somente comandos git-anexo que suportam a opção --jobs o usarão.

Definir isso como "cpus" executará um trabalho por núcleo da CPU.

annex.queuesize

O git-anexo constrói uma fila de comandos git, a fim de combinar comandos semelhantes para velocidade. Por padrão, o tamanho da fila é limitado a 10240 comandos; isso pode ser usado para alterar o tamanho. Se você tiver muita memória e estiver trabalhando com um número muito grande de arquivos, aumentar o tamanho da fila pode acelerar.

annex.bloomcapacity

Os comandos git annex unusede git annex sync --contentusam um filtro bloom para determinar em quais arquivos estão presentes, por exemplo, na árvore de trabalho. O filtro bloom padrão é dimensionado para lidar com até 500000 arquivos. Se o seu repositório for maior que isso, você deverá aumentar esse valor. Valores maiores criarão git-annex unusede git annex sync --contentconsumirão mais memória; execute git annex infopara números de uso de memória.

annex.bloomaccuracy

Ajusta a precisão do filtro de floração usado por git annex unusede git annex sync --content. A precisão padrão é 10000000 - um arquivo não utilizado de 10000000 será perdido git annex unused. Aumentar a precisão fará git annex unusedconsumir mais memória; execute git annex info para números de uso de memória.

annex.sshcaching

Por padrão, o git-anexo armazena em cache as conexões ssh usando as configurações ControlMaster e ControlPersist do ssh (se construídas usando um ssh novo o suficiente). Para desativar isso, defina como false.

annex.alwayscommit

Por padrão, o git-anexo confirma automaticamente os dados na ramificação do git-anexo após a execução de cada comando. Se você tiver uma série de comandos com os quais deseja fazer uma única confirmação, poderá executar os comandos com -c annex.alwayscommit=false. Posteriormente, você pode confirmar os dados executando git annex merge(ou mesclando automaticamente) ou git annex sync.

Você deve tomar cuidado git gcao executar esta configuração, pois ela pode coletar objetos que são armazenados no índice do git-anexo, mas ainda não confirmados.

annex.commitmessage

Quando o git-anexo atualiza o ramo git-anexo, ele geralmente cria sua própria mensagem de confirmação ("atualização"), pois os usuários raramente examinam ou se preocupam com as alterações nesse ramo. Se você se importa, pode especificar essa configuração executando comandos com -c annex.commitmessage=whatever

Isso funciona bem em combinação com annex.alwayscommit = false, para reunir um conjunto de alterações e confirmar com uma mensagem especificada.

annex.merge-annex-branches

Por padrão, as ramificações do git-anexo que foram extraídas dos controles remotos são automaticamente mescladas na ramificação local do git-anexo, para que o git-anexo tenha o conhecimento mais atualizado possível.

Para evitar essa mesclagem, defina isso como "false". Isso pode ser útil principalmente quando você não tem permissão de gravação no repositório.

annex.hardlink

Configure isso para truetornar o conteúdo do arquivo vinculado fisicamente entre o repositório e seus controles remotos, quando possível, em vez de uma cópia mais cara.

Use com cuidado - isso pode invalidar a contagem de cópias de número, pois com links físicos, pode haver menos cópias de um arquivo. Portanto, é uma boa idéia marcar um repositório usando essa configuração como não confiável.

Quando um repositório é configurado usando git clone --shared, o git-annex init define automaticamente o anexo.hardlink e marca o repositório como não confiável.

annex.thin

Defina isso para truetornar os arquivos desbloqueados um link físico para o conteúdo no anexo, em vez de uma segunda cópia. Isso pode economizar espaço em disco considerável, mas quando uma modificação é feita em um arquivo, você perde a cópia local (e possivelmente apenas) da versão antiga. Portanto, ative com cuidado.

Depois de definir (ou desarmar) isso, você deve executar git annex fixos arquivos anexados na árvore de trabalho para que sejam links físicos (ou cópias).

Observe que isso não tem efeito quando o sistema de arquivos não suporta links físicos. E quando vários arquivos na árvore de trabalho têm o mesmo conteúdo, apenas um deles fica vinculado ao anexo.

annex.delayadd

Faz com que os comandos do relógio e do assistente atrasem o número especificado de segundos antes de adicionar um arquivo recém-criado ao anexo. Normalmente, isso não é necessário, porque eles já esperam que todos os gravadores do arquivo fechem. No Mac OSX, o padrão é 1 segundo, para solucionar uma má interação com o software.

annex.expireunused

Controla o que o assistente faz sobre o conteúdo do arquivo não utilizado que é armazenado no repositório.

O padrão é falseque faz com que todo o conteúdo de arquivos antigos e não utilizados seja retido, a menos que o assistente possa movê-los para outro repositório (como um repositório de backup).

Pode ser definido como uma especificação de tempo, como "7d" ou "1m" e, em seguida, o conteúdo do arquivo conhecido como não utilizado por uma semana ou um mês será excluído.

annex.fscknudge

Quando definido como false, impede que o aplicativo da Web o lembre ao usar repositórios que não possuem verificações de consistência.

annex.autoupgrade

Quando configurado para perguntar (o padrão), o aplicativo da Web verifica novas versões e pergunta se elas devem ser atualizadas para. Quando definido como true, atualiza automaticamente sem aviso (em algumas plataformas suportadas). Quando definido como false, desativa qualquer verificação de atualização.

Observe que a verificação da atualização é feita apenas quando o git-anexo é instalado a partir de uma das imagens pré-construídas em seu site. Isso não ignora, por exemplo, o próprio código de manipulação de atualização de uma distribuição Linux.

Essa configuração também controla se é necessário reiniciar o assistente git-anexo quando o binário git-anexo for detectado como alterado. Isso é útil, não importa como você instalou o git-anexo.

annex.autocommit

Defina como false para impedir que o assistente git-anexo e a sincronização git-anexo anexem automaticamente alterações nos arquivos no repositório.

Para configurar o comportamento em todos os clones do repositório, isso pode ser definido em git-annex-config .

annex.resolvemerge

Configure como false para impedir que conflitos de mesclagem na ramificação com check-out sejam resolvidos automaticamente pelo assistente do git-anexo, sincronização do git-anexo, mesclagem do git-anexo e gancho de pós-recebimento do git-anexo.

Para configurar o comportamento em todos os clones do repositório, isso pode ser definido em git-annex-config .

annex.synccontent

Defina como true para tornar a sincronização do git-anexo padrão para sincronizar o conteúdo.

Para configurar o comportamento em todos os clones do repositório, isso pode ser definido em git-annex-config .

annex.startupscan

Configure como false para impedir que o assistente git-annex varra o repositório em busca de arquivos novos e alterados na inicialização. Isso impedirá que ele observe as alterações que foram feitas enquanto não estava em execução, mas pode ser um ajuste de desempenho útil para um repositório grande.

annex.listen

Configura em qual endereço o aplicativo da web ouve. O padrão é localhost. Pode ser um endereço IP ou um nome de host que resolve para o endereço desejado.

annex.debug

Configure como true para ativar o log de depuração por padrão.

annex.version

Manutenção automática e usada para automatizar atualizações entre versões.

annex.crippledfilesystem

Configure como true se o repositório estiver em um sistema de arquivos aleijado, como o FAT, que não suporta links simbólicos, hard links ou permissões unix. Isso é verificado automaticamente pelo "git annex init".

annex.pidlock

Normalmente, o git-anexo usa arquivos de bloqueio refinados para permitir que vários processos sejam executados simultaneamente, sem atrapalhar os outros. Isso funciona muito bem, a menos que você esteja usando o git-anexo em um sistema de arquivos que não suporta bloqueios POSIX fcntl. Às vezes, esse é o caso ao usar sistemas de arquivos NFS ou Luster.

Para dar suporte a essas situações, você pode definir o anexo.pidlock como true e ele voltará a um único bloqueio de arquivo pid de nível superior.

Embora, frequentemente, você realmente considere melhor corrigir a configuração do sistema de arquivos em rede para suportar bloqueios POSIX. E alguns sistemas de arquivos em rede são tão inconsistentes que um nó não pode dizer com segurança quando o outro nó está segurando um bloqueio pid. Advertência emptor.

annex.pidlocktimeout

Ao usar arquivos pid lock, é possível que um arquivo de bloqueio antigo seja deixado para trás pela execução anterior do git-anexo que travou ou foi interrompida. Isso é evitado principalmente, mas pode ocorrer principalmente ao usar um sistema de arquivos de rede.

O git-annex esperará até muitos segundos para que o arquivo pid lock desapareça e será abortado se não puder continuar. Padrão: 300

annex.cachecreds

Quando "true" (o padrão), o git-anexo armazenará em cache as credenciais usadas para acessar controles remotos especiais nos arquivos em .git / anexo / creds / que somente você pode ler. Para desabilitar esse cache, defina como "false", e as credenciais serão lidas apenas no ambiente ou, se tiverem sido incorporadas no formato criptografado no repositório git, serão extraídas e descriptografadas sempre que o git-annex precisar acessar o controle remoto. .

remote..annex-cost

Ao determinar qual repositório transferir arquivos anexados de ou para, são preferidos aqueles com custos mais baixos. O custo padrão é 100 para repositórios locais e 200 para repositórios remotos.

remote..annex-cost-command

Se definido, o comando é executado e o número que ele gera é usado como custo. Isso permite variar o custo com base, por exemplo, na rede atual.

remote..annex-start-command

Um comando para executar quando o git-anexo começar a usar o controle remoto. Isso pode ser usado para, por exemplo, montar o diretório que contém o controle remoto.

O comando pode ser executado repetidamente quando vários processos git-annex estão sendo executados simultaneamente.

remote..annex-stop-command

Um comando para executar quando o git-anexo for concluído usando o controle remoto.

O comando será executado somente quando todos os processos em execução do git-anexo forem concluídos usando o controle remoto.

remote..annex-shell

Especifique um executável git-annex-shell alternativo no controle remoto em vez de procurar "git-annex-shell" no PATH.

Isso é útil se o programa git-annex-shell estiver fora do PATH ou tiver um nome não padrão.

remote..annex-ignore

Se definido como true, evita que o git-anexo armazene o conteúdo do arquivo neste controle remoto por padrão. (Você ainda pode solicitar que seja usado pelas opções --frome --to.)

Isso é útil, por exemplo, se o controle remoto estiver localizado em algum lugar sem o git-annex-shell. (Por exemplo, se estiver no GitHub). Ou pode ser usado se a conexão de rede entre dois repositórios for muito lenta para ser usada normalmente.

Isso não impede que o git-anexo sync (ou o assistente do git-anexo) sincronize o repositório git com o controle remoto.

remote..annex-ignore-command

Se definido, o comando é executado e, se sair diferente de zero, é o mesmo que configurar annex-ignore como true. Isso permite controlar o comportamento com base, por exemplo, na rede atual.

remote..annex-sync

Se definido como false, impede que a sincronização do git-anexo (e o assistente do git-anexo) sincronizem com este controle remoto por padrão. No entanto, git annex sync ainda pode ser usado para sincronizar com o controle remoto.

remote..annex-sync-command

Se definido, o comando é executado e, se sair diferente de zero, é o mesmo que configurar a sincronização do anexo como false. Isso permite controlar o comportamento com base, por exemplo, na rede atual.

remote..annex-pull

Se definido como false, evita que a sincronização do git-anexo (e o assistente do git-anexo etc) sejam puxados (ou buscados) do controle remoto.

remote..annex-push

Se definido como false, evita que a sincronização do git-anexo (e o assistente do git-anexo etc) seja enviada para o controle remoto.

remote..annex-readonly

Se definido como true, impede que o git-anexo faça alterações em um controle remoto. Isso impede a sincronização do git-anexo de enviar alterações e também o armazenamento ou a remoção de arquivos do controle remoto somente leitura.

remote..annex-verify, annex.verify

Por padrão, o git-anexo verifica as somas de verificação dos objetos baixados dos controles remotos. Se você confiar em um controle remoto e não querem a sobrecarga destas somas de verificação, você pode definir isso false.

Observe que, mesmo quando definido como false, o git-anexo verifica em alguns casos extremos, onde é provável que um objeto tenha sido baixado incorretamente ou quando necessário para segurança.

remote..annex-tracking-branch

Isso é para uso com controles remotos especiais que suportam exportações e importações.

Quando definido como, por exemplo, "mestre", isso indica ao git-anexo que você deseja que o controle remoto especial rastreie esse ramo.

Quando definido como, por exemplo, "master: subdir", o controle remoto especial rastreia apenas o subdiretório desse ramo.

git-annex sync --contentimportará as alterações do controle remoto e as mesclará na filial de rastreamento do anexo. Eles também exportam as alterações feitas na filial para o controle remoto.

remote..annex-export-tracking

Nome descontinuado para remote..annex-tracking-branch. Ainda será usado se estiver configurado e remote..annex-tracking-branchnão estiver.

remote..annexUrl

Pode ser usado para especificar um URL diferente do normal remote..url para o git-anexo usar ao conversar com o controle remoto. Semelhante ao pushUrl usado pelo git-push.

remote..annex-uuid

O git-anexo armazena em cache UUIDs de repositórios remotos aqui.

remote..annex-retry, annex.retry

Configure tentativas de transferências com falha em uma base remota e geral, respectivamente. O valor é o número de tentativas que podem ser feitas da mesma transferência. (padrão 0)

remote..annex-retry-delay, annex.retry-delay

Número de segundos para atrasar antes da primeira tentativa de uma transferência. Ao fazer várias tentativas da mesma transferência, o atraso duplica após cada nova tentativa. (padrão 1)

remote..annex-checkuuid

Isso afeta apenas controles remotos que têm o URL apontando para um diretório no mesmo sistema. O git-anexo normalmente verifica o uuid de tais controles remotos toda vez que é executado, o que permite lidar de forma transparente com diferentes unidades montadas no local em momentos diferentes.

Definir annex-checkuuid como false impedirá que ele verifique o uuid na inicialização (embora o uuid ainda seja verificado antes de fazer alterações no repositório remoto). Pode ser útil configurar para impedir a rotação ou montagem desnecessária de uma unidade.

remote..annex-trustlevel

Configura um nível de confiança local para o controle remoto. Isso substitui o valor configurado pelos comandos de confiança e não confiança. O valor pode ser "confiável", "semitrustificado" ou "não confiável".

remote..annex-availability

Pode ser usado para informar ao git-anexo se um controle remoto é LocallyAvailable ou GloballyAvailable. Normalmente, o git-anexo determina isso automaticamente.

remote..annex-speculate-present

Defina como "true" para fazer o git-annex especular que esse controle remoto pode conter o conteúdo de qualquer arquivo, mesmo que seu rastreamento de local normal não indique isso. Isso fará com que o git-anexo tente obter todo o conteúdo do arquivo do controle remoto. Pode ser útil na configuração de um controle remoto em cache.

remote..annex-bare

Pode ser usado para informar ao git-anexo se um remoto é um repositório vazio ou não. Normalmente, o git-anexo determina isso automaticamente.

remote..annex-ssh-options

Opções a serem usadas ao usar o ssh para conversar com este controle remoto.

remote..annex-rsync-options

Opções a serem usadas ao usar o rsync para ou deste controle remoto. Por exemplo, para forçar o IPv6 e limitar a largura de banda a 100Kbyte / s, defina-o como-6 --bwlimit 100

Observe que o git-annex-shell possui uma lista de permissões de opções permitidas do rsync, e outras não serão passadas para o rsync remoto. Portanto, o uso de algumas opções pode interromper a comunicação entre os rsyncs locais e remotos.

remote..annex-rsync-upload-options

Opções a serem usadas ao usar o rsync para fazer upload de um arquivo para um controle remoto.

Essas opções são passadas após outras opções rsync aplicáveis, e podem ser usadas para substituí-las. Por exemplo, para limitar a largura de banda de upload para 10Kbyte / s, defina --bwlimit 10.

remote..annex-rsync-download-options

Opções a serem usadas ao usar o rsync para baixar um arquivo de um controle remoto.

Essas opções são passadas após outras opções rsync aplicáveis, e podem ser usadas para substituí-las.

remote..annex-rsync-transport

O shell remoto a ser usado para conectar-se ao controle remoto rsync. Os valores possíveis são ssh(o padrão) e rsh, juntamente com seus argumentos, por exemplo ssh -p 2222 -c blowfish; Observe que o nome do host remoto não deve aparecer lá, consulte rsync (1) para obter detalhes. Quando o transporte usado é ssh, as conexões são armazenadas em cache automaticamente, a menos que annex.sshcachingestejam desabilitadas.

remote..annex-bup-split-options

Opções para passar para a divisão bup ao armazenar conteúdo neste controle remoto. Por exemplo, para limitar a largura de banda a 100Kbyte / s, defina-a como --bwlimit 100k (Não há opção correspondente para junção de bup).

remote..annex-gnupg-options

Opções para passar para o GnuPG quando estiver criptografando dados. Por exemplo, para usar a cifra AES com uma chave de 256 bits e desativar a compactação, defina-a como --cipher-algo AES256 --compress-algo none. (Essas opções têm precedência sobre a configuração padrão do GnuPG, que é usada de outra forma.)

remote..annex-gnupg-decrypt-options

Opções para passar para o GnuPG quando descriptografar dados. (Essas opções têm precedência sobre a configuração padrão do GnuPG, que é usada de outra forma.)

annex.ssh-options, annex.rsync-options, annex.rsync-upload-options, annex.rsync-download-options, annex.bup-split-options, annex.gnupg-options, annex.gnupg-decrypt-options

Opções padrão a serem usadas se um controle remoto não tiver opções mais específicas, conforme descrito acima.

annex.web-options

Opções para passar a curl quando o git-annex o usa para baixar URLs (em vez do downloader de URL embutido padrão).

Por exemplo, para forçar apenas o IPv4, defina-o como "-4". Ou para fazer o curl usar o arquivo ~ / .netrc, defina-o como "--netrc".

A configuração dessa opção faz com que o git-anexo use curl, mas apenas quando o endereço anex.security.allowed-ip está configurado de uma maneira específica. Veja a documentação.

annex.youtube-dl-options

Opções para passar para o youtube-dl ao usá-lo para encontrar o URL para fazer o download de um vídeo.

Algumas opções podem interromper a integração do git-anexo com o youtube-dl. Por exemplo, a opção --output pode fazer com que ele armazene arquivos em algum lugar que o git-anexo não os encontre. Evite definir aqui ou no arquivo de configuração do youtube-dl qualquer opção que faça com que o youtube-dl baixe mais de um arquivo ou armazene o arquivo em qualquer lugar que não seja o diretório de trabalho atual.

annex.aria-torrent-options

Opções para passar para o aria2c ao usá-lo para baixar um torrent.

annex.http-headers

Cabeçalhos HTTP a serem enviados durante o download da web. É possível definir várias linhas dessa opção, uma por cabeçalho.

annex.http-headers-command

Se definido, o comando é executado e cada linha de sua saída é usada como um cabeçalho HTTP. Isso substitui o anexo.http-headers.

annex.security.allowed-url-schemes

Lista de esquemas de URL dos quais o git-annex pode baixar conteúdo. O padrão é "http https ftp".

Pense com muito cuidado antes de mudar isso; existem implicações de segurança. Por exemplo, se ele foi alterado para permitir URLs de "arquivo", qualquer pessoa que possa obter uma confirmação no seu repositório git-anexo pode git-annex addurlapontar para um arquivo privado localizado fora desse repositório, possivelmente fazendo com que ele seja copiado no seu repositório e transferido para para outros controles remotos, expondo seu conteúdo.

Alguns controles remotos especiais oferecem suporte a seus próprios esquemas de URL específicos do domínio; aqueles não são afetados por esta configuração.

annex.security.allowed-ip-addresses

Por padrão, o git-anexo apenas faz conexões com endereços IP públicos; ele se recusará a usar HTTP e outros servidores no host local ou em uma rede privada.

Essa configuração pode substituir esse comportamento, permitindo o acesso a endereços IP específicos. Por exemplo, "127.0.0.1 :: 1" permite acesso ao host local (IPV4 e IPV6). Para permitir o acesso a todos os endereços IP, use "all"

Pense com muito cuidado antes de mudar isso; existem implicações de segurança. Qualquer pessoa que possa obter um commit no seu repositório git-anexo pode fazer git annex addurlum URL em um servidor privado, possivelmente fazendo com que ele seja baixado no seu repositório e transferido para outros controles remotos, expondo seu conteúdo.

Observe que, como as interfaces do curl e do youtube-dl não permitem que essas restrições de endereço IP sejam aplicadas, o curl e o youtube-dl nunca serão usados, a menos que annex.security.allowed-ip-address = all.

annex.security.allowed-http-addresses

Nome antigo para annex.security.allowed-ip-address. Se definido, será tratado da mesma forma que o conjunto de endereços anexos.security.allowed-ip.

annex.security.allow-unverified-downloads

Por motivos de segurança, o git-anexo se recusa a baixar o conteúdo da maioria dos controles remotos especiais quando não pode verificar um hash para verificar se o conteúdo correto foi baixado. Isso afeta particularmente o download do conteúdo das chaves URL ou WORM, que não possuem hashes.

A melhor maneira de evitar problemas devido a isso é migrar arquivos para longe dessas chaves, antes que seu conteúdo alcance um controle remoto especial. Consulte git-annex-migrate (1).

Quando o conteúdo está disponível apenas em um controle remoto especial, você pode usar esta configuração para forçar o git-annex a fazer o download. Mas você faz isso por sua conta e risco, e é muito importante que você leia e compreenda as informações abaixo primeiro!

O download de conteúdo não verificado de controles remotos especiais criptografados é impedido, porque o controle remoto especial pode enviar outro conteúdo criptografado além do esperado, fazendo com que o git-anexo descriptografe os dados que você nunca fez check-in no git-anexo e correndo o risco de expor os dados descriptografados a controles remotos criptografados para os quais você envia conteúdo.

O download de conteúdo não verificado de controles remotos especiais externos (não criptografados) é impedido, porque eles podem seguir redirecionamentos http para servidores Web no host local ou em uma rede privada ou, em alguns casos, em um arquivo: /// url.

Se você decidir ignorar essa verificação de segurança, a melhor coisa a fazer é defini-la temporariamente enquanto estiver executando o comando que obtém o arquivo. O valor para definir a configuração é "ACKTHPPT". Por exemplo:

git -c annex.security.allow-unverified-downloads = Anexo ACKTHPPT obtém meu arquivo

Seria uma boa idéia verificar se ele também baixou o arquivo que você esperava.

remote.name.annex-security-allow-unverified-downloads

Configuração por remota de anexos.security.allow-unverified-downloads.

annex.secure-erase-command

Isso pode ser definido como um comando que deve ser executado sempre que o git-anexo remover o conteúdo de um arquivo do repositório.

Na linha de comando, o arquivo% é substituído pelo arquivo que deve ser apagado.

Por exemplo, para usar o comando wipe, defina-o como wipe -f %file.

remote..annex-rsyncurl

Usado pelos controles remotos especiais do rsync, isso configura o local do repositório rsync a ser usado. Normalmente, isso é configurado automaticamente por git annex initremote, mas você pode alterá-lo, se necessário.

remote..annex-buprepo

Usado pelos controles remotos especiais do bup, isso configura o local do repositório do bup a ser usado. Normalmente, isso é configurado automaticamente por git annex initremote, mas você pode alterá-lo, se necessário.

remote..annex-ddarrepo

Usado pelos controles remotos especiais do ddar, isso configura o local do repositório ddar a ser usado. Normalmente, isso é configurado automaticamente por git annex initremote, mas você pode alterá-lo, se necessário.

remote..annex-directory

Usado por controles remotos especiais do diretório, isso configura o local do diretório em que os arquivos anexados são armazenados para este controle remoto. Normalmente, isso é configurado automaticamente por git annex initremote, mas você pode alterá-lo, se necessário.

remote..annex-adb

Usado para identificar controles remotos em dispositivos Android acessados ​​via adb. Normalmente, isso é configurado automaticamente por git annex initremote.

remote..annex-androiddirectory

Usado pelos controles remotos especiais adb, este é o diretório no dispositivo Android em que os arquivos são armazenados para este controle remoto. Normalmente, isso é configurado automaticamente por git annex initremote, mas você pode alterá-lo, se necessário.

remote..annex-androidserial

Usado pelos controles remotos especiais adb, esse é o número de série do dispositivo Android usado pelo controle remoto. Normalmente, isso é configurado automaticamente git annex initremote, mas você pode alterá-lo, se necessário, por exemplo, ao atualizar para um novo dispositivo Android.

remote..annex-s3

Usado para identificar controles remotos especiais do Amazon S3. Normalmente, isso é configurado automaticamente por git annex initremote.

remote..annex-glacier

Usado para identificar controles remotos especiais do Amazon Glacier. Normalmente, isso é configurado automaticamente por git annex initremote.

remote..annex-webdav

Usado para identificar controles remotos especiais do webdav. Normalmente, isso é configurado automaticamente por git annex initremote.

remote..annex-tahoe

Usado para identificar controles remotos especiais de tahoe. Aponta para o diretório de configuração do tahoe.

remote..annex-gcrypt

Usado para identificar controles remotos especiais do gcrypt. Normalmente, isso é configurado automaticamente por git annex initremote.

É definido como "true" se este for um controle remoto gcrypt. Se o controle remoto gcrypt estiver acessível via ssh e tiver o git-annex-shell disponível para gerenciá-lo, será definido como "shell".

remote..annex-git-lfs

Usado para identificar controles remotos especiais do git-lfs. Normalmente, isso é configurado automaticamente por git annex initremote.

É definido como "true" se este for um controle remoto git-lfs.

remote..annex-hooktype, remote..annex-externaltype

Utilizado por controles remotos especiais e remotos especiais externos para gravar o tipo do controle remoto.

annex.tune.objecthash1, annex.tune.objecthashlower,annex.tune.branchhash1

Eles podem ser passados git annex initpara ajustar o repositório. Eles não podem ser alterados com segurança em um repositório em execução e nunca devem ser definidos na configuração global do git. Para detalhes, consulte https://git-annex.branchable.com/tuning/ .

CONFIGURAÇÃO ATRAVÉS .gitattributes O back-end de valor-chave usado ao adicionar um novo arquivo ao anexo pode ser configurado por tipo de arquivo por meio de .gitattributesarquivos. No arquivo, o annex.backendatributo pode ser definido como o nome do back-end a ser usado. Por exemplo, aqui está como usar o back-end WORM por padrão, mas o back-end SHA256E para arquivos ogg:

  • annex.backend=WORM *.ogg annex.backend=SHA256E Existe um atributo anexo.largefiles; que é usado para configurar quais arquivos são grandes o suficiente para serem adicionados ao anexo. Consulte https://git-annex.branchable.com/tips/largefiles para obter detalhes.

A configuração de copias também pode ser configurada por tipo de arquivo por meio do annex.numcopiesatributo em .gitattributesarquivos. Isso substitui as configurações de outras copias. Por exemplo, isso faz com que duas cópias sejam necessárias para arquivos wav e 3 cópias para arquivos flac:

.wav annex.numcopies=2 .flac annex.numcopies=3 Observe que a definição de numcopies para 0 é muito insegura.

Essas configurações são respeitadas pelo git-anexo sempre que estão operando em um arquivo correspondente. No entanto, ao usar --all, --unused ou --key para especificar chaves para operar, o git-anexo está operando em chaves e não em arquivos, portanto, não respeitará as configurações de .gitattributes. Por esse motivo, o git annex numcopiescomando é útil para configurar um padrão global para numcopies.

Observe também que, ao usar modos de exibição, apenas o arquivo .gitattributes de nível superior é preservado no modo de exibição; portanto, outras configurações em outros arquivos não terão efeito.

ESTADO DE SAÍDA O anexo git, quando chamado como subcomando git, pode retornar os códigos de saída 0 ou 1 para obter sucesso ou falhas, ou, mais raramente, 127 ou 128 para determinadas falhas muito específicas. O próprio git-anexo deve retornar 0 em caso de sucesso e 1 em caso de falha, a menos que a --time-limit=timeopção seja atingida; nesse caso, ele retorna com o código de saída 101.

MEIO AMBIENTE Essas variáveis ​​de ambiente são usadas pelo git-anexo quando configuradas:

GIT_WORK_TREE, GIT_DIR

Manipulados da mesma forma que são pelo git, consulte git (1)

GIT_SSH, GIT_SSH_COMMAND

Manipulado de maneira semelhante à descrita no git (1). A única diferença é que o git-anexo às vezes passa um parâmetro "-n" adicional a eles, como o primeiro parâmetro, para impedir que o ssh leia stdin. Como isso pode interromper os usos existentes dessas variáveis ​​de ambiente que não esperam o parâmetro extra, você precisará definir GIT_ANNEX_USE_GIT_SSH=1para fazer com que o git-anexo os suporte.

Observe que a definição de uma dessas variáveis ​​de ambiente evita que o git-annex ative automaticamente o cache de conexão ssh (consulte annex.sshcaching), portanto isso atrasará algumas operações com controles remotos sobre ssh. Depende de você ativar o cache de conexão ssh, se necessário; veja a documentação do ssh.

Além disso, annex.ssh-optionse remote..annex-ssh-options não terá nenhum efeito quando essas variáveis ​​de ambiente forem definidas.

Geralmente, é melhor configurar as opções desejadas através do arquivo ~ / .ssh / config ou definir annex.ssh-options.

GIT_ANNEX_VECTOR_CLOCK

Normalmente, as linhas de registro de data e hora do git-anexo nos arquivos de log confirmados na ramificação do git-anexo. Definir essa variável de ambiente como um número fará com que o git-anexo use isso em vez do número atual de segundos desde a época do UNIX. Observe que os segundos decimais são suportados.

Isso é fornecido apenas para usuários avançados que têm uma maneira melhor de saber qual confirmação é atual que o relógio local ou que precisam evitar a incorporação de carimbos de data / hora por motivos de política. O uso indevido dessa variável de ambiente pode confundir a contabilidade do git-anexo, às vezes de maneiras que git annex fscknão podem ser reparadas.

Alguns controles remotos especiais usam variáveis ​​de ambiente adicionais para autenticação, etc. Por exemplo, AWS_ACCESS_KEY_ID e GIT_ANNEX_P2P_AUTHTOKEN. Consulte a documentação remota especial.

ARQUIVOS Esses arquivos são usados ​​pelo git-anexo:

.git/annex/objects/no seu repositório git contém o conteúdo do arquivo anexo que está disponível no momento. Arquivos anexados no seu link simbólico para o conteúdo do repositório git.

.git/annex/ no seu repositório git contém outras informações de tempo de execução usadas pelo git-anexo.

~/.config/git-annex/autostart é uma lista de repositórios git para iniciar o assistente git-anexo.

.git/hooks/pre-commit-annex no seu repositório git será executado sempre que uma confirmação for feita na ramificação HEAD, seja por git commit, git-annex sync ou pelo assistente git-anexo.

.git/hooks/post-update-annexno seu repositório git será executado sempre que o ramo git-anexo for atualizado. Você pode executar esse gancho git update-server-infoao publicar um repositório git-anexo por http.

VEJA TAMBÉM Mais documentação do git-anexo está disponível em seu site, https://git-annex.branchable.com/

Se o git-anexo estiver instalado a partir de um pacote, uma cópia de sua documentação deverá ser incluída, por exemplo, em /usr/share/doc/git-annex/.

AUTOR Joey Hess id@joeyh.name

https://git-annex.branchable.com/

Aviso: convertido automaticamente em uma página de manual por mdwn2man. Edite com cuidado.

Adicione um comentário Links: devblog / forum de divisão da página de manual do dia 266-267 / Watch / assistant / webapp documentation / comment 1 adb377589dbae7fc91001df235c6b48e forum / share .git / annex / objects em vários repositórios em uma máquina / comentário 1 1606849eb13b6069394455297395dc30 forum / unlimited unexex forum / comment 1 0176d1d50bd62b113ff690346ba4161b git-annex-add git-annex-addunused git-annex-addurl git-annex- Adjust git-annex-assistant ... Última edição: há15 days and 4 hours ago