en to pt_BR translation catalogue (7750 entries)

note: type: Plain text
en: Show blank SHA-1 for boundary commits.  This can also be controlled via the `blame.blankboundary` config option.
pt_BR: Exiba o SHA-1 em branco para os commits limite.  Também pode ser controlado através da opção da configuração `blame.blankboundary`.

note: type: Plain text
en: Do not treat root commits as boundaries.  This can also be controlled via the `blame.showRoot` config option.
pt_BR: Não trate os commits raiz como limitadores.  Também pode ser controlado através da opção da configuração `blame.showRoot`.

note: type: Plain text
en: Include additional statistics at the end of blame output.
pt_BR: Inclui estatísticas adicionais no fim da saída do comando blame.

note: type: Labeled list
en: -L <start>,<end>
pt_BR: -L <inicio>,<fim>

note: type: Plain text
en: Annotate only the given line range. May be specified multiple times.  Overlapping ranges are allowed.
pt_BR: Anote apenas o intervalo das linhas informadas. Pode ser utilizado mais de uma vez.  As variações sobrepostas são permitidas.

note: type: Plain text
en: <start> and <end> are optional. ``-L <start>'' or ``-L <start>,'' spans from <start> to end of file. ``-L ,<end>'' spans from start of file to <end>.
pt_BR: <inicio> e <fim> são opcionais. ``-L <inicio>'' ou ``-L <inicio>,'' abrange do <inicio> para o final do arquivo. ``-L ,<fim>'' abrange do começo ao <fim>.

note: type: Plain text
en: Show long rev (Default: off).
pt_BR: Exibe o rev longo (Predefinição: desligado).

note: type: Plain text
en: Show raw timestamp (Default: off).
pt_BR: Exibe o registro de data e hora em formato bruto (Predefinição: desligado).

note: type: Plain text
en: Use revisions from revs-file instead of calling linkgit:git-rev-list[1].
pt_BR: Utilize as revisões do arquivo-revs no lugar de chamar linkgit:git-rev-list[1].

note: type: Plain text
en: Walk history forward instead of backward. Instead of showing the revision in which a line appeared, this shows the last revision in which a line has existed. This requires a range of revision like START..END where the path to blame exists in START.  `git blame --reverse START` is taken as `git blame --reverse START..HEAD` for convenience.
pt_BR: Avance a história adiante em vez de retroceder. Em vez de exibir a revisão onde a linha apareceu, exibe a última revisão na qual a linha já existiu. É necessário um intervalo de revisões como START..END (INICIO..FIM) onde o caminho reclamado exista em START.  Por mera conveniência, o comando `git blame --reverse START` é atalho para `git blame --reverse START..HEAD`.

note: type: Plain text
en: Show in a format designed for machine consumption.
pt_BR: Exiba em um formato designado para o consumo de uma máquina.

note: type: Plain text
en: Show the porcelain format, but output commit information for each line, not just the first time a commit is referenced.  Implies --porcelain.
pt_BR: Exiba o formato porcelana, porém envie informações do commit na saída para cada linha e não apenas na primeira vez que um commit tiver uma referência.  Implica no uso da opção --porcelain.

note: type: Plain text
en: Show the result incrementally in a format designed for machine consumption.
pt_BR: Exiba o resultado incrementadamente em um formado designado para o consumo de uma máquina.

note: type: Labeled list
en: --encoding=<encoding>
pt_BR: --encoding=<codificação>

note: type: Plain text
en: Specifies the encoding used to output author names and commit summaries. Setting it to `none` makes blame output unconverted data. For more information see the discussion about encoding in the linkgit:git-log[1] manual page.
pt_BR: Defina a codificação a ser utilizada para gerar os nomes dos autores e do resumo dos commits. Definindo como `none` torna a saída "blame" em dados sem conversão. Para mais informações, consulte a discussão sobre codificação na página do manual linkgit:git-log[1].

note: type: Labeled list
en: --contents <file>
pt_BR: --contents <arquivo>

note: type: Plain text
en: When <rev> is not specified, the command annotates the changes starting backwards from the working tree copy.  This flag makes the command pretend as if the working tree copy has the contents of the named file (specify `-` to make the command read from the standard input).
pt_BR: Quando <rev> não for definido, o comando anotará as alterações iniciando em sentido contrário na cópia da árvore de trabalho.  Essa flag faz com que o comando pareça estar trabalhando na cópia da árvore de trabalho que tenha os conteúdos informados do arquivo (especifique `-` para que o comando leia a partir da entrada padrão).

note: type: Labeled list
en: --date <format>
pt_BR: --date <formato>

note: type: Plain text
en: Specifies the format used to output dates. If --date is not provided, the value of the blame.date config variable is used. If the blame.date config variable is also not set, the iso format is used. For supported values, see the discussion of the --date option at linkgit:git-log[1].
pt_BR: Especifica o formato utilizado para gerar as datas. Caso --date não seja utilizado, o valor da variável de configuração `blame.date` será utilizado. Caso a variável de configuração `blame.date` também não esteja definida, o formato ISO será utilizado. Para ver quais são os valores compatíveis, consulte a discussão da opção `--date` em linkgit:git-log[1].

note: type: Plain text
en: Progress status is reported on the standard error stream by default when it is attached to a terminal. This flag enables progress reporting even if not attached to a terminal. Can't use `--progress` together with `--porcelain` or `--incremental`.
pt_BR: É predefinido que a condição do progresso seja relatado no fluxo de erros padrão quando estiver conectado em um terminal. Essa flag permite que os relatórios de progresso sejam feitos ainda que não estejam conectados em um terminal. Não é possível usar `--progress` junto com `--porcelain` ou `--incremental`.

note: type: Plain text
en: Detect moved or copied lines within a file. When a commit moves or copies a block of lines (e.g. the original file has A and then B, and the commit changes it to B and then A), the traditional 'blame' algorithm notices only half of the movement and typically blames the lines that were moved up (i.e. B) to the parent and assigns blame to the lines that were moved down (i.e. A) to the child commit.  With this option, both groups of lines are blamed on the parent by running extra passes of inspection.
pt_BR: Detecte as linhas movidas ou copiadas em um arquivo. Quando um commit move ou copia um bloco de linhas (o arquivo original possui A e, em seguida, B, e o commit muda para B e, em seguida, A por exemplo), o algoritmo tradicional de 'blame' percebe apenas metade do movimento e normalmente responsabiliza as linhas que forem movidos para cima (ou seja, B) para a origem e atribuem a responsabilidade às linhas que foram movidas para baixo (ou seja, A) para o herdeiro do commit.  Com esta opção, os dois grupos das linhas são atribuídos à origem durante a execução dos passes extras de inspeção.

note: type: Plain text
en: <num> is optional but it is the lower bound on the number of alphanumeric characters that Git must detect as moving/copying within a file for it to associate those lines with the parent commit. The default value is 20.
pt_BR: A opção `<num>` é opcional porém é o limite inferior da quantidade de caracteres alfanuméricos que o Git deve detectar como mover/copiar dentro de um arquivo para associar essas linhas ao commit de origem. 20 é o valor predefinido.

note: type: Plain text
en: In addition to `-M`, detect lines moved or copied from other files that were modified in the same commit.  This is useful when you reorganize your program and move code around across files.  When this option is given twice, the command additionally looks for copies from other files in the commit that creates the file. When this option is given three times, the command additionally looks for copies from other files in any commit.
pt_BR: Além de `-M`, detecte as linhas movidas ou copiadas de outros arquivos que foram alterados no mesmo commit.  É útil ao reorganizar o seu programa e move o código através dos arquivos.  Quando essa opção é utilizada duas vezes, o comando procura adicionalmente cópias dos outros arquivos no commit que cria o arquivo. Quando essa opção é utilizada três vezes, o comando procura adicionalmente por cópias dos outros arquivos em qualquer outro commit.

note: type: Plain text
en: <num> is optional but it is the lower bound on the number of alphanumeric characters that Git must detect as moving/copying between files for it to associate those lines with the parent commit. And the default value is 40. If there are more than one `-C` options given, the <num> argument of the last `-C` will take effect.
pt_BR: A opção `<num>` é opcional porém é o limite inferior da quantidade de caracteres alfanuméricos que o Git deve detectar como mover/copiar entre os arquivos para associar estas linhas ao commit de origem. 40 é o valor predefinido. Caso haja mais de uma opção `-C`, o argumento <num> do último `-C` entrará em vigor.

note: type: Plain text
en: Ignore changes made by the revision when assigning blame, as if the change never happened.  Lines that were changed or added by an ignored commit will be blamed on the previous commit that changed that line or nearby lines.  This option may be specified multiple times to ignore more than one revision.  If the `blame.markIgnoredLines` config option is set, then lines that were changed by an ignored commit and attributed to another commit will be marked with a `?` in the blame output.  If the `blame.markUnblamableLines` config option is set, then those lines touched by an ignored commit that we could not attribute to another revision are marked with a '*'.
pt_BR: Ignore as alterações feitas pela revisão assumindo a responsabilidade como se a mudança nunca tivesse acontecido.  As linhas que foram alteradas ou adicionadas através de um commit ignorado serão responsabilizados pelo commit anterior que alterou esta linha ou as próximas.  Esta opção pode ser utilizada várias vezes para ignorar mais de uma revisão.  Caso a opção da configuração `blame.markIgnoredLines` estiver definida, as linhas que forem alteradas por um commit ignorado e atribuídas a outro commit, serão marcados com um`?`.  Caso a opção da configuração `blame.markUnblamableLines` estiver definida, as linhas tocadas por um commit ignorado onde não foi possível atribuir uma outra revisão, serão marcadas com um '*'.

note: type: Labeled list
en: --ignore-revs-file <file>
pt_BR: --ignore-revs-file <arquivo>

note: type: Plain text
en: Ignore revisions listed in `file`, which must be in the same format as an `fsck.skipList`.  This option may be repeated, and these files will be processed after any files specified with the `blame.ignoreRevsFile` config option.  An empty file name, `""`, will clear the list of revs from previously processed files.
pt_BR: Ignore as revisões listadas no `arquivo` que deve estar no mesmo formato que um `fsck.skipList`.  Esta opção pode ser repetida, estes arquivos serão processados após qualquer outro arquivo definido com a opção da configuração `blame.ignoreRevsFile`.  Um nome vazio de arquivo, `""` limpará a lista de rotações dos arquivos processados anteriormente.

note: type: Plain text
en: Show help message.
pt_BR: Exiba a mensagem de ajuda.

note: type: Plain text
en: Annotate file lines with commit information.
pt_BR: Anota as linhas com as informações do commit.

note: type: Plain text
en: Show what revision and author last modified each line of a file.
pt_BR: Exibe quais foram as últimas modificações feitas em cada linha de um arquivo separados pela versão da revisão e do autor da modificação.

note: type: Plain text
en: Collect information for user to file a bug report.
pt_BR: Colete informações para que o usuário envie um relatório de erro.

note: type: Plain text
en: Count unpacked number of objects and their disk consumption.
pt_BR: Conta a quantidade dos objetos que não foram empacotados e seu consumo no disco.

note: type: Plain text
en: Show changes using common diff tools.
pt_BR: Exibe as mudanças utilizando ferramentas diff tradicionais.

note: type: Plain text
en: Verifies the connectivity and validity of the objects in the database.
pt_BR: Verifica a conectividade e validade dos objetos em um banco de dados.

note: type: Plain text
en: Display help information about Git.
pt_BR: Exiba a informação de ajuda sobre o Git.

note: type: Plain text
en: Instantly browse your working repository in gitweb.
pt_BR: Navegue instantaneamente no seu repositório de trabalho com o gitweb.

note: type: Plain text
en: Show three-way merge without touching index.
pt_BR: Exiba as três maneiras de mesclagem sem mexer no índice.

note: type: Plain text
en: Reuse recorded resolution of conflicted merges.
pt_BR: Reutilize uma resolução gravada das mesclagens conflitantes.

note: type: Plain text
en: Show branches and their commits.
pt_BR: Exiba os ramos e seus respectivos commits.

note: type: Plain text
en: Check the GPG signature of commits.
pt_BR: Verifique a assinatura GPG dos commits.

note: type: Plain text
en: Check the GPG signature of tags.
pt_BR: Verifique a assinatura GPG das tags.

note: type: Plain text
en: Show logs with difference each commit introduces.
pt_BR: Exiba os registros logs com a diferença entre a introdução de cada commit.

note: type: Plain text
en: Git web interface (web frontend to Git repositories).
pt_BR: Interface web do Git (frontend web para os repositórios Git).

note: type: Plain text
en: Get and set repository or global options.
pt_BR: Obtém e define os repositórios ou as opções globais.

note: type: Plain text
en: Git data exporter.
pt_BR: Exportador de dados do Git.

note: type: Plain text
en: Backend for fast Git data importers.
pt_BR: Estrutura para os importadores de dados rápidos do Git.

note: type: Plain text
en: Rewrite branches.
pt_BR: Reescreve os ramos.

note: type: Plain text
en: Run merge conflict resolution tools to resolve merge conflicts.
pt_BR: Executa as ferramentas de resolução problemas para resolver os conflitos de mesclagem.

note: type: Plain text
en: Pack heads and tags for efficient repository access.
pt_BR: Empacota os cabeçalhos e as tags para um acesso eficiente ao repositório.

note: type: Plain text
en: Prune all unreachable objects from the object database.
pt_BR: Corta todos os objetos fora de alcance do banco de dados de objetos.

note: type: Plain text
en: Manage reflog information.
pt_BR: Gerencia as informações do reflog.

note: type: Plain text
en: Manage set of tracked repositories.
pt_BR: Gerencia o conjunto de repositórios monitorados.

note: type: Plain text
en: Pack unpacked objects in a repository.
pt_BR: Empacota os objetos não empacotados em um repositório.

note: type: Plain text
en: Create, list, delete refs to replace objects.
pt_BR: Cria, lista e exclui os refs para a reposição dos objetos.

note: type: Plain text
en: Import a GNU Arch repository into Git.
pt_BR: Importa um repositório GNU Arch no Git.

note: type: Plain text
en: Export a single commit to a CVS checkout.
pt_BR: Exporta um único commit para uma averiguação do CVS.

note: type: Plain text
en: Salvage your data out of another SCM people love to hate.
pt_BR: Recupera os seus dados vindos de outros SCM que as pessoas adoram odiar.

note: type: Plain text
en: A CVS server emulator for Git.
pt_BR: Um emulador de um servidor CVS para o Git.

note: type: Plain text
en: Send a collection of patches from stdin to an IMAP folder.
pt_BR: Envia uma coleção de patches da entrada padrão para um diretório IMAP.

note: type: Plain text
en: Import from and submit to Perforce repositories.
pt_BR: Importa de e submete aos repositório Perforce.

note: type: Plain text
en: Applies a quilt patchset onto the current branch.
pt_BR: Aplica um conjunto de patches no ramo atual.

note: type: Plain text
en: Generates a summary of pending changes.
pt_BR: Gera um resumo com as modificações pendentes.

note: type: Plain text
en: Send a collection of patches as emails.
pt_BR: Envia uma coleção de patches como sendo e-mails.

note: type: Plain text
en: Bidirectional operation between a Subversion repository and Git.
pt_BR: Operação bidirecional entre um repositório do Subversion e do Git.

note: type: Plain text
en: Add file contents to the index.
pt_BR: Adiciona o conteúdo dos arquivos ao índice.

note: type: Plain text
en: Apply a series of patches from a mailbox.
pt_BR: Aplica uma série de patches vindos de uma caixa de e-mails.

note: type: Plain text
en: Create an archive of files from a named tree.
pt_BR: Cria um histórico dos arquivos a partir de uma determinada árvore.

note: type: Plain text
en: Use binary search to find the commit that introduced a bug.
pt_BR: Utilize a procura binária para localizar o commit que introduziu um bug.

note: type: Plain text
en: List, create, or delete branches.
pt_BR: Lista, cria ou exclui os ramos.

note: type: Plain text
en: Move objects and refs by archive.
pt_BR: Mova os objetos e as refs através do histórico.

note: type: Plain text
en: Switch branches or restore working tree files.
pt_BR: Mova os ramos ou restaura os arquivos da árvores de trabalho.

note: type: Plain text
en: Apply the changes introduced by some existing commits.
pt_BR: Aplica as mudanças introduzidas por alguns commits já existentes.

note: type: Plain text
en: Graphical alternative to git-commit.
pt_BR: Uma alternativa gráfica ao git-commit.

note: type: Plain text
en: Remove untracked files from the working tree.
pt_BR: Remove os arquivos da árvore de trabalho sem monitoramento.

note: type: Plain text
en: Clone a repository into a new directory.
pt_BR: Clona um repositório em um novo diretório.

note: type: Plain text
en: Record changes to the repository.
pt_BR: Grava as alterações para o repositório.

note: type: Plain text
en: Give an object a human readable name based on an available ref.
pt_BR: Dá a um objeto um nome em um formato legível para humanos com base em um "ref" disponível.

note: type: Plain text
en: Show changes between commits, commit and working tree, etc.
pt_BR: Exiba as alterações entre os commits, o commit, árvore de trabalho, etc.

note: type: Plain text
en: Download objects and refs from another repository.
pt_BR: Faz o download dos objetos e dos refs vindo de outro repositório.

note: type: Plain text
en: Prepare patches for e-mail submission.
pt_BR: Prepara os patches para serem enviados por e-mail.

note: type: Plain text
en: Cleanup unnecessary files and optimize the local repository.
pt_BR: Exclui os arquivos desnecessários e otimiza o repositório local.

note: type: Plain text
en: Print lines matching a pattern.
pt_BR: Imprima as linhas que coincidam com um padrão.

note: type: Plain text
en: A portable graphical interface to Git.
pt_BR: Uma interface gráfica portátil para o Git.

note: type: Plain text
en: Create an empty Git repository or reinitialize an existing one.
pt_BR: Cria um repositório vazio para o Git ou reinicializa um repositório já existente.

note: type: Plain text
en: Show commit logs.
pt_BR: Exibe os registros logs de um commit.

note: type: Plain text
en: Join two or more development histories together.
pt_BR: Une dois ou mais históricos de desenvolvimento juntos.

note: type: Plain text
en: Move or rename a file, a directory, or a symlink.
pt_BR: Move ou renomeia um arquivo, um diretório ou um link simbólico.

note: type: Plain text
en: Add or inspect object notes.
pt_BR: Adiciona ou inspeciona as anotações dos objetos.

note: type: Plain text
en: Fetch from and integrate with another repository or a local branch.
pt_BR: Capture de e o integre com um outro repositório ou em um outro ramo local.

note: type: Plain text
en: Update remote refs along with associated objects.
pt_BR: Atualiza os refs remotos através da associação dos objetos.

note: type: Plain text
en: Compare two commit ranges (e.g. two versions of a branch).
pt_BR: Compara os dois intervalos de um commit (duas versões de um ramo por exemplo).

note: type: Plain text
en: Reapply commits on top of another base tip.
pt_BR: Reaplica os commits no topo do outro cume da base.

note: type: Plain text
en: Reset current HEAD to the specified state.
pt_BR: Redefine o HEAD atual para o para a condição determinada.

note: type: Plain text
en: Restore working tree files.
pt_BR: Restaura as árvores de trabalho.

note: type: Plain text
en: Revert some existing commits.
pt_BR: Reverte alguns commits já existentes.

note: type: Plain text
en: Remove files from the working tree and from the index.
pt_BR: Remove os arquivos da árvore de trabalho e do índice.

note: type: Plain text
en: Summarize 'git log' output.
pt_BR: Faça um resumo da saída do 'git log'.

note: type: Plain text
en: Show various types of objects.
pt_BR: Exiba os vários tipos de objetos.

note: type: Plain text
en: Initialize and modify the sparse-checkout.
pt_BR: Alter e inicialize a averiguação esparsa.

note: type: Plain text
en: Stash the changes in a dirty working directory away.
pt_BR: Armazene as alterações em um diretório fora do diretório de trabalho.

note: type: Plain text
en: Show the working tree status.
pt_BR: Exiba a condição atual da árvore de trabalho.

note: type: Plain text
en: Initialize, update or inspect submodules.
pt_BR: Inicializa, atualiza ou inspeciona submódulos.

note: type: Plain text
en: Switch branches.
pt_BR: Alterna entre os ramos.

note: type: Plain text
en: Create, list, delete or verify a tag object signed with GPG.
pt_BR: Cria, lista, exclui ou verifica uma tag do objeto com assinatura GPG.

note: type: Plain text
en: Manage multiple working trees.
pt_BR: Manipula as diversas árvores de trabalho.

note: type: Plain text
en: The Git repository browser.
pt_BR: O navegador do repositório Git.

note: type: Plain text
en: Provide content or type and size information for repository objects.
pt_BR: Proporciona o conteúdo, o tipo e a informação sobre o tamanho dos objetos no repositório.

note: type: Plain text
en: Find commits yet to be applied to upstream.
pt_BR: Procura os commits que ainda serão aplicados ao "upstream".

note: type: Plain text
en: Compares files in the working tree and the index.
pt_BR: Compara os arquivos na árvore de trabalho e no índice.

note: type: Plain text
en: Compare a tree to the working tree or index.
pt_BR: Compara uma árvore com o diretório de trabalho ou índice.

note: type: Plain text
en: Compares the content and mode of blobs found via two tree objects.
pt_BR: Compara o conteúdo e o modo das bolhas encontrados através de dois objetos da árvore.

note: type: Plain text
en: Output information on each ref.
pt_BR: Informação de saída de cada "ref".

note: type: Plain text
en: Extract commit ID from an archive created using git-archive.
pt_BR: Extrai o ID do commit de um arquivo criado utilizando o 'git-archive'.

note: type: Plain text
en: Show information about files in the index and the working tree.
pt_BR: Exiba a informação sobre os arquivos no índice e na árvore de trabalho.

note: type: Plain text
en: List references in a remote repository.
pt_BR: Lista as referências em um repositório remoto.

note: type: Plain text
en: List the contents of a tree object.
pt_BR: Lista o conteúdo de uma árvore de objetos.

note: type: Plain text
en: Find as good common ancestors as possible for a merge.
pt_BR: Localize os melhores ancestrais possíveis para fazer uma mesclagem.

note: type: Plain text
en: Find symbolic names for given revs.
pt_BR: Localize os nomes simbólicos para os "revs" que foram informados.

note: type: Plain text
en: Find redundant pack files.
pt_BR: Localiza os arquivos "pack" que forem redundantes.

note: type: Plain text
en: Lists commit objects in reverse chronological order.
pt_BR: Lista os objetos de commit em ordem cronológica reversa.

note: type: Plain text
en: Pick out and massage parameters.
pt_BR: Escolha e modele os parâmetros.

note: type: Plain text
en: Show packed archive index.
pt_BR: Exiba o índice do arquivo empacotado.

note: type: Plain text
en: List references in a local repository.
pt_BR: Lista as referências em um repositório local.

note: type: Plain text
en: Creates a temporary file with a blob's contents.
pt_BR: Cria um arquivo temporário com conteúdos bolha.

note: type: Plain text
en: Show a Git logical variable.
pt_BR: Exiba uma variável lógica local para o Git.

note: type: Plain text
en: Validate packed Git archive files.
pt_BR: Valide os arquivos empacotados do Git.

note: type: Plain text
en: Apply a patch to files and/or to the index.
pt_BR: Aplique um patch nos arquivos e/ou ao índice.

note: type: Plain text
en: Copy files from the index to the working tree.
pt_BR: Copie os arquivos do índice para a árvore de trabalho.

note: type: Plain text
en: Write and verify Git commit-graph files.
pt_BR: Escreve e verifica os arquivos `commit-graph` do Git.

note: type: Plain text
en: Create a new commit object.
pt_BR: Cria um novo objeto commit.

note: type: Plain text
en: Compute object ID and optionally creates a blob from a file.
pt_BR: Calcula o ID do objeto e opcionalmente cria uma bolha vinda de um arquivo.

note: type: Plain text
en: Build pack index file for an existing packed archive.
pt_BR: Constrói um pacote índice do arquivo para um arquivo de pacote já existente.

note: type: Plain text
en: Run a three-way file merge.
pt_BR: Execute a mesclagem de um arquivo de três vias.

note: type: Plain text
en: Run a merge for files needing merging.
pt_BR: Execute uma mesclagem para os arquivos que precisam ser mesclados.

note: type: Plain text
en: Creates a tag object.
pt_BR: Cria um objeto tag.

note: type: Plain text
en: Build a tree-object from ls-tree formatted text.
pt_BR: Cria uma árvore-objeto de um texto com formatação `ls-tree`.

note: type: Plain text
en: Write and verify multi-pack-indexes.
pt_BR: Escreve e verifica os diversos índices dos pacotes.

note: type: Plain text
en: Create a packed archive of objects.
pt_BR: Cria um histórico empacotado dos objetos.

note: type: Plain text
en: Remove extra objects that are already in pack files.
pt_BR: Remove os objetos extras que estejam atualmente nos arquivos empacotados.

note: type: Plain text
en: Reads tree information into the index.
pt_BR: Lê a informação da árvore no índice.

note: type: Plain text
en: Read, modify and delete symbolic refs.
pt_BR: Lê, modifica e exclui os refs simbólicos.

note: type: Plain text
en: Unpack objects from a packed archive.
pt_BR: Desempacota os objetos de um arquivo empacotado.

note: type: Plain text
en: Register file contents in the working tree to the index.
pt_BR: Registra o conteúdo de um arquivo na árvore de trabalho para o índice.

note: type: Plain text
en: Update the object name stored in a ref safely.
pt_BR: Atualiza o nome do objeto armazenado em um "ref" de forma segura.

note: type: Plain text
en: Create a tree object from the current index.
pt_BR: Cria um objeto árvore com base no índice atual.

note: type: Plain text
en: Display gitattributes information.
pt_BR: Exiba a informação do `gitattributes`.

note: type: Plain text
en: Debug gitignore / exclude files.
pt_BR: Depure o gitignore / exclua os arquivos.

note: type: Plain text
en: Show canonical names and email addresses of contacts.
pt_BR: Exiba os nomes canônicos e os endereços de e-mail dos contatos.

note: type: Plain text
en: Ensures that a reference name is well formed.
pt_BR: Certifique que um nome de uma referência está bem formado.

note: type: Plain text
en: Display data in columns.
pt_BR: Exiba os dados em colunas.

note: type: Plain text
en: Retrieve and store user credentials.
pt_BR: Obtém e guarda as credenciais dos usuários.

note: type: Plain text
en: Helper to temporarily store passwords in memory.
pt_BR: Auxiliar para armazenar as senhas temporariamente na memória.

note: type: Plain text
en: Helper to store credentials on disk.
pt_BR: Auxiliar para armazenar as credenciais no disco.

note: type: Plain text
en: Produce a merge commit message.
pt_BR: Gera uma mensagem de mesclagem do commit.

note: type: Plain text
en: Add or parse structured information in commit messages.
pt_BR: Adiciona ou analisa as informações estruturadas nas mensagens do commit.

note: type: Plain text
en: Extracts patch and authorship from a single e-mail message.
pt_BR: Extrai a correção e o autor de uma única mensagem de e-mail.

note: type: Plain text
en: Simple UNIX mbox splitter program.
pt_BR: Programa simples para dividir o mbox UNIX.

note: type: Plain text
en: The standard helper program to use with git-merge-index.
pt_BR: O programa assistente predefinido de ajuda para usar com o `git-merge-index`.

note: type: Plain text
en: Compute unique ID for a patch.
pt_BR: Compute um ID único para um patch.

note: type: Plain text
en: Git's i18n setup code for shell scripts.
pt_BR: Código da configuração do i18n do Git para scripts shell.

note: type: Plain text
en: Common Git shell script setup code.
pt_BR: Código da configuração comum do script shell do Git.

note: type: Plain text
en: Remove unnecessary whitespace.
pt_BR: Remove os espaços desnecessários.

note: type: Plain text
en: Download from a remote Git repository via HTTP.
pt_BR: Faz o download de um repositório remoto Git através do HTTP.

note: type: Plain text
en: Push objects over HTTP/DAV to another repository.
pt_BR: Impulsiona (push) os objetos através do HTTP/DAV para um outro repositório.

note: type: Plain text
en: Routines to help parsing remote repository access parameters.
pt_BR: Rotinas para auxiliar na analise dos parâmetros de acesso ao repositório remoto.

note: type: Plain text
en: Receive what is pushed into the repository.
pt_BR: Receba o que é impulsionado ao repositório.

note: type: Plain text
en: Restricted login shell for Git-only SSH access.
pt_BR: Shell de login restrito para acesso somente com o SSH do Git.

note: type: Plain text
en: Send archive back to git-archive.
pt_BR: Envia um arquivo de volta ao `git-archive`.

note: type: Plain text
en: Send objects packed back to git-fetch-pack.
pt_BR: Envia os objetos compactados para o `git-fetch-pack`.

note: type: Plain text
en: A really simple server for Git repositories.
pt_BR: Um servidor realmente simples para os repositórios Git.

note: type: Plain text
en: Receive missing objects from another repository.
pt_BR: Recebe os objetos que faltam de um outro repositório.

note: type: Plain text
en: Server side implementation of Git over HTTP.
pt_BR: Implementação do lado do servidor do Git através do HTTP.

note: type: Plain text
en: Push objects over Git protocol to another repository.
pt_BR: impulsiona os objetos sob o protocolo Git de um outro repositório.

note: type: Plain text
en: Update auxiliary info file to help dumb servers.
pt_BR: Atualiza a informação auxiliar sobre o arquivo para ajudar os servidores burros.

note: type: Title -
en: CONFIGURATION FILE
pt_BR: ARQUIVO DE CONFIGURAÇÃO

note: type: Plain text
en: The Git configuration file contains a number of variables that affect the Git commands' behavior. The files `.git/config` and optionally `config.worktree` (see the "CONFIGURATION FILE" section of linkgit:git-worktree[1]) in each repository are used to store the configuration for that repository, and `$HOME/.gitconfig` is used to store a per-user configuration as fallback values for the `.git/config` file. The file `/etc/gitconfig` can be used to store a system-wide default configuration.
pt_BR: O arquivo de configuração do Git contém várias variáveis que afetam o comportamento dos comandos do Git. Os arquivos `.git/config` e opcionalmente `config.worktree` (consulte a seção "ARQUIVO DE CONFIGURAÇÃO" do linkgit:git-worktree[1]) em cada repositório são utilizados para armazenar a configuração para aquele repositório e o `$HOME/.gitconfig` é utilizado para armazenar uma configuração por usuário como valores alternativos para o arquivo `.git/config`. O arquivo `/etc/gitconfig` pode ser utilizado para armazenar a predefinição de uma configuração em todo o sistema.

note: type: Plain text
en: The configuration variables are used by both the Git plumbing and the porcelains. The variables are divided into sections, wherein the fully qualified variable name of the variable itself is the last dot-separated segment and the section name is everything before the last dot. The variable names are case-insensitive, allow only alphanumeric characters and `-`, and must start with an alphabetic character.  Some variables may appear multiple times; we say then that the variable is multivalued.
pt_BR: As variáveis de configuração são utilizadas pelo encanamento Git e pelas porcelanas. As variáveis são divididas em seções em que o nome completo da variável da variável em si é o último segmento separado por ponto e o nome da seção é tudo que estiver antes do último ponto. Os nomes das variáveis não diferenciam maiúsculas de minúsculas, permitem apenas os caracteres alfanuméricos e `-` que devem começar com um caractere alfabético.  Algumas variáveis podem aparecer várias vezes; dizemos então que a variável possui diversos valores.

note: type: Title ~
en: Syntax
pt_BR: Sintaxe

note: type: Plain text
en: The syntax is fairly flexible and permissive; whitespaces are mostly ignored.  The '#' and ';' characters begin comments to the end of line, blank lines are ignored.
pt_BR: A sintaxe é bastante flexível e permissiva; os espaços são ignorados na maioria das vezes.  Os caracteres '#' e ';' define o começo dos comentários até o final da linha, as linhas em branco são ignoradas.

note: type: Plain text
en: The file consists of sections and variables.  A section begins with the name of the section in square brackets and continues until the next section begins.  Section names are case-insensitive.  Only alphanumeric characters, `-` and `.` are allowed in section names.  Each variable must belong to some section, which means that there must be a section header before the first setting of a variable.
pt_BR: O arquivo consiste em seções e variáveis.  Uma seção começa com o nome da seção entre colchetes e continua até a próxima seção.  Os nomes de seção não diferenciam as maiúsculas das minúsculas.  Apenas os caracteres alfanuméricos, `-` e `.` são permitidos nos nomes das seções.  Cada variável deve pertencer a alguma seção, o que significa que deve haver um cabeçalho da seção antes da primeira configuração de uma variável.

note: type: Plain text
en: Sections can be further divided into subsections.  To begin a subsection put its name in double quotes, separated by space from the section name, in the section header, like in the example below:
pt_BR: As seções podem ser divididas em subseções.  Para iniciar uma subseção, coloque seu nome entre aspas duplas, separado por um espaço do nome da seção, no cabeçalho da seção, como no exemplo abaixo:

note: type: delimited block -
en: 	[section "subsection"]
pt_BR: 	[seção "subseção"]

note: type: Plain text
en: Subsection names are case sensitive and can contain any characters except newline and the null byte. Doublequote `"` and backslash can be included by escaping them as `\"` and `\\`, respectively. Backslashes preceding other characters are dropped when reading; for example, `\t` is read as `t` and `\0` is read as `0` Section headers cannot span multiple lines.  Variables may belong directly to a section or to a given subsection. You can have `[section]` if you have `[section "subsection"]`, but you don't need to.
pt_BR: Os nomes das subseções diferenciam as maiúsculas das minúsculas, podem conter qualquer caractere, exceto os que definem uma nova linha e um byte nulo. As aspas duplas `"` e a barra invertida podem ser incluídas escapando-as como` \"` e `\\` respectivamente. As barras invertidas anteriores aos outros caracteres são descartadas durante a leitura; `\t` é lido como` t` e `\0` é lido como `0` cabeçalhos da seção por exemplo e não podem abranger várias linhas.  As variáveis podem pertencer diretamente a uma seção ou a uma determinada subseção. Você pode ter `[section]` caso tenha `[section "subsection"]`, mas não é necessário.

note: type: Plain text
en: There is also a deprecated `[section.subsection]` syntax. With this syntax, the subsection name is converted to lower-case and is also compared case sensitively. These subsection names follow the same restrictions as section names.
pt_BR: Também existe uma sintaxe obsoleta `[section.subsection]`. Com esta sintaxe o nome da subseção é convertido em minúsculas e também é comparado com distinção entre maiúsculas e minúsculas. Estes nomes de subseções seguem as mesmas restrições que os nomes de seção.

note: type: Plain text
en: All the other lines (and the remainder of the line after the section header) are recognized as setting variables, in the form 'name = value' (or just 'name', which is a short-hand to say that the variable is the boolean "true").  The variable names are case-insensitive, allow only alphanumeric characters and `-`, and must start with an alphabetic character.
pt_BR: Todas as outras linhas (e o restante da linha após o cabeçalho da seção) são reconhecidas como variáveis de configuração, no formato 'name=value' (ou apenas 'name', que é uma abreviação para dizer que a variável é um valor booleano 'true').  Os nomes das variáveis não diferenciam maiúsculas de minúsculas, permitem apenas os caracteres alfanuméricos e `-` que devem começar com um caractere alfabético.

note: type: Plain text
en: A line that defines a value can be continued to the next line by ending it with a `\`; the backquote and the end-of-line are stripped.  Leading whitespaces after 'name =', the remainder of the line after the first comment character '#' or ';', and trailing whitespaces of the line are discarded unless they are enclosed in double quotes.  Internal whitespaces within the value are retained verbatim.
pt_BR: Uma linha que define um valor pode ser continuada para a próxima linha, terminando com um `\`; acento grave e o final da linha são removidos.  São descartados os espaços à esquerda após 'name=', o restante da linha após o primeiro caractere de comentário '#' ou ';' e os espaços à direita da linha a menos que estejam entre aspas duplas.  Internamente os espaços com valores são retidos de forma literal.

note: type: Plain text
en: Inside double quotes, double quote `"` and backslash `\` characters must be escaped: use `\"` for `"` and `\\` for `\`.
pt_BR: Dentro de uma aspa dupla `"` e barra invertida `\` os caracteres podem ser utilizados literalmente: utilize `\"` para `"` e `\\` para `\`.

note: type: Plain text
en: The following escape sequences (beside `\"` and `\\`) are recognized: `\n` for newline character (NL), `\t` for horizontal tabulation (HT, TAB)  and `\b` for backspace (BS).  Other char escape sequences (including octal escape sequences) are invalid.
pt_BR: As seguintes sequências de escape (ao lado de `\"` e `\\`) são reconhecidos: `\n` para caracteres de nova linha (NL), `\t` para tabulação horizontal (HT, TAB)  e `\b` para o backspace (BS).  São validas também as outras sequências de escape de caracteres (incluindo sequências de escape octais).

note: type: Title ~
en: Includes
pt_BR: Inclui

note: type: Plain text
en: The `include` and `includeIf` sections allow you to include config directives from another source. These sections behave identically to each other with the exception that `includeIf` sections may be ignored if their condition does not evaluate to true; see "Conditional includes" below.
pt_BR: As seções `include` e `includeIf` permitem que você inclua diretivas da configuração de outra fonte. Estas seções se comportam de forma idêntica, com exceção das seções `includeIf` que podem ser ignorados se a sua condição não for avaliada como verdadeira; consulte "Inclusão condicional" abaixo.

note: type: Plain text
en: You can include a config file from another by setting the special `include.path` (or `includeIf.*.path`) variable to the name of the file to be included. The variable takes a pathname as its value, and is subject to tilde expansion. These variables can be given multiple times.
pt_BR: Você pode incluir um arquivo da configuração de outro configurando a variável especial `include.path` (ou `includeIf.*.path`) como o nome do arquivo a ser incluído. A variável assume um nome do caminho como seu valor e está sujeita à expansão do til. Estas variáveis podem ser utilizadas várias vezes.

note: type: Plain text
en: The contents of the included file are inserted immediately, as if they had been found at the location of the include directive. If the value of the variable is a relative path, the path is considered to be relative to the configuration file in which the include directive was found.  See below for examples.
pt_BR: O conteúdo do arquivo incluído é inserido imediatamente, como se tivesse sido encontrado no local da diretiva de inclusão. Caso o valor da variável seja um caminho relativo, o caminho será considerado relativo ao arquivo da configuração no qual a diretiva de inclusão foi encontrada.  Veja os exemplos abaixo.

note: type: Title ~
en: Conditional includes
pt_BR: Inclusão condicional

note: type: Plain text
en: You can include a config file from another conditionally by setting a `includeIf.<condition>.path` variable to the name of the file to be included.
pt_BR: Você pode incluir um arquivo da configuração de outro condicionalmente setando uma variável `includeIf.<condição>.path` para o nome do arquivo que será incluído.

note: type: Plain text
en: The condition starts with a keyword followed by a colon and some data whose format and meaning depends on the keyword. Supported keywords are:
pt_BR: A condição começa com uma palavra-chave seguida de dois pontos e alguns dados cujo formato e significado dependem da palavra-chave. As palavras-chave compatíveis são:

note: type: Plain text
en: The data that follows the keyword `gitdir:` is used as a glob pattern. If the location of the .git directory matches the pattern, the include condition is met.
pt_BR: Os dados que seguem a palavra-chave `gitdir:` são utilizados como um padrão de agrupamento. Caso o local do diretório .git coincida com o padrão, a condição de inclusão será atendida.

note: type: Plain text
en: The .git location may be auto-discovered, or come from `$GIT_DIR` environment variable. If the repository is auto discovered via a .git file (e.g. from submodules, or a linked worktree), the .git location would be the final location where the .git directory is, not where the
pt_BR: O local .git pode ser descoberto automaticamente ou vir da variável de ambiente `$GIT_DIR`. Caso o repositório seja descoberto automaticamente por meio de um arquivo .git (de submódulos ou uma árvore de trabalho vinculada por exemplo), o local .git será o local final onde está o diretório .git, e não o diretório

note: type: Block title
en: git file is.
pt_BR: o que o arquivo git seja.

note: type: Plain text
en: The pattern can contain standard globbing wildcards and two additional ones, `**/` and `/**`, that can match multiple path components. Please refer to linkgit:gitignore[5] for details. For convenience:
pt_BR: O padrão pode conter curingas de mascaramento padrão e dois adicionais, `**/` e `/**`, que podem coincidir com diversos componentes do caminho. Para mais detalhes, consulte o linkgit:gitignore[5] para detalhes. Por conveniência:

note: type: Plain text
en: If the pattern starts with `~/`, `~` will be substituted with the content of the environment variable `HOME`.
pt_BR: Caso o padrão comece com `~/`, `~` será substituído com o conteúdo da variável de ambiente `HOME`.

note: type: Plain text
en: If the pattern starts with `./`, it is replaced with the directory containing the current config file.
pt_BR: Caso o padrão comece com `./`, é substituído com o diretório contendo o arquivo da configuração atual.

note: type: Plain text
en: If the pattern does not start with either `~/`, `./` or `/`, `**/` will be automatically prepended. For example, the pattern `foo/bar` becomes `**/foo/bar` and would match `/any/path/to/foo/bar`.
pt_BR: Caso o padrão não comece com com nenhum `~/`, `./` ou `/`, `**/` será anexado automaticamente. O padrão `foo/bar` se torna `**/foo/bar` e coincidirá com `/qualquer/caminho/para/foo/bar` por exemplo.

note: type: Plain text
en: If the pattern ends with `/`, `**` will be automatically added. For example, the pattern `foo/` becomes `foo/**`. In other words, it matches "foo" and everything inside, recursively.
pt_BR: Caso o padrão termine com `/`, `**` será adicionado automaticamente. O padrão `foo/` se torna `foo/**` por exemplo. Em outras palavras, ele combina "foo" e tudo dentro, recursivamente.

note: type: Plain text
en: This is the same as `gitdir` except that matching is done case-insensitively (e.g. on case-insensitive file systems)
pt_BR: É o mesmo que `gitdir` exceto que a coincidência é feita sem distinguir as maiúsculas das minusculas (em sistemas onde seja indiferente o sistema de arquivos não se importa com maiúsculas de minusculas)

note: type: Plain text
en: The data that follows the keyword `onbranch:` is taken to be a pattern with standard globbing wildcards and two additional ones, `**/` and `/**`, that can match multiple path components.  If we are in a worktree where the name of the branch that is currently checked out matches the pattern, the include condition is met.
pt_BR: Os dados que seguem a palavra-chave `onbranch:` são considerados um padrão com caracteres curinga de mascaramento predefinidos e dois adicionais, `**/` e `/**`, que podem coincidir com vários componentes do caminho.  Caso estejamos em uma árvore de trabalho cujo nome do ramo atual com check-out coincida com o padrão, a inclusão condicional será atendida.

note: type: Plain text
en: If the pattern ends with `/`, `**` will be automatically added. For example, the pattern `foo/` becomes `foo/**`. In other words, it matches all branches that begin with `foo/`. This is useful if your branches are organized hierarchically and you would like to apply a configuration to all the branches in that hierarchy.
pt_BR: Caso o padrão termine com `/`, `**` será adicionado automaticamente. O padrão `foo/` se torna `foo/**` por exemplo. Em outras palavras, ele coincide com todos os ramos que começam com `foo/`. Isso é útil pois caso as suas ramificações estejam organizadas hierarquicamente e você queira aplicar uma configuração em todas as ramificações nesta hierarquia.

note: type: Plain text
en: A few more notes on matching via `gitdir` and `gitdir/i`:
pt_BR: Algumas poucas anotações sobre coincidir através de `gitdir` e `gitdir/i`:

note: type: Plain text
en: Symlinks in `$GIT_DIR` are not resolved before matching.
pt_BR: Os "symlinks" (links simbólicos) em `$GIT_DIR` não são resolvidos antes que sejam coincididos.

note: type: Plain text
en: Both the symlink & realpath versions of paths will be matched outside of `$GIT_DIR`. E.g. if ~/git is a symlink to /mnt/storage/git, both `gitdir:~/git` and `gitdir:/mnt/storage/git` will match.
pt_BR: Ambas as versões do "symlink" (links simbólico) e do "realpath" (caminho real) dos caminhos serão coincididos fora do `$GIT_DIR`. Por exemplo, caso `~/git` seja um link simbólico para /mnt/storage/git, ambos os `gitdir:~/git` e `gitdir:/mnt/storage/git` coincidirão.

note: type: Plain text
en: This was not the case in the initial release of this feature in v2.13.0, which only matched the realpath version. Configuration that wants to be compatible with the initial release of this feature needs to either specify only the realpath version, or both versions.
pt_BR: Este não foi o caso no lançamento inicial desse recurso na versão v2.13.0, que coincidia apenas à versão do caminho real. A configuração que queira ser compatível com o lançamento inicial deste recurso precisa definir apenas a versão do caminho real ou das duas versões.

note: type: Plain text
en: Note that "../" is not special and will match literally, which is unlikely what you want.
pt_BR: Note que "../" não é especial e não irá coincidir literalmente, o que não é o que você quer.

note: type: Title ~
en: Example
pt_BR: Exemplo

note: type: delimited block -
en: # Core variables
    [core]
    	; Don't trust file modes
    	filemode = false
pt_BR: # Principais variáveis
    [core]
    	; Não confie nos modos dos arquivos
    	filemode = false

note: type: delimited block -
en: # Our diff algorithm
    [diff]
    	external = /usr/local/bin/diff-wrapper
    	renames = true
pt_BR: # Nosso algoritmo diff
    [diff]
    	external = /usr/local/bin/diff-wrapper
    	renames = true

note: type: delimited block -
en: [branch "devel"]
    	remote = origin
    	merge = refs/heads/devel
pt_BR: [ramo "devel"]
    	remote = origin
    	merge = refs/heads/devel

note: type: delimited block -
en: # Proxy settings
    [core]
    	gitProxy="ssh" for "kernel.org"
    	gitProxy=default-proxy ; for the rest
pt_BR: # Configurações de proxy
    [core]
    	gitProxy="ssh" for "kernel.org"
    	gitProxy=default-proxy ; for the rest

note: type: delimited block -
en: [include]
    	path = /path/to/foo.inc ; include by absolute path
    	path = foo.inc ; find "foo.inc" relative to the current file
    	path = ~/foo.inc ; find "foo.inc" in your `$HOME` directory
pt_BR: [include]
    	path = /path/to/foo.inc ; incluído através de um caminho absoluto
    	path = foo.inc ; find "foo.inc" relativo ao arquivo atual
    	path = ~/foo.inc ; find "foo.inc" no seu diretório `$HOME`

note: type: delimited block -
en: ; include if $GIT_DIR is /path/to/foo/.git
    [includeIf "gitdir:/path/to/foo/.git"]
    	path = /path/to/foo.inc
pt_BR: ; inclua caso $GIT_DIR seja /path/to/foo/.git
    [includeIf "gitdir:/path/to/foo/.git"]
    	path = /path/to/foo.inc

note: type: delimited block -
en: ; include for all repositories inside /path/to/group
    [includeIf "gitdir:/path/to/group/"]
    	path = /path/to/foo.inc
pt_BR: ; inclua em todos os repositórios dentro do /path/to/group
    [includeIf "gitdir:/path/to/group/"]
    	path = /path/to/foo.inc

note: type: delimited block -
en: ; include for all repositories inside $HOME/to/group
    [includeIf "gitdir:~/to/group/"]
    	path = /path/to/foo.inc
pt_BR: ; inclua em todos os repositórios dentro do $HOME/to/group
    [includeIf "gitdir:~/to/group/"]
    	path = /path/to/foo.inc

note: type: delimited block -
en: ; relative paths are always relative to the including
    ; file (if the condition is true); their location is not
    ; affected by the condition
    [includeIf "gitdir:/path/to/group/"]
    	path = foo.inc
pt_BR: ; os caminhos relativos são sempre relativos à inclusão
    ; do arquivo (caso a condição seja verdadeira); a sua localização não é
    ; afetada pela condição
    [includeIf "gitdir:/path/to/group/"]
    	path = foo.inc

note: type: delimited block -
en: ; include only if we are in a worktree where foo-branch is
    ; currently checked out
    [includeIf "onbranch:foo-branch"]
    	path = foo.inc
pt_BR: ; inclua apenas caso estejamos em uma árvore de trabalho
    ; onde "foo-branch" seja verificado
    [includeIf "onbranch:foo-branch"]
    	path = foo.inc

note: type: Title ~
en: Values
pt_BR: Valores

note: type: Plain text
en: Values of many variables are treated as a simple string, but there are variables that take values of specific types and there are rules as to how to spell them.
pt_BR: Os Valores das várias variáveis são tratadas como uma cadeia de caracteres simples, porém existem variáveis que pegam os valores de tipos específicos e existem regras de como soletrá-los.

note: type: Labeled list
en: boolean
pt_BR: booleano

note: type: Plain text
en: When a variable is said to take a boolean value, many synonyms are accepted for 'true' and 'false'; these are all case-insensitive.
pt_BR: Quando uma variável pega um valor booleano, muitos sinônimos são aceitos para 'true' e 'false', estes são todos insensíveis as mudanças de maiúsculas e minusculas.

note: type: Labeled list
en: true
pt_BR: verdadeiro

note: type: Plain text
en: Boolean true literals are `yes`, `on`, `true`,
pt_BR: Os literais booleanos verdadeiros são `yes`, `on`, `true`,

note: type: Plain text
en: and `1`.  Also, a variable defined without `= <value>`
    is taken as true.
pt_BR: e `1`.  Além disso, uma variável definida sem `= <valor>`
    é tida como verdadeira.

note: type: Labeled list
en: false
pt_BR: falso

note: type: Plain text
en: Boolean false literals are `no`, `off`, `false`,
pt_BR: Os falsos literais booleanos são `no`, `off`, `false`,

note: type: Plain text
en: `0` and the empty string.
pt_BR: `0` e uma cadeia de caracteres vazios.

note: type: Plain text
en: When converting a value to its canonical form using the `--type=bool` type specifier, 'git config' will ensure that the output is "true" or "false" (spelled in lowercase).
pt_BR: Quando converter um valor para a sua forma canônica utilizando o `--type=bool`, tipo de especificação 'git config' se assegurará que a saída seja 'true' ou 'false' (em minusculas).

note: type: Labeled list
en: integer
pt_BR: inteiro

note: type: Plain text
en: The value for many variables that specify various sizes can be suffixed with `k`, `M`,... to mean "scale the number by 1024", "by 1024x1024", etc.
pt_BR: O valor das muitas variáveis que determinam os vários tamanhos podem ter como sufixo `k`, `M`,... que significa "escale o número por 1024", "por 1024x1024", etc.

note: type: Plain text
en: The value for a variable that takes a color is a list of colors (at most two, one for foreground and one for background)  and attributes (as many as you want), separated by spaces.
pt_BR: O valor de uma variável que pega uma cor de uma lista de cores (ao menos duas, uma para o primeiro plano e outra para o plano de fundo) e os atributos (quantos queira), separados por espaços.

note: type: Plain text
en: The basic colors accepted are `normal`, `black`, `red`, `green`, `yellow`, `blue`, `magenta`, `cyan` and `white`.  The first color given is the foreground; the second is the background.  All the basic colors except `normal` have a bright variant that can be speficied by prefixing the color with `bright`, like `brightred`.
pt_BR: As cores básicas que são aceitas são `normal` (normal), `black` (preto) , `red` (vermelho) , `green` (verde), `yellow` (amarelo) , `blue` (azul), `magenta` (magenta), `cyan` (ciano) and `white` (branco).  A primeira cor é o primeiro plano; a segunda é o plano de fundo.  Todas as cores básicas exceto `normal` possuem uma variante brilhante que pode ser definida prefixando a cor com `bright`, como `brightred`.

note: type: Plain text
en: Colors may also be given as numbers between 0 and 255; these use ANSI 256-color mode (but note that not all terminals may support this).  If your terminal supports it, you may also specify 24-bit RGB values as hex, like `#ff0ab3`.
pt_BR: As cores também podem ser utilizadas como números entre 0 e 255; estes usam o modo ANSI com 256 cores (note que nem todos os terminais são compatíveis).  Caso o seu terminal seja compatível, você também pode definir os valores RGB de 24 bits como hexadecimais, `#ff0ab3` por exemplo.

note: type: Plain text
en: The accepted attributes are `bold`, `dim`, `ul`, `blink`, `reverse`, `italic`, and `strike` (for crossed-out or "strikethrough" letters).  The position of any attributes with respect to the colors (before, after, or in between), doesn't matter. Specific attributes may be turned off by prefixing them with `no` or `no-` (e.g., `noreverse`, `no-ul`, etc).
pt_BR: Os atributos compatíveis são `bold`, `dim`, `ul`, `blink`, `reverse`, `italic`, e `strike` (para letras cruzadas  ou "rasuradas").  A posição de qualquer atributo em relação às cores (antes, depois ou entre) não importa. Atributos específicos podem ser desativados prefixando-os com `no` ou `no-` (por exemplo `noreverse`, `no-ul`, etc).

note: type: Plain text
en: An empty color string produces no color effect at all. This can be used to avoid coloring specific elements without disabling color entirely.
pt_BR: Uma sequência de cores vazias não produz nenhum efeito de cor. Isso pode ser utilizado para evitar colorir elementos específicos sem desabilitar totalmente a cor.

note: type: Plain text
en: For git's pre-defined color slots, the attributes are meant to be reset at the beginning of each item in the colored output. So setting `color.decorate.branch` to `black` will paint that branch name in a plain `black`, even if the previous thing on the same output line (e.g.  opening parenthesis before the list of branch names in `log --decorate` output) is set to be painted with `bold` or some other attribute.  However, custom log formats may do more complicated and layered coloring, and the negated forms may be useful there.
pt_BR: Para os slots com as cores predefinidas do git, os atributos devem ser redefinidos no início de cada item na saída colorida. Portanto ao definir a variável `color.decorate.branch` como` black` pintará esse nome do ramo como `preto` simples, mesmo se a coisa anterior na mesma linha de saída (abrir parênteses antes da lista dos nomes das ramificações na saída de `log --decorate` por exemplo) é definido para ser pintado com `bold` (negrito) ou algum outro atributo.  No entanto, os formatos dos registros log personalizados podem fazer uma coloração mais complicada e em camadas, as formas negadas podem ser úteis lá.

note: type: Labeled list
en: pathname
pt_BR: caminho do diretório

note: type: Plain text
en: A variable that takes a pathname value can be given a string that begins with "`~/`" or "`~user/`", and the usual tilde expansion happens to such a string: `~/` is expanded to the value of `$HOME`, and `~user/` to the specified user's home directory.
pt_BR: Uma variável que recebe um valor para o nome do caminho pode receber uma cadeia de caracteres que começa com "`~/`" ou "`~user/`", a expansão usual do til acontece com essa cadeia de caracteres: `~/` é expandida para o valor `$HOME`, e `~user/` para o diretório inicial do usuário que foi definido.

note: type: Title ~
en: Variables
pt_BR: Variáveis

note: type: Plain text
en: Note that this list is non-comprehensive and not necessarily complete.  For command-specific variables, you will find a more detailed description in the appropriate manual page.
pt_BR: Observe que esta lista não é abrangente e não está completa.  Para variáveis específicas do comando, você encontrará uma descrição mais detalhada na página apropriada do manual.

note: type: Plain text
en: Other git-related tools may and do use their own variables.  When inventing new variables for use in your own tool, make sure their names do not conflict with those that are used by Git itself and other popular tools, and describe them in your documentation.
pt_BR: Outras ferramentas relacionadas ao `git-related` podem usar as suas próprias variáveis.  Ao inventar novas variáveis para utilização em sua própria ferramenta, certifique-se que os seus respectivos nomes não entram em conflito com os que já são utilizados pelo próprio Git e outras ferramentas populares, e descreva-os em sua documentação.

note: type: Plain text
en: Specify the style in which conflicted hunks are written out to working tree files upon merge.  The default is "merge", which shows a `<<<<<<<` conflict marker, changes made by one side, a `=======` marker, changes made by the other side, and then a `>>>>>>>` marker.  An alternate style, "diff3", adds a `|||||||` marker and the original text before the `=======` marker.
pt_BR: Especifique o estilo no qual os blocos em conflito são gravados nos arquivos da árvore de trabalho durante a mesclagem.  A predefinição é "mesclar", onde exibe um marcador de conflito `<<<<<<<` nas modificações feitas por um lado, o `=======` marca as modificações feita pelo outro lado e então a marca `>>>>>>>`.  Um estilo alternativo, "diff3", adiciona um marcador `|||||||` e o texto original antes do marcador `=======`.

note: type: Plain text
en: If merge is called without any commit argument, merge the upstream branches configured for the current branch by using their last observed values stored in their remote-tracking branches.  The values of the `branch.<current branch>.merge` that name the branches at the remote named by `branch.<current branch>.remote` are consulted, and then they are mapped via `remote.<remote>.fetch` to their corresponding remote-tracking branches, and the tips of these tracking branches are merged.
pt_BR: Se a mesclagem for chamada sem nenhum argumento para o commit, mescle as ramificações "upstream" configuradas para a ramificação atual utilizando os seus últimos valores observados e armazenados nos seus ramos monitorados remotamente.  Os valores do `branch.<ramo atual>.merge` que nomeiam as ramificações remotas, nomeadas através da consulta do `branch.<ramo atual>.remote` e em seguida são mapeadas através de `remote.<remoto>.fetch` para as suas ramificações coincidentes monitoradas remotamente, as pontas destas ramificações monitoradas são mescladas.

note: type: Plain text
en: By default, Git does not create an extra merge commit when merging a commit that is a descendant of the current commit. Instead, the tip of the current branch is fast-forwarded. When set to `false`, this variable tells Git to create an extra merge commit in such a case (equivalent to giving the `--no-ff` option from the command line). When set to `only`, only such fast-forward merges are allowed (equivalent to giving the `--ff-only` option from the command line).
pt_BR: É predefinido que o Git não crie um commit de mesclagem extra ao mesclar um commit que seja descendente do commit atual. Em vez disso, a ponta do ramo atual é avançado rapidamente (fast-forwarded). Essa variável quando definida como `false` diz ao Git para criar um commit de mesclagem extra nesse caso (equivalente a utilizar a opção `--no-ff` na linha de comando). Quando definido como `only`, somente essas mesclagens de avanço rápido são permitidas (equivalente a fornecer a opção` --ff-only` na linha de comando).

note: type: Plain text
en: If true, this is equivalent to the --verify-signatures command line option. See linkgit:git-merge[1] for details.
pt_BR: Se verdadeiro (true), equivale à opção da linha de comando `--verify-signatures`. Para mais detalhes consulte linkgit:git-merge[1].

note: type: Plain text
en: The number of files to consider when performing rename detection during a merge; if not specified, defaults to the value of diff.renameLimit. This setting has no effect if rename detection is turned off.
pt_BR: A quantidade de arquivos que serão considerados ao executar a detecção de renomeação durante uma mesclagem; caso não seja especificado, a predefinição retorna para o valor existente em `diff.renameLimit`. Esta configuração não tem efeito caso a detecção de renomeação esteja desativada.

note: type: Plain text
en: Whether Git detects renames.  If set to "false", rename detection is disabled. If set to "true", basic rename detection is enabled.  Defaults to the value of diff.renames.
pt_BR: Se o Git detecta renomeações.  Se definido como 'false', a detecção da renomeação será desativada. Se definido como 'true', a detecção básica da renomeação será ativada.  A predefinição é o valor existente na opção de configuração `diff.renames`.

note: type: Plain text
en: Whether Git detects directory renames, affecting what happens at merge time to new files added to a directory on one side of history when that directory was renamed on the other side of history.  If merge.directoryRenames is set to "false", directory rename detection is disabled, meaning that such new files will be left behind in the old directory.  If set to "true", directory rename detection is enabled, meaning that such new files will be moved into the new directory.  If set to "conflict", a conflict will be reported for such paths.  If merge.renames is false, merge.directoryRenames is ignored and treated as false.  Defaults to "conflict".
pt_BR: Se o Git detecta a renomeação de um diretório, afeta o que acontece no momento da mesclagem para os novos arquivos que foram adicionados para um diretório em um lado do histórico, quando este diretório foi renomeado do outro lado do histórico.  Caso `merge.directoryRenames` esteja definido como 'false', a detecção da renomeação do diretório será desativada, o que significa que estes novos arquivos serão deixados para trás no diretório antigo.  Caso seja definido como 'true', a detecção da renomeação do diretório será ativada, o que significa que esses novos arquivos serão movidos para o novo diretório.  Caso seja definido como "conflict", um conflito será relatado para tais caminhos.  Caso `merge.renames` seja 'false', a variável `merge.directoryRenames` será ignorada e tratado como 'false'.  A predefinição retorna para "conflict".

note: type: Plain text
en: Tell Git that canonical representation of files in the repository has changed over time (e.g. earlier commits record text files with CRLF line endings, but recent ones use LF line endings).  In such a repository, Git can convert the data recorded in commits to a canonical form before performing a merge to reduce unnecessary conflicts.  For more information, see section "Merging branches with differing checkin/checkout attributes" in linkgit:gitattributes[5].
pt_BR: Diga ao Git que a representação canônica dos arquivos no repositório mudou ao longo do tempo (os commits mais recentes registra os arquivos de texto com terminações de linha tipo CRLF, porém os mais  recentes utilizam terminações de linha tipo LF).  Em repositórios deste tipo o Git pode converter os dados registrados nos commits para um formato canônico antes de realizar uma mesclagem visando reduzir conflitos desnecessários.  Para obter mais informações consulte a seção "Mesclando as ramificações com diferentes atributos de check-in/check-out" em linkgit:gitattributes[5].

note: type: Plain text
en: Whether to print the diffstat between ORIG_HEAD and the merge result at the end of the merge.  True by default.
pt_BR: Se deve imprimir a diferença entre `ORIG_HEAD` e o resultado da mesclagem no final da mesclagem.  A predefinição é `true`.

note: type: Plain text
en: When set to true, automatically create a temporary stash entry before the operation begins, and apply it after the operation ends.  This means that you can run merge on a dirty worktree.  However, use with care: the final stash application after a successful merge might result in non-trivial conflicts.  This option can be overridden by the `--no-autostash` and `--autostash` options of linkgit:git-merge[1].  Defaults to false.
pt_BR: Quando definido como 'true', crie automaticamente uma entrada temporária "stash" antes do início da operação e aplique-a após o término.  Significa que você pode executar a mesclagem em uma árvore de trabalho "dirty" (suja).  No entanto, utilize com cuidado: conflitos não triviais podem acontecer caso a aplicação final do "stash" ocorra após uma mesclagem bem-sucedida.  Esta opção pode ser substituída pelas opções `--no-autostash` e `--autostash` do linkgit:git-merge[1].  A predefinição retorna para o valor `false`.

note: type: Plain text
en: Controls which merge tool is used by linkgit:git-mergetool[1].  The list below shows the valid built-in values.  Any other value is treated as a custom merge tool and requires that a corresponding mergetool.<tool>.cmd variable is defined.
pt_BR: Controla qual a ferramenta de mesclagem é utilizada pelo linkgit:git-mergetool[1].  A lista abaixo exibe os valores predefinidos que são válidos .  Qualquer outro valor é tratado como uma ferramenta de mesclagem personalizada e requer que uma variável `mergetool.<ferramenta>.cmd` correspondente seja definida.

note: type: Plain text
en: Controls which merge tool is used by linkgit:git-mergetool[1] when the -g/--gui flag is specified. The list below shows the valid built-in values.  Any other value is treated as a custom merge tool and requires that a corresponding mergetool.<guitool>.cmd variable is defined.
pt_BR: Controla qual a ferramenta de mesclagem é utilizada pelo linkgit:git-mergetool[1] quando a opção `-g/--gui` for utilizada. A lista abaixo exibe os valores predefinidos que são válidos .  Qualquer outro valor é tratado como uma ferramenta de mesclagem personalizada e requer que uma variável `mergetool.<guitool>.cmd` correspondente seja definida.

note: type: Plain text
en: Controls the amount of output shown by the recursive merge strategy.  Level 0 outputs nothing except a final error message if conflicts were detected. Level 1 outputs only conflicts, 2 outputs conflicts and file changes.  Level 5 and above outputs debugging information.  The default is level 2.  Can be overridden by the `GIT_MERGE_VERBOSITY` environment variable.
pt_BR: Controla a quantidade de saída exibida pela estratégia de mesclagem recursiva.  O level 0 não envia nada, exceto uma mensagem final de erro, caso conflitos sejam detectados. O level 1 gera apenas os conflitos na saída, o 2 gera conflitos e alterações nos arquivos.  O level 5 e acima gera informações de depuração.  2 é o valor predefinido.  Pode ser substituído pela variável de ambiente `GIT_MERGE_VERBOSITY`.

note: type: Plain text
en: Defines a human-readable name for a custom low-level merge driver.  See linkgit:gitattributes[5] for details.
pt_BR: Define um nome legível para o controle de mesclagem personalizado de baixo nível.  Para mais detalhes consulte linkgit:gitattributes[5].

note: type: Plain text
en: Defines the command that implements a custom low-level merge driver.  See linkgit:gitattributes[5] for details.
pt_BR: Define o comando que irá implementar o controle de mesclagem personalizado de baixo nível.  Para mais detalhes consulte linkgit:gitattributes[5].

note: type: Plain text
en: Names a low-level merge driver to be used when performing an internal merge between common ancestors.  See linkgit:gitattributes[5] for details.
pt_BR: Nomeia um controle de mesclagem de baixo nível que será utilizado durante a execução de uma mesclagem dos ancestrais em comum.  Para mais detalhes consulte linkgit:gitattributes[5].

note: type: Plain text
en: In addition to branch names, populate the log message with the branch description text associated with them.  Defaults to false.
pt_BR: Além dos nomes das ramificações, preencha a mensagem do registro log com as descrições em formato texto associadas com ela.  A predefinição retorna para o valor `false`.

note: type: Plain text
en: In addition to branch names, populate the log message with at most the specified number of one-line descriptions from the actual commits that are being merged.  Defaults to false, and true is a synonym for 20.
pt_BR: Além dos nomes das ramificações, preencha o registro log com a mensagem com pelo menos a quantidade máxima especificada nas descrições de uma linha a partir dos commits reais que estão sendo mesclados.  A predefinição retorna para o valor 'false' ou 'true' caso um sinônimo seja 20.

note: type: Title -
en: DATE FORMATS
pt_BR: OS FORMATOS DA DATA

note: type: Plain text
en: The `GIT_AUTHOR_DATE`, `GIT_COMMITTER_DATE` environment variables
pt_BR: As variáveis de ambiente `GIT_AUTHOR_DATE`, `GIT_COMMITTER_DATE`

note: type: Plain text
en: and the `--date` option
pt_BR: e a opção `--date`

note: type: Plain text
en: support the following date formats:
pt_BR: são compatíveis com os seguintes formatos de data:

note: type: Labeled list
en: Git internal format
pt_BR: Formato interno do Git

note: type: Plain text
en: It is `<unix timestamp> <time zone offset>`, where `<unix timestamp>` is the number of seconds since the UNIX epoch.  `<time zone offset>` is a positive or negative offset from UTC.  For example CET (which is 1 hour ahead of UTC) is `+0100`.
pt_BR: É `<unix timestamp> <time zone offset>`, onde desde a época do UNIX `<unix timestamp>` é o valor em segundos.  O `<time zone offset>` é o desvio positivo ou negativo com bate no UTC.  O CET por exemplo (onde é 1 hora à frente do UTC ) é `+0100`.

note: type: Plain text
en: The standard email format as described by RFC 2822, for example `Thu, 07 Apr 2005 22:13:13 +0200`.
pt_BR: O formato de e-mail padrão, conforme descrito pela RFC 2822, por exemplo, `Thu, 07 Apr 2005 22:13:13 +0200`.

note: type: Plain text
en: Time and date specified by the ISO 8601 standard, for example `2005-04-07T22:13:13`. The parser accepts a space instead of the `T` character as well. Fractional parts of a second will be ignored, for example `2005-04-07T22:13:13.019` will be treated as `2005-04-07T22:13:13`.
pt_BR: A data e hora definidas pela norma ISO 8601 `2005-04-07T22:13:13` por exemplo. O analisador também aceita um espaço em vez do caractere `T`. O analisador aceita um espaço em vez do caractere `T` também. As partes fracionadas de um segundo serão ignoradas, logo `2005-04-07T22:13:13.019` por exemplo, será tratada como `2005-04-07T22:13:13`.

note: type: Plain text
en: In addition, the date part is accepted in the following formats: `YYYY.MM.DD`, `MM/DD/YYYY` and `DD.MM.YYYY`.
pt_BR: Além disso, a parte da data é aceita nos seguintes formatos: `YYYY.MM.DD`, `MM/DD/YYYY` e `DD.MM.YYYY`.

note: type: Title -
en: Raw output format
pt_BR: Gerando o formato bruto

note: type: Plain text
en: The raw output format from "git-diff-index", "git-diff-tree", "git-diff-files" and "git diff --raw" are very similar.
pt_BR: O formato bruto gerado com os comandos "git-diff-index", "git-diff-tree", "git-diff-files" e "git diff --raw" são muito parecidos.

note: type: Plain text
en: These commands all compare two sets of things; what is compared differs:
pt_BR: Todos estes comandos comparam dois conjuntos de coisas; o que é comparado difere de:

note: type: Plain text
en: compares the <tree-ish> and the files on the filesystem.
pt_BR: compara o <tree-ish> e os arquivos no sistema de arquivos.

note: type: Plain text
en: compares the <tree-ish> and the index.
pt_BR: compara o <tree-ish> e o índice.

note: type: Labeled list
en: git-diff-tree [-r] <tree-ish-1> <tree-ish-2> [<pattern>...]
pt_BR: git-diff-tree [-r] <tree-ish-1> <tree-ish-2> [<padrão>...]

note: type: Plain text
en: compares the trees named by the two arguments.
pt_BR: compara as árvores citadas pelos dois argumentos.

note: type: Labeled list
en: git-diff-files [<pattern>...]
pt_BR: git-diff-files [<padrão>...]

note: type: Plain text
en: compares the index and the files on the filesystem.
pt_BR: compara o índice e os arquivos no sistema de arquivos.

note: type: Plain text
en: The "git-diff-tree" command begins its output by printing the hash of what is being compared. After that, all the commands print one output line per changed file.
pt_BR: O comando "git-diff-tree" inicia a sua saída imprimindo o hash do que está sendo comparado. Depois disso, todos os comandos imprimem uma linha na saída por arquivo modificado.

note: type: Plain text
en: An output line is formatted this way:
pt_BR: A linha na saída é formatada da seguinte maneira:

note: type: delimited block -
en: in-place edit  :100644 100644 bcd1234 0123456 M file0
    copy-edit      :100644 100644 abcd123 1234567 C68 file1 file2
    rename-edit    :100644 100644 abcd123 1234567 R86 file1 file3
    create         :000000 100644 0000000 1234567 A file4
    delete         :100644 000000 1234567 0000000 D file5
    unmerged       :000000 000000 0000000 0000000 U file6
pt_BR: edição no local  :100644 100644 bcd1234 0123456 M   arquivo0
    copiar editar    :100644 100644 abcd123 1234567 C68 arquivo1 arquivo2
    renomear editar  :100644 100644 abcd123 1234567 R86 arquivo1 arquivo3
    criar            :000000 100644 0000000 1234567 A   arquivo4
    excluir          :100644 000000 1234567 0000000 D   arquivo5
    não mesclado     :000000 000000 0000000 0000000 U   arquivo6

note: type: Plain text
en: That is, from the left to the right:
pt_BR: Ou seja, da esquerda para a direita:

note: type: Plain text
en: a colon.
pt_BR: dois pontos.

note: type: Plain text
en: mode for "src"; 000000 if creation or unmerged.
pt_BR: Um modo para "src"; 000000 caso seja criado ou não mesclado.

note: type: Plain text
en: a space.
pt_BR: um espaço.

note: type: Plain text
en: mode for "dst"; 000000 if deletion or unmerged.
pt_BR: O modo para "dst"; 000000 caso seja excluído ou não mesclado.

note: type: Plain text
en: sha1 for "src"; 0\{40\} if creation or unmerged.
pt_BR: sha1 para "src"; 0\{40\} caso seja criado ou não mesclado.

note: type: Plain text
en: sha1 for "dst"; 0\{40\} if creation, unmerged or "look at work tree".
pt_BR: sha1 para "dst"; 0\{40\} caso seja criado, não mesclado ou "consultar a árvore de trabalho".

note: type: Plain text
en: status, followed by optional "score" number.
pt_BR: status, seguido pelo número "score" opcional.

note: type: Plain text
en: a tab or a NUL when `-z` option is used.
pt_BR: uma aba ou um NUL quando a opção `-z` é utilizada.

note: type: Plain text
en: path for "src"
pt_BR: path para "src"

note: type: Plain text
en: a tab or a NUL when `-z` option is used; only exists for C or R.
pt_BR: uma aba ou um NUL quando a opção `-z` é utilizada; existe apenas para C ou R.

note: type: Plain text
en: path for "dst"; only exists for C or R.
pt_BR: path para "dst"; existe apenas para C ou R.

note: type: Plain text
en: an LF or a NUL when `-z` option is used, to terminate the record.
pt_BR: um LF ou um NUL quando a opção `-z` é utilizada para finalizar o registro.

note: type: Plain text
en: Possible status letters are:
pt_BR: As possíveis letras que exibem a condição são:

note: type: Plain text
en: A: addition of a file
pt_BR: A: a adição de um arquivo

note: type: Plain text
en: C: copy of a file into a new one
pt_BR: C: a cópia de um arquivo para um novo

note: type: Plain text
en: D: deletion of a file
pt_BR: D: a exclusão de um arquivo

note: type: Plain text
en: M: modification of the contents or mode of a file
pt_BR: M: a modificação do conteúdo ou do modo de um arquivo

note: type: Plain text
en: R: renaming of a file
pt_BR: R: uma renomeação de um arquivo

note: type: Plain text
en: T: change in the type of the file
pt_BR: T: altera o tipo do arquivo

note: type: Plain text
en: U: file is unmerged (you must complete the merge before it can be committed)
pt_BR: U: o arquivo está sem mesclagem (você deve concluir a mesclagem antes que o commit possa ser feito)

note: type: Plain text
en: X: "unknown" change type (most probably a bug, please report it)
pt_BR: X: um tipo de alteração "desconhecida" (provavelmente um bug, por favor denuncie)

note: type: Plain text
en: Status letters C and R are always followed by a score (denoting the percentage of similarity between the source and target of the move or copy).  Status letter M may be followed by a score (denoting the percentage of dissimilarity) for file rewrites.
pt_BR: As letras de condição C e R sempre são seguidas por uma pontuação (indicando a porcentagem da semelhança entre a origem e o destino da movimentação ou da cópia).  A letra de condição M pode ser seguida por uma pontuação (denotando a porcentagem de dissimilaridade) para reescrever os arquivos.

note: type: Plain text
en: <sha1> is shown as all 0's if a file is new on the filesystem and it is out of sync with the index.
pt_BR: O <sha1> é exibido zerado caso um arquivo seja novo no sistema de arquivos e esteja fora de sincronia com o índice.

note: type: Labeled list
en: Example:
pt_BR: Exemplo:

note: type: Plain text
en: Without the `-z` option, pathnames with "unusual" characters are quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]).  Using `-z` the filename is output verbatim and the line is terminated by a NUL byte.
pt_BR: Sem a opção `z`, os `pathnames` com os caracteres "incomuns" são citados conforme explicado na variável de configuração `core.quotePath` (consulte linkgit:git-config[1]).  Utilizando a opção `-z`, o nome do arquivo é gerado literalmente e a linha é finalizada com um byte `NUL`.

note: type: Title -
en: diff format for merges
pt_BR: O formato diff para as mesclagens

note: type: Plain text
en: "git-diff-tree", "git-diff-files" and "git-diff --raw" can take `-c` or `--cc` option to generate diff output also for merge commits.  The output differs from the format described above in the following way:
pt_BR: Os comandos "git-diff-tree", "git-diff-files" e "git-diff --raw" podem utilizar as opções `-c` ou `--cc` para também gerar uma saída "diff" com os commits mesclados.  A saída difere do formato descrito acima da seguinte maneira:

note: type: Plain text
en: there is a colon for each parent
pt_BR: há dois pontos para cada origem

note: type: Plain text
en: there are more "src" modes and "src" sha1
pt_BR: existem mais modos "src" e "src" sha1

note: type: Plain text
en: status is concatenated status characters for each parent
pt_BR: a condição é concatenada como uma condição dos caracteres para cada origem

note: type: Plain text
en: no optional "score" number
pt_BR: sem um número "score" opcional

note: type: Plain text
en: tab-separated pathname(s) of the file
pt_BR: os caminho(s) separado(s) por tabulações do arquivo

note: type: Plain text
en: For `-c` and `--cc`, only the destination or final path is shown even if the file was renamed on any side of history.  With `--combined-all-paths`, the name of the path in each parent is shown followed by the name of the path in the merge commit.
pt_BR: Para as opções `-c` e `--cc` apenas o destino ou o caminho final é exibido ainda que o arquivo tenha sido renomeado em qualquer parte do histórico.  Com a opção `--combined-all-paths`, o nome do caminho em cada origem é exibido seguido pelo nome do caminho durante a mesclagem do commit.

note: type: Plain text
en: Examples for `-c` and `--cc` without `--combined-all-paths`:
pt_BR: Exemplos para as opções `-c` e `--cc` sem utilizar a opção `--combined-all-paths`:

note: type: Plain text
en: Examples when `--combined-all-paths` added to either `-c` or `--cc`:
pt_BR: Exemplos quando a opção `--combined-all-paths` é adicionado entre `-c` ou `--cc`:

note: type: Plain text
en: Note that 'combined diff' lists only files which were modified from all parents.
pt_BR: Note que o 'diff combinado' lista apenas os arquivos que foram alterados em todas as origems.

note: type: Title -
en: other diff formats
pt_BR: Outros formatos diff

note: type: Plain text
en: The `--summary` option describes newly added, deleted, renamed and copied files.  The `--stat` option adds diffstat(1) graph to the output.  These options can be combined with other options, such as `-p`, and are meant for human consumption.
pt_BR: A opção `--summary` descreve os arquivos adicionados, excluídos, renomeados e copiados recentemente.  A opção `--stat` adiciona o grafo diffstat(1) à saída.  Estas opções podem ser combinadas com outras opções como `-p`, que são legíveis para nós.

note: type: Plain text
en: When showing a change that involves a rename or a copy, `--stat` output formats the pathnames compactly by combining common prefix and suffix of the pathnames.  For example, a change that moves `arch/i386/Makefile` to `arch/x86/Makefile` while modifying 4 lines will be shown like this:
pt_BR: Ao exibir uma alteração que envolva uma renomeação ou uma cópia, a saída do comando `--stat` formata os nomes do caminho de forma compacta combinando o prefixo e sufixo comum aos nomes do caminho.  Uma alteração que mova `arch/i386/Makefile` para `arch/x86/Makefile` enquanto modifica as 4 linhas será exibido assim:

note: type: Plain text
en: The `--numstat` option gives the diffstat(1) information but is designed for easier machine consumption.  An entry in `--numstat` output looks like this:
pt_BR: A opção `--numstat` fornece as informações diffstat(1), foi projetada para facilitar o consumo da máquina.  Uma entrada na saída `--numstat` fica assim:

note: type: Plain text
en: That is, from left to right:
pt_BR: Ou seja, da esquerda para a direita:

note: type: Plain text
en: the number of added lines;
pt_BR: a quantidade das linhas que foram adicionadas;

note: type: Plain text
en: a tab;
pt_BR: um separador;

note: type: Plain text
en: the number of deleted lines;
pt_BR: a quantidade de linhas que foram excluídas;

note: type: Plain text
en: pathname (possibly with rename/copy information);
pt_BR: nome do caminho (possivelmente com informações para renomear ou copiar);

note: type: Plain text
en: a newline.
pt_BR: uma nova linha.

note: type: Plain text
en: When `-z` output option is in effect, the output is formatted this way:
pt_BR: Quando a opção de saída `-z` está em vigor, a saída é formatada desta maneira:

note: type: Plain text
en: That is:
pt_BR: Isso é:

note: type: Plain text
en: a NUL (only exists if renamed/copied);
pt_BR: um NUL (apenas existe caso seja renomeado ou copiado);

note: type: Plain text
en: pathname in preimage;
pt_BR: nome do caminho na pré-imagem;

note: type: Plain text
en: pathname in postimage (only exists if renamed/copied);
pt_BR: nome do caminho na pós-imagem (só existe se for renomeado ou copiado);

note: type: Plain text
en: a NUL.
pt_BR: um NUL.

note: type: Plain text
en: The extra `NUL` before the preimage path in renamed case is to allow scripts that read the output to tell if the current record being read is a single-path record or a rename/copy record without reading ahead.  After reading added and deleted lines, reading up to `NUL` would yield the pathname, but if that is `NUL`, the record will show two paths.
pt_BR: O `NUL` extra antes do caminho da pré-imagem é renomeado para permitir que os scripts que leem a saída digam se o registro atual que está sendo lido é um registro do caminho único ou um nome para a renomeação ou cópia sem fazer a leitura adiante.  Depois de ler as linhas adicionadas e excluídas, a leitura até o `NUL` produziria o nome do caminho, mas caso seja um `NUL`, o registro exibirá dois caminhos.

note: type: Title -
en: Generating patch text with -p
pt_BR: Gerando a correção em um formato texto com a opção `-p`

note: type: Plain text
en: Running linkgit:git-diff[1], linkgit:git-log[1], linkgit:git-show[1], linkgit:git-diff-index[1], linkgit:git-diff-tree[1], or linkgit:git-diff-files[1] with the `-p` option produces patch text.  You can customize the creation of patch text via the `GIT_EXTERNAL_DIFF` and the `GIT_DIFF_OPTS` environment variables.
pt_BR: Executando linkgit:git-diff[1], linkgit:git-log[1], linkgit:git-show[1], linkgit:git-diff-index[1], linkgit:git-diff-tree[1], ou linkgit:git-diff-files[1] com a opção `-p` produz um patch em formato texto.  É possível personalizar a criação do patch em um formato texto através das variáveis de ambiente `GIT_EXTERNAL_DIFF` e `GIT_DIFF_OPTS`.

note: type: Plain text
en: What the -p option produces is slightly different from the traditional diff format:
pt_BR: O que a opção `-p` produz é um pouco diferente do formato diff tradicional:

note: type: Plain text
en: It is preceded with a "git diff" header that looks like this:
pt_BR: Ele é precedido por um cabeçalho "git diff" que se parece com:

note: type: Plain text
en: diff --git a/file1 b/file2
pt_BR: diff --git a/arquivo1 b/arquivo2

note: type: Plain text
en: The `a/` and `b/` filenames are the same unless rename/copy is involved.  Especially, even for a creation or a deletion, `/dev/null` is _not_ used in place of the `a/` or `b/` filenames.
pt_BR: Os nomes dos arquivos `a/` e `b/` são os mesmos a menos que haja uma renomeação ou cópia.  Especialmente para uma criação ou exclusão, `/dev/null` _não_ é utilizado no lugar dos nomes do arquivo `a/` ou `b/`.

note: type: Plain text
en: When rename/copy is involved, `file1` and `file2` show the name of the source file of the rename/copy and the name of the file that rename/copy produces, respectively.
pt_BR: Quando há um envolvimento no processo de renomear ou copiar, `arquivo1` e `arquivo2` exibem o nome do arquivo de origem da renomeação ou cópia e o nome do arquivo produzido pela renomeação ou copia respectivamente.

note: type: Plain text
en: It is followed by one or more extended header lines:
pt_BR: É seguido por uma ou mais linhas estendidas do cabeçalho:

note: type: Plain text
en: old mode <mode>
    new mode <mode>
    deleted file mode <mode>
    new file mode <mode>
    copy from <path>
    copy to <path>
    rename from <path>
    rename to <path>
    similarity index <number>
    dissimilarity index <number>
    index <hash>..<hash> <mode>
pt_BR: modo antigo               <modo>
    modo novo                 <modo>
    modo de arquivo excluído  <modo>
    novo modo de arquivo      <modo>
    copiar de                 <caminho>
    copiar para               <caminho>
    renomear de               <caminho>
    renomear para             <caminho>
    índice de similaridade    <quantidade>
    índice de dissimilaridade <quantidade>
    índice                    <hash>..<hash> <modo>

note: type: Plain text
en: File modes are printed as 6-digit octal numbers including the file type and file permission bits.
pt_BR: Os modos dos arquivo são impressos como números octais com 6 dígitos, incluindo o tipo do arquivo e dos bits de permissão do arquivo.

note: type: Plain text
en: Path names in extended headers do not include the `a/` and `b/` prefixes.
pt_BR: Os nomes do caminho nos cabeçalhos estendidos não incluem os prefixos `a/` e `b/`.

note: type: Plain text
en: The similarity index is the percentage of unchanged lines, and the dissimilarity index is the percentage of changed lines.  It is a rounded down integer, followed by a percent sign.  The similarity index value of 100% is thus reserved for two equal files, while 100% dissimilarity means that no line from the old file made it into the new one.
pt_BR: O índice de similaridade é a porcentagem das linhas inalteradas e o índice de dissimilaridade é a porcentagem das linhas alteradas.  É um número inteiro arredondado, seguido por um sinal de porcentagem.  O valor do índice de similaridade de 100% é reservado para dois arquivos iguais, enquanto a dissimilaridade de 100% significa que nenhuma linha do arquivo antigo chegou ao novo.

note: type: Plain text
en: The index line includes the blob object names before and after the change.  The <mode> is included if the file mode does not change; otherwise, separate lines indicate the old and the new mode.
pt_BR: A linha do índice inclui os nomes dos objetos bolha antes e depois da alteração.  O `<modo>` será incluído caso o modo do arquivo não seja alterado; caso contrário, linhas separadas indicam o modo antigo e o novo.

note: type: Plain text
en: Pathnames with "unusual" characters are quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]).
pt_BR: Os nomes dos caminhos com caracteres "incomuns" são citados como já explicado na variável de configuração `core.quotePath` (consulte linkgit:git-config[1]).

note: type: Plain text
en: All the `file1` files in the output refer to files before the commit, and all the `file2` files refer to files after the commit.  It is incorrect to apply each change to each file sequentially.  For example, this patch will swap a and b:
pt_BR: Todos os arquivos `arquivo1` na saída se referem aos arquivos antes do commit e todos os arquivos `arquivo2` se referem aos arquivos após o commit.  É incorreto aplicar cada alteração em cada arquivo sequencialmente.  Por exemplo, este patch irá substituir a e b:

note: type: Plain text
en: diff --git a/a b/b
    rename from a
    rename to b
    diff --git a/b b/a
    rename from b
    rename to a
pt_BR: diff --git a/a b/b
    renomeie a partir de a
    renomeie para b
    diff --git a/b b/a
    renomeie a partir do b
    renomeie para a

note: type: Title -
en: Combined diff format
pt_BR: O formato diff combinado

note: type: Plain text
en: Any diff-generating command can take the `-c` or `--cc` option to produce a 'combined diff' when showing a merge. This is the default format when showing merges with linkgit:git-diff[1] or linkgit:git-show[1]. Note also that you can give the `-m` option to any of these commands to force generation of diffs with individual parents of a merge.
pt_BR: Qualquer comando que gere um diff pode utilizar a opção `-c` ou `--cc` para produzir um 'diff combinado' ao exibir uma mesclagem. Este é o formato predefinido durante a exibição das mesclagens com linkgit:git-diff[1] or linkgit:git-show[1]. Observe também que é possível utilizar a opção `-m` com qualquer um destes comandos para impor a geração dos diffs com as origens individuais de uma mesclagem.

note: type: Plain text
en: A "combined diff" format looks like this:
pt_BR: Um formato "diff combinado" fica assim:

note: type: Plain text
en: It is preceded with a "git diff" header, that looks like this (when the `-c` option is used):
pt_BR: Ele é precedido por um cabeçalho "git diff" parecido com este (quando a opção `-c` é utilizada):

note: type: Plain text
en: diff --combined file
pt_BR: diff --combined arquivo

note: type: Plain text
en: or like this (when the `--cc` option is used):
pt_BR: ou assim (quando a opção `--cc` é utilizada):

note: type: Plain text
en:        diff --cc file
pt_BR:        diff --cc arquivo

note: type: Plain text
en: It is followed by one or more extended header lines (this example shows a merge with two parents):
pt_BR: Ele é seguido por uma ou mais linhas estendidas do cabeçalho (este exemplo exibe uma mesclagem com duas origens):

note: type: Plain text
en: index <hash>,<hash>..<hash>
    mode <mode>,<mode>..<mode>
    new file mode <mode>
    deleted file mode <mode>,<mode>
pt_BR: índice <hash>,<hash>..<hash>
    modo <modo>,<modo>..<modo>
    modo novo arquivo <modo>
    modo arquivo excluído <modo>,<modo>

note: type: Plain text
en: The `mode <mode>,<mode>..<mode>` line appears only if at least one of the <mode> is different from the rest. Extended headers with information about detected contents movement (renames and copying detection) are designed to work with diff of two <tree-ish> and are not used by combined diff format.
pt_BR: A linha `modo <modo>,<modo>..<modo>` aparece apenas caso pelo menos um dos <modos> seja diferente do restante. Os cabeçalhos estendidos com informações sobre a movimentação do conteúdo detectado (renomeação e detecção da cópia) são projetados para trabalhar com o diff com dois `<tree-ish>` e não são utilizados pelo formato diff combinado.

note: type: Plain text
en: It is followed by two-line from-file/to-file header
pt_BR: É seguido por duas linhas do cabeçalho do arquivo/para o arquivo

note: type: Plain text
en: a/file
pt_BR: a/arquivo

note: type: Plain text
en: b/file
pt_BR: b/arquivo

note: type: Plain text
en: Similar to two-line header for traditional 'unified' diff format, `/dev/null` is used to signal created or deleted files.
pt_BR: Semelhante ao cabeçalho de duas linhas para o formato diff tradicional 'unificado', o `/dev/null` é utilizado para sinalizar os arquivos criados ou excluídos.

note: type: Plain text
en: However, if the --combined-all-paths option is provided, instead of a two-line from-file/to-file you get a N+1 line from-file/to-file header, where N is the number of parents in the merge commit
pt_BR: No entanto, caso a opção `--combined-all-paths` seja utilizada, em vez de duas linhas do arquivo/para o arquivo, será obtido um cabeçalho `N+1` do cabeçalho do arquivo de "origem" para o arquivo de "destino" onde N é a quantidade de origens na mesclagem do commit

note: type: Plain text
en: This extended format can be useful if rename or copy detection is active, to allow you to see the original name of the file in different parents.
pt_BR: Este formato estendido pode ser útil caso a detecção da renomeação ou cópia esteja ativa, permitindo que você veja o nome original do arquivo em diferentes origens.

note: type: Plain text
en: Chunk header format is modified to prevent people from accidentally feeding it to `patch -p1`. Combined diff format was created for review of merge commit changes, and was not meant to be applied. The change is similar to the change in the extended 'index' header:
pt_BR: O formato do cabeçalho do pedaço é modificado para prevenir que as pessoas o alimentem acidentalmente com `patch -p1`. O formato diff combinado foi criado para revisar as alterações da mesclagem dos commits e não era para ser aplicado. A alteração é semelhante a alteração no cabeçalho estendido do 'índice':

note: type: Plain text
en: There are (number of parents + 1) `@` characters in the chunk header for combined diff format.
pt_BR: Existem (a quantidade de origens + 1) caracteres `@` no cabeçalho do bloco para o formato diff combinado.

note: type: Plain text
en: Unlike the traditional 'unified' diff format, which shows two files A and B with a single column that has `-` (minus -- appears in A but removed in B), `+` (plus -- missing in A but added to B), or `" "` (space -- unchanged) prefix, this format compares two or more files file1, file2,... with one file X, and shows how X differs from each of fileN.  One column for each of fileN is prepended to the output line to note how X's line is different from it.
pt_BR: Diferente do formato diff 'unificado' tradicional que exiba os dois arquivos A e B com uma única coluna que possua o sinal de menos `-` (o sinal de menos -- aparece em A mas é removido em B), `+` (o sinal de mais -- ausente em A, mas adicionado em B), ou o prefixo `" "` (sem alteração -- de espaço), este formato compara dois ou mais arquivos arquivo1, arquivo2, ... com um arquivo X e exibe como X difere de cada arquivoN.  Uma coluna para cada arquivoN é anexada à linha de saída para observar como a linha de X é diferente dela.

note: type: Plain text
en: A `-` character in the column N means that the line appears in fileN but it does not appear in the result.  A `+` character in the column N means that the line appears in the result, and fileN does not have that line (in other words, the line was added, from the point of view of that parent).
pt_BR: Um caractere `-` na coluna N significa que a linha aparece no "arquivoN", mas não aparece no resultado.  Um caractere `+` na coluna N significa que a linha aparece no resultado e o arquivoN não possui essa linha (em outras palavras, a linha foi adicionada, do ponto de vista dessa origem).

note: type: Plain text
en: In the above example output, the function signature was changed from both files (hence two `-` removals from both file1 and file2, plus `++` to mean one line that was added does not appear in either file1 or file2).  Also eight other lines are the same from file1 but do not appear in file2 (hence prefixed with `+`).
pt_BR: Na saída do exemplo acima, a assinatura da função foi alterada nos dois arquivos (portanto, duas remoções `-` do arquivo1 e do arquivo2, mais `++` significa que uma linha que foi adicionada não aparece no arquivo1 ou no arquivo2).  Outras oito linhas também são iguais no arquivo1, mas não aparecem no arquivo2 (portanto, prefixadas com `+`).

note: type: Plain text
en: When shown by `git diff-tree -c`, it compares the parents of a merge commit with the merge result (i.e. file1..fileN are the parents).  When shown by `git diff-files -c`, it compares the two unresolved merge parents with the working tree file (i.e. file1 is stage 2 aka "our version", file2 is stage 3 aka "their version").
pt_BR: Quando exibido pelo comando `git diff-tree -c`, compara as origens de um commit mesclado com o resultado da mesclagem (ou seja, arquivo1..arquivoN são as origens).  Quando exibido pelo comando `git diff-files -c`, as duas origens com as suas respectivas mesclagens não resolvidas com o arquivo da árvore de trabalho (ou seja, arquivo1 é o estágio 2, informado como "nossa versão", o arquivo2 é o estágio 3, informado como "a versão deles").

note: type: Plain text
en: Generate plain patches without any diffstats.
pt_BR: Gere correções simples sem qualquer diffstats.

note: type: Plain text
en: Generate patch (see section on generating patches).
pt_BR: Gere um patch (consulte a seção sobre a geração de patches).

note: type: Plain text
en: 	This is the default.
pt_BR: 	Esta é a predefinição.

note: type: Plain text
en: Suppress diff output. Useful for commands like `git show` that show the patch by default, or to cancel the effect of `--patch`.
pt_BR: Suprime a saída diff. Útil para comandos como `git show` que por predefinição exibem a correção ou para cancelar o efeito de `--patch`.

note: type: Plain text
en: Generate diffs with <n> lines of context instead of the usual three. Implies `--patch`.
pt_BR: Gere diffs com uma quantidade de `<n>` linhas de contexto em vez das três usuais. Implica no uso da opção `--patch`.

note: type: Plain text
en: 	Implies `-p`.
pt_BR: 	Implica no uso da opção `-p`.

note: type: Labeled list
en: --output=<file>
pt_BR: --output=<arquivo>

note: type: Plain text
en: Output to a specific file instead of stdout.
pt_BR: Escreve o arquivo para um determinado arquivo em vez de stdout.

note: type: Labeled list
en: --output-indicator-new=<char>
pt_BR: --output-indicator-new=<caractere>

note: type: Labeled list
en: --output-indicator-old=<char>
pt_BR: --output-indicator-old=<caractere>

note: type: Labeled list
en: --output-indicator-context=<char>
pt_BR: --output-indicator-context=<caractere>

note: type: Plain text
en: Specify the character used to indicate new, old or context lines in the generated patch. Normally they are '+', '-' and ' ' respectively.
pt_BR: Informe o caractere que será utilizado para indicar as linhas novas, antigas ou do contexto no patch que foi gerado. Normalmente eles são '+', '-' e ' ' respectivamente.

note: type: Plain text
en: 	Generate the diff in raw format.
pt_BR: 	Gere o diff no formato bruto (raw).

note: type: Plain text
en: 	For each commit, show a summary of changes using the raw diff
    	format. See the "RAW OUTPUT FORMAT" section of
    	linkgit:git-diff[1]. This is different from showing the log
    	itself in raw format, which you can achieve with
    	`--format=raw`.
pt_BR: 	Para cada commit, exiba um resumo das alterações utilizando o formato
    	diff bruto. Consulte a seção "GERANDO O FORMATO BRUTO"
    	linkgit:git-diff[1]. É diferente de exibir o próprio registro log
    	em formato bruto, que pode ser obtido com
    	a opção `--format=raw`.

note: type: Plain text
en: Synonym for `-p --raw`.
pt_BR: É um sinônimo para `-p --raw`.

note: type: Plain text
en: Enable the heuristic that shifts diff hunk boundaries to make patches easier to read. This is the default.
pt_BR: Ativa a heurística que altera os limites dos pedaços diferentes para facilitar a leitura dos patches. Esta é a predefinição.

note: type: Plain text
en: Disable the indent heuristic.
pt_BR: Desative a heurística de recuo.

note: type: Plain text
en: Spend extra time to make sure the smallest possible diff is produced.
pt_BR: Expenda um tempo extra para garantir que o menor diferencial possível seja produzido.

note: type: Plain text
en: Generate a diff using the "patience diff" algorithm.
pt_BR: Gere um diff utilizando o algoritmo "patience diff" (ou diff de paciência).

note: type: Plain text
en: Generate a diff using the "histogram diff" algorithm.
pt_BR: Gere um diff utilizando o algoritmo "histogram diff" (ou diff de histograma).

note: type: Labeled list
en: --anchored=<text>
pt_BR: --anchored=<texto>

note: type: Plain text
en: Generate a diff using the "anchored diff" algorithm.
pt_BR: Gere um diff utilizando o algoritmo "anchored diff" (ou diff ancorado).

note: type: Plain text
en: This option may be specified more than once.
pt_BR: Esta opção pode ser especificada mais de uma vez.

note: type: Plain text
en: If a line exists in both the source and destination, exists only once, and starts with this text, this algorithm attempts to prevent it from appearing as a deletion or addition in the output. It uses the "patience diff" algorithm internally.
pt_BR: Caso uma linha exista na origem e no destino, exista apenas uma vez e comece com este texto, este algoritmo tenta impedir que apareça como uma exclusão ou adição na saída. O algoritmo "patience diff" é utilizado internamente.

note: type: Plain text
en: Choose a diff algorithm. The variants are as follows:
pt_BR: Escolha um algoritmo diff. As variantes são as seguintes:

note: type: Plain text
en: The basic greedy diff algorithm. Currently, this is the default.
pt_BR: O algoritmo diff ganancioso básico. Atualmente, este é o valor predefinido.

note: type: Plain text
en: Use "patience diff" algorithm when generating patches.
pt_BR: Utilize o algoritmo "patience diff" (ou diff de paciência) ao gerar os patches.

note: type: Plain text
en: This algorithm extends the patience algorithm to "support low-occurrence common elements".
pt_BR: Este algoritmo estende o algoritmo "patience" (paciência) para "se compatível com os elementos comuns com baixa ocorrência".

note: type: Plain text
en: For instance, if you configured the `diff.algorithm` variable to a non-default value and want to use the default one, then you have to use `--diff-algorithm=default` option.
pt_BR: Caso tenha configurado uma variável `diff.algorithm` para um valor sem predefinição e quer utilizar a variável predefinida por exemplo, então utilize a opção `--diff-algorithm=default`.

note: type: Labeled list
en: --stat[=<width>[,<name-width>[,<count>]]]
pt_BR: --stat[=<largura>[,<largura-do-nome>[,<count>]]]

note: type: Plain text
en: Generate a diffstat. By default, as much space as necessary will be used for the filename part, and the rest for the graph part. Maximum width defaults to terminal width, or 80 columns if not connected to a terminal, and can be overridden by `<width>`. The width of the filename part can be limited by giving another width `<name-width>` after a comma. The width of the graph part can be limited by using `--stat-graph-width=<width>` (affects all commands generating a stat graph) or by setting `diff.statGraphWidth=<width>` (does not affect `git format-patch`).  By giving a third parameter `<count>`, you can limit the output to the first `<count>` lines, followed by `...` if there are more.
pt_BR: Gera um diffstat. É predefinido que o espaço necessário será utilizado para a parte do nome do arquivo e o restante para a parte do grafo. A largura máxima a predefinição retorna para a largura do terminal ou 80 colunas, caso não esteja conectada em um terminal e pode ser substituída por `<largura>`. A largura da parte do nome do arquivo pode ser limitada, fornecendo outra largura `<largura-do-nome>` após uma vírgula. A largura da parte do grafo pode ser limitada utilizando `--stat-graph-width=<largura>` (afeta todos os comandos que geram um grafo estatístico) ou definindo `diff.statGraphWidth=<largura>` (não afeta o `git format-patch`).  Ao fornecer um terceiro parâmetro `<count>`, é possível limitar a saída às primeiras linhas `<count>`, seguidas por `...` caso haja mais.

note: type: Plain text
en: These parameters can also be set individually with `--stat-width=<width>`, `--stat-name-width=<name-width>` and `--stat-count=<count>`.
pt_BR: Estes parâmetros também podem ser ajustados individualmente com `--stat-width=<largura>`, `--stat-name-width=<largura-do-nome>` e `--stat-count=<count>`.

note: type: Plain text
en: Output a condensed summary of extended header information such as file creations or deletions ("new" or "gone", optionally "+l" if it's a symlink) and mode changes ("+x" or "-x" for adding or removing executable bit respectively) in diffstat. The information is put between the filename part and the graph part. Implies `--stat`.
pt_BR: A saída de um resumo condensado das informações do cabeçalho estendido como criações ou exclusões dos arquivos ("novo" ou "desaparecido", opcionalmente "+l" se for um link simbólico) e alterações do modo ("+x" ou "-x" para adicionar ou remover um bit executável, respectivamente) no diffstat. As informações são colocadas entre a parte do nome do arquivo e a parte do grafo. Implica no uso da opção `--stat`.

note: type: Plain text
en: Similar to `--stat`, but shows number of added and deleted lines in decimal notation and pathname without abbreviation, to make it more machine friendly.  For binary files, outputs two `-` instead of saying `0 0`.
pt_BR: Semelhante ao `--stat`, exibe a quantidade de linhas adicionadas, excluídas, em notação decimal e o nome do caminho sem abreviação, para torná-lo mais amigável à máquina.  Para arquivos binários, gera dois `-` em vez de `0 0`.

note: type: Plain text
en: Output only the last line of the `--stat` format containing total number of modified files, as well as number of added and deleted lines.
pt_BR: Produz apenas a última linha do formato `--stat` contendo a quantidade total dos arquivos modificados, assim como a quantidade de linhas adicionadas e excluídas.

note: type: Labeled list
en: -X[<param1,param2,...>]
pt_BR: -X[<parâmetro1,parâmetro2,...>]

note: type: Labeled list
en: --dirstat[=<param1,param2,...>]
pt_BR: --dirstat[=<parâmetro1,parâmetro2,...>]

note: type: Plain text
en: Output the distribution of relative amount of changes for each sub-directory. The behavior of `--dirstat` can be customized by passing it a comma separated list of parameters.  The defaults are controlled by the `diff.dirstat` configuration variable (see linkgit:git-config[1]).  The following parameters are available:
pt_BR: Produz a distribuição da quantidade relativa de alterações para cada subdiretório. O comportamento do `--dirstat` pode ser customizado passando uma lista de parâmetros separados por vírgula.  As predefinições são controlados pela variável de configuração `diff.dirstat` (veja linkgit:git-config[1]).  Os seguintes parâmetros estão disponíveis:

note: type: Plain text
en: Compute the dirstat numbers by counting the lines that have been removed from the source, or added to the destination. This ignores the amount of pure code movements within a file.  In other words, rearranging lines in a file is not counted as much as other changes.  This is the default behavior when no parameter is given.
pt_BR: Calcule os números "dirstat" contando as linhas que foram removidas da fonte ou adicionadas ao destino. Ignora a quantidade de movimentos de código puro em um arquivo.  Em outras palavras, reorganizar as linhas em um arquivo não conta tanto quanto as outras alterações.  Este é o comportamento predefinido quando nenhum parâmetro for utilizado.

note: type: Plain text
en: Compute the dirstat numbers by doing the regular line-based diff analysis, and summing the removed/added line counts. (For binary files, count 64-byte chunks instead, since binary files have no natural concept of lines). This is a more expensive `--dirstat` behavior than the `changes` behavior, but it does count rearranged lines within a file as much as other changes. The resulting output is consistent with what you get from the other `--*stat` options.
pt_BR: Calcule os números "dirstat" fazendo a análise diferencial com base nas linhas regulares e somando as contagens das linhas removidas / adicionadas. (Para os arquivos binários, conte em blocos de 64 bytes, pois os arquivos binários não têm um conceito natural de linhas). Este é um comportamento mais dispendioso do `--dirstat` do que o comportamento `changes` (alterações), conta as linhas reorganizadas em um arquivo tanto quanto as outras alterações. A produção resultante é consistente com o que você obtém das outras opções `--*stat`.

note: type: Plain text
en: Compute the dirstat numbers by counting the number of files changed.  Each changed file counts equally in the dirstat analysis. This is the computationally cheapest `--dirstat` behavior, since it does not have to look at the file contents at all.
pt_BR: Calcule os números "dirstat" contando a quantidade de arquivos alterados.  Cada arquivo alterado conta igualmente na análise do "dirstat". Este é o comportamento computacional mais barato do `--dirstat`, pois não precisa olhar o conteúdo do arquivo.

note: type: Plain text
en: Count changes in a child directory for the parent directory as well.  Note that when using `cumulative`, the sum of the percentages reported may exceed 100%. The default (non-cumulative) behavior can be specified with the `noncumulative` parameter.
pt_BR: Conta as alterações em um diretório herdeiro e também para o diretório de origem.  Observe que, ao utilizar `cumulative` (cumulativo), a soma das porcentagens relatadas pode exceder os 100%. O comportamento predefinido (não cumulativo) pode ser especificado com o parâmetro `noncumulative` (não cumulativo).

note: type: Labeled list
en: <limit>
pt_BR: <limite>

note: type: Plain text
en: An integer parameter specifies a cut-off percent (3% by default).  Directories contributing less than this percentage of the changes are not shown in the output.
pt_BR: Um parâmetro inteiro especifica uma porcentagem de corte (a predefinição retorna para 3%).  Os diretórios que contribuem com menos que esta porcentagem nas alterações não são exibidos na saída.

note: type: Plain text
en: Example: The following will count changed files, while ignoring directories with less than 10% of the total amount of changed files, and accumulating child directory counts in the parent directories: `--dirstat=files,10,cumulative`.
pt_BR: Exemplo: O seguinte contará os arquivos alterados, ignorando os diretórios com menos de 10% da quantidade total dos arquivos alterados e acumulando as contagens de um diretório-herdado nos diretórios-raiz: `---dirstat=arquivos,10,cumulative`.

note: type: Plain text
en: Synonym for --dirstat=cumulative
pt_BR: É um sinônimo para `--dirstat=cumulative`

note: type: Labeled list
en: --dirstat-by-file[=<param1,param2>...]
pt_BR: --dirstat-by-file[=<parâmetro1,parâmetro2>...]

note: type: Plain text
en: Synonym for --dirstat=files,param1,param2...
pt_BR: É um sinônimo para `--dirstat=arquivos,parâmetro1,parâmetro2...`

note: type: Plain text
en: Output a condensed summary of extended header information such as creations, renames and mode changes.
pt_BR: Produza um resumo condensado das informações estendidas do cabeçalho, como criações, renomeações e alterações do modo.

note: type: Plain text
en: Synonym for `-p --stat`.
pt_BR: É um sinônimo para `-p --stat`.

note: type: Plain text
en: 	Separate the commits with NULs instead of with new newlines.
pt_BR: 	Separe os commits com caracteres `NUL` em vez de novos caracteres "newlines" (novas linhas).

note: type: Plain text
en: Also, when `--raw` or `--numstat` has been given, do not munge pathnames and use NULs as output field terminators.
pt_BR: Além disso, quando a opção `--raw` ou `--numstat` for utilizado, não una os nomes dos caminhos e utilize caracteres `NUL` como terminadores na saída dos campos.

note: type: Plain text
en: 	When `--raw`, `--numstat`, `--name-only` or `--name-status` has been
    	given, do not munge pathnames and use NULs as output field terminators.
pt_BR: 	Quando `--raw`, `--numstat`, `--name-only` ou `--name-status` tenha sido
    	utilizado, não una os nomes do caminho e utilize caracteres `NUL` como terminadores do campo de saída.

note: type: Plain text
en: Without this option, pathnames with "unusual" characters are quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]).
pt_BR: Sem esta opção, os nomes do caminho com caracteres "incomuns" são citados como explicado na variável de configuração `core.quotePath` (veja linkgit:git-config [1]).

note: type: Plain text
en: Show only names of changed files.
pt_BR: Exiba apenas os nomes dos arquivos que foram alterados.

note: type: Plain text
en: Show only names and status of changed files. See the description of the `--diff-filter` option on what the status letters mean.
pt_BR: Exiba apenas os nomes e a condição atual dos arquivos que foram alterados. Consulte a descrição da opção `--diff-filter` sobre o significado das letras de condição.

note: type: Labeled list
en: --submodule[=<format>]
pt_BR: --submodule[=<formato>]

note: type: Plain text
en: Specify how differences in submodules are shown.  When specifying `--submodule=short` the 'short' format is used.  This format just shows the names of the commits at the beginning and end of the range.  When `--submodule` or `--submodule=log` is specified, the 'log' format is used.  This format lists the commits in the range like linkgit:git-submodule[1] `summary` does.  When `--submodule=diff` is specified, the 'diff' format is used.  This format shows an inline diff of the changes in the submodule contents between the commit range.  Defaults to `diff.submodule` or the 'short' format if the config option is unset.
pt_BR: Especifique como as diferenças nos submódulos são exibidos.  Ao especificar `--submodule=short`, o formato 'short' (curto) é utilizado.  Este formato exibe apenas os nomes dos commits no início e no final do intervalo.  Ao utilizar a opção `--submodule` ou `--submodule=log`, o formato 'log' passa a ser utilizado.  Este formato lista os commits no intervalo como o linkgit:git-submodule[1] `summary` (resumo) faz.  Ao utilizar a opção `--submodule=diff`, o formato 'diff' passa a ser utilizado.  Este formato exibe uma comparação nas linhas das alterações no conteúdo do submódulo entre o intervalo do commit.  A predefinição retorna para a opção de configuração `diff.submodule` ou o formato 'short' (curto) caso a opção da configuração estiver desativada.

note: type: Labeled list
en: --color[=<when>]
pt_BR: --color[=<quando>]

note: type: Plain text
en: Show colored diff.  `--color` (i.e. without '=<when>') is the same as `--color=always`.  '<when>' can be one of `always`, `never`, or `auto`.
pt_BR: Exibe o diff colorido.  A opção `--color` (sem '=<quando>' por exemplo) é o mesmo que a opção `--color=always`.  '<quando>' pode ser `always` (sempre), `never` (nunca), ou `auto`.

note: type: Plain text
en: 	It can be changed by the `color.ui` and `color.diff`
    	configuration settings.
pt_BR: 	Pode ser alterado pelas definições da configuração
    	`color.ui` e `color.diff`.

note: type: Plain text
en: Turn off colored diff.
pt_BR: Desativa o diff colorido.

note: type: Plain text
en: 	This can be used to override configuration settings.
pt_BR: 	Pode ser utilizado para substituir a definição da configuração.

note: type: Plain text
en: 	It is the same as `--color=never`.
pt_BR: 	É o mesmo que `--color=never`.

note: type: Labeled list
en: --color-moved[=<mode>]
pt_BR: --color-moved[=<modo>]

note: type: Plain text
en: Moved lines of code are colored differently.
pt_BR: As linhas de código que foram movidas são coloridas de maneira diferente.

note: type: Plain text
en: 	It can be changed by the `diff.colorMoved` configuration setting.
pt_BR: 	Pode ser alterado através da pela definição da configuração `diff.colorMoved`.

note: type: Plain text
en: 	The <mode> defaults to 'no' if the option is not given
    	and to 'zebra' if the option with no mode is given.
    	The mode must be one of:
pt_BR: 	O <modo> retorna para a predefinição como 'no' caso a opção não seja utilizada
    	e para 'zebra' caso a opção seja utilizada sem nenhum modo.
    	O modo deve ser um dos seguintes:

note: type: Plain text
en: Moved lines are not highlighted.
pt_BR: As linhas movidas não são destacadas.

note: type: Plain text
en: Is a synonym for `zebra`. This may change to a more sensible mode in the future.
pt_BR: É um sinônimo para `zebra`. Pode ser que isso mude para um modo mais sensível no futuro.

note: type: Plain text
en: Any line that is added in one location and was removed in another location will be colored with 'color.diff.newMoved'.  Similarly 'color.diff.oldMoved' will be used for removed lines that are added somewhere else in the diff. This mode picks up any moved line, but it is not very useful in a review to determine if a block of code was moved without permutation.
pt_BR: Qualquer linha adicionada em um local e removida em outro será colorida com 'color.diff.newMoved'.  Da mesma forma, 'color.diff.oldMoved' será utilizado para as linhas que forem removidas e que foram adicionadas em outro lugar no diff. Este modo seleciona qualquer linha movida, mas não é muito útil em uma revisão para determinar se um bloco do código foi movido sem permutação.

note: type: Plain text
en: Blocks of moved text of at least 20 alphanumeric characters are detected greedily. The detected blocks are painted using either the 'color.diff.{old,new}Moved' color.  Adjacent blocks cannot be told apart.
pt_BR: Os blocos de texto movidos com pelo menos 20 caracteres alfanuméricos são detectados de forma ávida. Os blocos detectados são pintados utilizando a cor `color.diff.{old,new}Moved`.  Os blocos adjacentes não podem ser separados.

note: type: Plain text
en: Blocks of moved text are detected as in 'blocks' mode. The blocks are painted using either the 'color.diff.{old,new}Moved' color or 'color.diff.{old,new}MovedAlternative'. The change between the two colors indicates that a new block was detected.
pt_BR: Os blocos de texto que foram movidos são detectados como no modo 'blocks' (blocos). Os blocos são pintados utilizando a cor `color.diff.{old,new}Moved` ou `color.diff.{old,new}MovedAlternative`. A alteração entre as duas cores indica que um novo bloco foi detectado.

note: type: Plain text
en: Similar to 'zebra', but additional dimming of uninteresting parts of moved code is performed. The bordering lines of two adjacent blocks are considered interesting, the rest is uninteresting.  `dimmed_zebra` is a deprecated synonym.
pt_BR: Semelhante ao 'zebra', porém é realizado o escurecimento adicional das partes desinteressantes do código que foi movido. As linhas limítrofes dos dois blocos adjacentes são considerados como interessantes, o resto como não interessante.  `dimmed_zebra` é um sinônimo obsoleto.

note: type: Plain text
en: Turn off move detection. This can be used to override configuration settings. It is the same as `--color-moved=no`.
pt_BR: Desativa a detecção de movimento. Pode ser utilizado para substituir a definição da configuração. É o mesmo que `--color-moved=no`.

note: type: Labeled list
en: --color-moved-ws=<modes>
pt_BR: --color-moved-ws=<modos>

note: type: Plain text
en: This configures how whitespace is ignored when performing the move detection for `--color-moved`.
pt_BR: Configura como o espaço é ignorado durante a execução da detecção do mover para `--color-moved`.

note: type: Plain text
en: 	It can be set by the `diff.colorMovedWS` configuration setting.
pt_BR: 	Pode ser definido através da definição da variável de configuração `diff.colorMovedWS`.

note: type: Plain text
en: 	These modes can be given as a comma separated list:
pt_BR: 	Estes modos podem ser utilizados como uma lista separada por vírgulas:

note: type: Plain text
en: Do not ignore whitespace when performing move detection.
pt_BR: Não ignore os espaços quando realizar a detecção da ação de mover.

note: type: Plain text
en: Ignore changes in whitespace at EOL.
pt_BR: Ignore as alterações no espaço na EOL (fim da linha).

note: type: Plain text
en: Ignore changes in amount of whitespace.  This ignores whitespace at line end, and considers all other sequences of one or more whitespace characters to be equivalent.
pt_BR: Ignore as alterações na quantidade do espaço.  Ignora o espaço no final da linha e considera todas as outras sequências de um ou mais caracteres de espaço como equivalentes.

note: type: Plain text
en: Ignore whitespace when comparing lines. This ignores differences even if one line has whitespace where the other line has none.
pt_BR: Ignore o espaço durante a comparação das linhas. Ignore as diferenças mesmo que uma linha tenha espaços quando a outra linha não tiver nenhuma.

note: type: Plain text
en: Initially ignore any whitespace in the move detection, then group the moved code blocks only into a block if the change in whitespace is the same per line. This is incompatible with the other modes.
pt_BR: Ignore inicialmente, qualquer espaço na detecção da ação de mover, em seguida, agrupe os blocos do código que foram movidos apenas em um bloco caso a alteração no espaço seja a mesma em cada linha. Isto é incompatível com os outros modos.

note: type: Plain text
en: Do not ignore whitespace when performing move detection. This can be used to override configuration settings. It is the same as `--color-moved-ws=no`.
pt_BR: Não ignore os espaços quando realizar a detecção da ação de mover. Pode ser utilizado para substituir a definição da configuração. É o mesmo que `--color-moved-ws=no`.

note: type: Labeled list
en: --word-diff[=<mode>]
pt_BR: --word-diff[=<modo>]

note: type: Plain text
en: Show a word diff, using the <mode> to delimit changed words.  By default, words are delimited by whitespace; see `--word-diff-regex` below.  The <mode> defaults to 'plain', and must be one of:
pt_BR: Exiba umadiff entre as palavras, usando o <modo> para delimitar as palavras alteradas.  É predefinido que as palavras sejam delimitadas por espaços; consulte `--word-diff-regex` abaixo.  O <modo> retorna para a predefinição 'plain' e deve ser um dos seguintes:

note: type: Plain text
en: Highlight changed words using only colors.  Implies `--color`.
pt_BR: Destaque as palavras alteradas usando apenas as cores.  Implica no uso da opção `--color`.

note: type: Plain text
en: Show words as `[-removed-]` and `{+added+}`.  Makes no attempts to escape the delimiters if they appear in the input, so the output may be ambiguous.
pt_BR: Exiba as palavras como `[-removed-]` (removido) e `{+added+}` (adicionado).  Não faz nenhuma tentativa de escapar os delimitadores caso eles apareçam na entrada, portanto, a saída pode ser ambígua.

note: type: Plain text
en: Use a special line-based format intended for script consumption.  Added/removed/unchanged runs are printed in the usual unified diff format, starting with a `+`/`-`/` ` character at the beginning of the line and extending to the end of the line.  Newlines in the input are represented by a tilde `~` on a line of its own.
pt_BR: Use um formato especial orientado em linha destinado para a utilização com um script.  As execuções adicionadas/removidas/inalteradas são impressas no formato diff unificado tradicional, começando com um caractere `+`/`-`/` ` no início da linha e estendendo-se até o final.  As novas linhas na entrada são representadas por um til `~` em uma linha própria.

note: type: Plain text
en: Disable word diff again.
pt_BR: Desative a palavra diff novamente.

note: type: Plain text
en: Note that despite the name of the first mode, color is used to highlight the changed parts in all modes if enabled.
pt_BR: Observe que, apesar do nome do primeiro modo, a cor é utilizada para realçar as partes alteradas em todos os modos caso seja ativada.

note: type: Labeled list
en: --word-diff-regex=<regex>
pt_BR: --word-diff-regex=<expressão-regular>

note: type: Plain text
en: Use <regex> to decide what a word is, instead of considering runs of non-whitespace to be a word.  Also implies `--word-diff` unless it was already enabled.
pt_BR: Utilize uma `<expressão-regular>` para decidir o que uma palavra é em vez de considerar as execuções dos espaços que não estejam vazios como uma palavra.  Também implica no uso da opção `--word-diff`, a menos que já esteja ativo.

note: type: Plain text
en: Every non-overlapping match of the <regex> is considered a word.  Anything between these matches is considered whitespace and ignored(!) for the purposes of finding differences.  You may want to append `|[^[:space:]]` to your regular expression to make sure that it matches all non-whitespace characters.  A match that contains a newline is silently truncated(!) at the newline.
pt_BR: Toda a coincidência não sobreposta do `<expressão-regular>` é considerado como sendo uma palavra.  Qualquer coisa entre estas coincidências é considerada um espaço e é ignorado(!) com o objetivo de encontrar as diferenças.  Você pode anexar `|[^[:space:]]` à sua expressão regular para garantir que ela coincida com todos os caracteres que não sejam espaços.  Uma coincidência que contenha uma nova linha é silenciosamente truncada(!) na nova linha.

note: type: Plain text
en: For example, `--word-diff-regex=.` will treat each character as a word and, correspondingly, show differences character by character.
pt_BR: A opção `--word-diff-regex=.` por exemplo, tratará cada caractere como uma palavra e coincidentemente, exibirá as diferenças caractere a caractere.

note: type: Plain text
en: The regex can also be set via a diff driver or configuration option, see linkgit:gitattributes[5] or linkgit:git-config[1].  Giving it explicitly overrides any diff driver or configuration setting.  Diff drivers override configuration settings.
pt_BR: A expressão regular também pode ser definida através de um controlador do diff ou uma opção de configuração, consulte linkgit:gitattributes[5] or linkgit:git-config[1].  A concessão explícita substitui qualquer controle diff ou uma configuração.  Os controles diff substituem as definições da configuração.

note: type: Labeled list
en: --color-words[=<regex>]
pt_BR: --color-words[=<expressão-regular>]

note: type: Plain text
en: Equivalent to `--word-diff=color` plus (if a regex was specified) `--word-diff-regex=<regex>`.
pt_BR: Equivalente a `--word-diff=color` mais (caso um regex seja utilizado) `--word-diff-regex=<expressão-regular>`.

note: type: Plain text
en: Turn off rename detection, even when the configuration file gives the default to do so.
pt_BR: Desative a detecção da ação de renomear, mesmo quando o arquivo de configuração seja predefinido para tanto.

note: type: Plain text
en: Whether to use empty blobs as rename source.
pt_BR: Se usa ou não bolhas vazias como origem do nome.

note: type: Plain text
en: Warn if changes introduce conflict markers or whitespace errors.  What are considered whitespace errors is controlled by `core.whitespace` configuration.  By default, trailing whitespaces (including lines that consist solely of whitespaces) and a space character that is immediately followed by a tab character inside the initial indent of the line are considered whitespace errors.  Exits with non-zero status if problems are found. Not compatible with --exit-code.
pt_BR: Avise caso as alterações introduzirem os marcadores de conflito ou os erros de espaço.  A configuração `core.whitespace` define o que são considerados erros de espaço.  É predefinido que os espaços à direita (incluindo as linhas que consistem apenas de espaços) e um caractere de espaço que seja imediatamente seguido por um caractere de tabulação dentro do recuo inicial da linha, são considerados erros de espaço.  Encerra com uma condição diferente de zero caso problemas sejam encontrados. Não é compatível com `--exit-code`.

note: type: Labeled list
en: --ws-error-highlight=<kind>
pt_BR: --ws-error-highlight=<tipo>

note: type: Plain text
en: Highlight whitespace errors in the `context`, `old` or `new` lines of the diff.  Multiple values are separated by comma, `none` resets previous values, `default` reset the list to `new` and `all` is a shorthand for `old,new,context`.  When this option is not given, and the configuration variable `diff.wsErrorHighlight` is not set, only whitespace errors in `new` lines are highlighted. The whitespace errors are colored with `color.diff.whitespace`.
pt_BR: Destaque os erros de espaço nas linhas `context` (contexto), `old` (antigo) ou `new` (novo) do diff.  Vários valores são separados por vírgula, `none` redefine os valores anteriores, `default` redefine a lista para `new` e `all` é uma abreviação para `old,new,context`.  Quando esta opção não é utilizada e a variável de configuração `diff.wsErrorHighlight` não está definida, apenas os erros de espaço nas linhas `novas` são destacados. Os erros de espaço são coloridos com `color.diff.whitespace`.

note: type: Plain text
en: Instead of the first handful of characters, show the full pre- and post-image blob object names on the "index" line when generating patch format output.
pt_BR: Em vez do primeiro punhado de caracteres, exiba os nomes completos dos objetos bolha antes e depois da imagem na linha "index" ao produzir a saída no formato patch.

note: type: Plain text
en: In addition to `--full-index`, output a binary diff that can be applied with `git-apply`. Implies `--patch`.
pt_BR: Além de `--full-index`, gere um diff binário que possa ser aplicado com o comando `git-apply`. Implica no uso da opção `--patch`.

note: type: Labeled list
en: --abbrev[=<n>]
pt_BR: --abrev[=<n>]

note: type: Plain text
en: Instead of showing the full 40-byte hexadecimal object name in diff-raw format output and diff-tree header lines, show only a partial prefix.  This is independent of the `--full-index` option above, which controls the diff-patch output format.  Non default number of digits can be specified with `--abbrev=<n>`.
pt_BR: Em vez de exibir o nome completo do objeto hexadecimal com 40 bytes na produção do formato diff-raw e nas linhas do cabeçalho da árvore diff, exiba apenas um prefixo parcial.  Isso é independente da opção `--full-index` acima, que controla o formato da produção da saída do diff-patch.  A quantidade de dígitos fora do preestabelecido pode ser especificado com a opção `--abbrev=<n>`.

note: type: Plain text
en: Break complete rewrite changes into pairs of delete and create. This serves two purposes:
pt_BR: Divida as alterações reescritas que foram completas em pares de exclusão e criação. Isso serve a dois propósitos:

note: type: Plain text
en: It affects the way a change that amounts to a total rewrite of a file not as a series of deletion and insertion mixed together with a very few lines that happen to match textually as the context, but as a single deletion of everything old followed by a single insertion of everything new, and the number `m` controls this aspect of the -B option (defaults to 60%). `-B/70%` specifies that less than 30% of the original should remain in the result for Git to consider it a total rewrite (i.e. otherwise the resulting patch will be a series of deletion and insertion mixed together with context lines).
pt_BR: Afeta a maneira como uma mudança que equivale a uma reescrita total de um arquivo, não como uma série de exclusão e inserção combinadas com poucas linhas que coincidem textualmente com o contexto, e sim como uma única exclusão de tudo o que é antigo seguido por um inserção única de tudo que for novo, o número `m` controla este aspecto da opção `-B` (a predefinição retorna para 60%). `-B / 70%` determina que menos de 30% do original deve permanecer no resultado para que o Git considere-o como uma reescrita total (ou seja, caso contrário, o patch resultante será uma série de exclusões e inserções combinados com linhas de contexto).

note: type: Plain text
en: When used with -M, a totally-rewritten file is also considered as the source of a rename (usually -M only considers a file that disappeared as the source of a rename), and the number `n` controls this aspect of the -B option (defaults to 50%). `-B20%` specifies that a change with addition and deletion compared to 20% or more of the file's size are eligible for being picked up as a possible source of a rename to another file.
pt_BR: Quando utilizado com a opção `-M`, um arquivo totalmente reescrito também é considerado a fonte de uma renomeação (O `-M` geralmente considera apenas um arquivo que desapareceu como a origem de uma renomeação), o número `n` controla esse aspecto da opção `-B` (a predefinição retorna para 50%). O `-B20%` determina que uma alteração com a adição e a exclusão em comparação com 20% ou mais do tamanho do arquivo é elegível para ser selecionada como uma possível fonte de renomeação para um outro arquivo.

note: type: Plain text
en: 	Detect renames.
pt_BR: 	Detecte as renomeações.

note: type: Plain text
en: 	If generating diffs, detect and report renames for each commit.
    	For following files across renames while traversing history, see
    	`--follow`.
pt_BR: 	Ao produzir os diffs, detecte e relate tudo que for renomeado em cada commit.
    	Para acompanhar os arquivos através das renomeações enquanto percorre o histórico
    	consulte o comando `--follow`.

note: type: Plain text
en: 	If `n` is specified, it is a threshold on the similarity
    	index (i.e. amount of addition/deletions compared to the
    	file's size). For example, `-M90%` means Git should consider a
    	delete/add pair to be a rename if more than 90% of the file
    	hasn't changed.  Without a `%` sign, the number is to be read as
    	a fraction, with a decimal point before it.  I.e., `-M5` becomes
    	0.5, and is thus the same as `-M50%`.  Similarly, `-M05` is
    	the same as `-M5%`.  To limit detection to exact renames, use
    	`-M100%`.  The default similarity index is 50%.
pt_BR: 	Caso `n` seja utilizado, é a limítrofe do índice da similaridade
    	(A quantidade de adições/exclusões comparado ao tamanho
    	do arquivo). `-M90%` significa que o Git deve considerar uma ação do par de
    	exclusão/adição para ser renomeado caso mais que 90% do arquivo
    	não tenha sido alterado.  Sem um sinal de `%`, a quantidade deve ser lida como
    	uma fração, com um ponto decimal antes dele.  `-M5` se torna por exemplo
    	0.5, portanto, é o mesmo que `-M50%`.  Da mesma forma que `-M05` é
    	o mesmo que `-M5%`.  Para limitar a detecção para renomeações exatas, utilize
    	`-M100%`.  A predefinição para o índice de similaridade é 50%.

note: type: Plain text
en: Detect copies as well as renames.  See also `--find-copies-harder`.  If `n` is specified, it has the same meaning as for `-M<n>`.
pt_BR: Detecte as cópias e também o que for renomeado.  Consulte também `--find-copies-harder`.  Caso `n` seja utilizado, ele terá o mesmo significado que `-M<n>`.

note: type: Plain text
en: For performance reasons, by default, `-C` option finds copies only if the original file of the copy was modified in the same changeset.  This flag makes the command inspect unmodified files as candidates for the source of copy.  This is a very expensive operation for large projects, so use it with caution.  Giving more than one `-C` option has the same effect.
pt_BR: Por motivos de desempenho, a predefinição retorna para que a opção `-C` encontre as cópias apenas caso o arquivo original da cópia tenha sido modificado no mesmo conjunto de alterações.  Essa flag faz com que o comando inspecione os arquivos que não modificados como candidatos à origem da cópia.  Esta é uma operação muito dispendiosa em projetos grandes, portanto, utilize-a com cuidado.  Tem o mesmo efeito caso a opção `-C` seja repetida.

note: type: Plain text
en: Omit the preimage for deletes, i.e. print only the header but not the diff between the preimage and `/dev/null`. The resulting patch is not meant to be applied with `patch` or `git apply`; this is solely for people who want to just concentrate on reviewing the text after the change. In addition, the output obviously lacks enough information to apply such a patch in reverse, even manually, hence the name of the option.
pt_BR: Omita a imagem prévia que será excluída, ou seja, imprima apenas o cabeçalho, mas não a diferença entre a pré-imagem e `/dev/null`. O patch resultante não deve ser aplicado com com o comando `patch` ou `git apply`; é apenas para pessoas que desejam se concentrar em revisar o texto após a alteração. Além disso, a saída obviamente não possui informações suficientes para aplicar esse patch em sentido inverso, mesmo manualmente, daí o nome da opção.

note: type: Plain text
en: When used together with `-B`, omit also the preimage in the deletion part of a delete/create pair.
pt_BR: Quando utilizado em conjunto com a opção `-B`, omita também a pré-imagem na parte da exclusão de um par excluir/criar.

note: type: Plain text
en: The `-M` and `-C` options require O(n^2) processing time where n is the number of potential rename/copy targets.  This option prevents rename/copy detection from running if the number of rename/copy targets exceeds the specified number.
pt_BR: As opções `-M` e `-C` requerem um tempo de processamento O(n^2) em que n é a quantidade de possíveis alvos para renomeações/cópia.  Esta opção impede que a detecção da ação de renomear/cópia seja executada se a quantidade dos alvos a serem renomeados/copiados exceda o a quantidade especificada.

note: type: Plain text
en: Select only files that are Added (`A`), Copied (`C`), Deleted (`D`), Modified (`M`), Renamed (`R`), have their type (i.e. regular file, symlink, submodule, ...) changed (`T`), are Unmerged (`U`), are Unknown (`X`), or have had their pairing Broken (`B`).  Any combination of the filter characters (including none) can be used.  When `*` (All-or-none) is added to the combination, all paths are selected if there is any file that matches other criteria in the comparison; if there is no file that matches other criteria, nothing is selected.
pt_BR: Selecione apenas os arquivos Adicionados (`A`), Copiados (`C`), Excluídos (`D`), Modificados (`M`), Renomeados (`R`) e que tenham o seu tipo (por exemplo, arquivo normal, link simbólico, o submódulo, ...) alterado (`T`), não está mesclado (`U`), que seja desconhecido (`X`) ou que teve o seu emparelhamento quebrado (`B`).  Qualquer combinação dos caracteres do filtro (incluindo `none` nenhum) pode ser utilizado.  Quando `*` (Tudo ou nenhum) é adicionado à combinação, todos os caminhos são selecionados caso haja algum arquivo que coincida com outros critérios durante a comparação; caso não haja nenhum arquivo que coincida com outros critérios, nada será selecionado.

note: type: Plain text
en: Also, these upper-case letters can be downcased to exclude.  E.g.  `--diff-filter=ad` excludes added and deleted paths.
pt_BR: Além disso, estas letras maiúsculas podem ser transformadas em minusculas para se excluir.  `--diff-filter=ad` exclui os caminhos adicionados e excluídos por exemplo.

note: type: Plain text
en: Note that not all diffs can feature all types. For instance, diffs from the index to the working tree can never have Added entries (because the set of paths included in the diff is limited by what is in the index).  Similarly, copied and renamed entries cannot appear if detection for those types is disabled.
pt_BR: Observe que nem todas as diferenças diff podem apresentar todos os tipos. Por exemplo, diffs do índice para a árvore de trabalho nunca podem ter entradas adicionadas (porque o conjunto dos caminhos inclusos no diff é limitado pelo que está no índice).  Da mesma forma, as entradas copiadas e renomeadas não podem aparecer caso a detecção para estes tipos estiverem desativados.

note: type: Labeled list
en: -S<string>
pt_BR: -S<texto>

note: type: Plain text
en: Look for differences that change the number of occurrences of the specified string (i.e. addition/deletion) in a file.  Intended for the scripter's use.
pt_BR: Procure por diferenças que alterem a quantidade de ocorrências da cadeia de caracteres especificada (ou seja, adição/exclusão) em um arquivo.  Destinado ao uso do scripter.

note: type: Plain text
en: It is useful when you're looking for an exact block of code (like a struct), and want to know the history of that block since it first came into being: use the feature iteratively to feed the interesting block in the preimage back into `-S`, and keep going until you get the very first version of the block.
pt_BR: Útil durante a produra por um bloco de código exato (como uma "struct"), e quera saber o histórico deste bloco desde que ele surgiu: utilize o recurso de forma iterativa para alimentar o bloco de interesse na pré-imagem de volta `-S` e continue até você obter a primeira versão do bloco.

note: type: Plain text
en: Binary files are searched as well.
pt_BR: Os arquivos binários também são pesquisados.

note: type: Labeled list
en: -G<regex>
pt_BR: -G<expressão-regular>

note: type: Plain text
en: Look for differences whose patch text contains added/removed lines that match <regex>.
pt_BR: Procure por diferenças cujo texto do patch contenha as linhas adicionadas/removidas que correspondam a um `<expressão-regular>`.

note: type: Plain text
en: To illustrate the difference between `-S<regex> --pickaxe-regex` and `-G<regex>`, consider a commit with the following diff in the same file:
pt_BR: Para ilustrar a diferença entre `-S<expressão-regular> --pickaxe-regex` e `-G<expressão-regular>`, considere um commit com o seguinte diff no mesmo arquivo:

note: type: Plain text
en: While `git log -G"frotz\(nitfol"` will show this commit, `git log -S"frotz\(nitfol" --pickaxe-regex` will not (because the number of occurrences of that string did not change).
pt_BR: Enquanto o `git log -G"frotz\(nitfol"` exibirá este commit, já o `git log -S"frotz\(nitfol" --pickaxe-regex` não (porque a quantidade de ocorrências dessa cadeia de caracteres não foi alterada) .

note: type: Plain text
en: Unless `--text` is supplied patches of binary files without a textconv filter will be ignored.
pt_BR: A menos que `--text` seja utilizado, os patches dos arquivos binários sem um filtro "textconv" serão ignorados.

note: type: Plain text
en: See the 'pickaxe' entry in linkgit:gitdiffcore[7] for more information.
pt_BR: Para mais informações consulte a entrada 'pickaxe' em linkgit:gitdiffcore[7].

note: type: Labeled list
en: --find-object=<object-id>
pt_BR: --find-object=<id-do-objeto>

note: type: Plain text
en: Look for differences that change the number of occurrences of the specified object. Similar to `-S`, just the argument is different in that it doesn't search for a specific string but for a specific object id.
pt_BR: Procure pelas diferenças que alteram a quantidade de ocorrências do objeto especificado. Similar ao `-S`, porém apenas o argumento é diferente pois ele não procura por uma sequência específica, mas por um ID específico do objeto.

note: type: Plain text
en: The object can be a blob or a submodule commit. It implies the `-t` option in `git-log` to also find trees.
pt_BR: O objeto pode ser uma bolha ou um commit do submódulo. Para também encontrar árvores, faça a utilização da opção `-t` também no `git-log`.

note: type: Plain text
en: When `-S` or `-G` finds a change, show all the changes in that changeset, not just the files that contain the change in <string>.
pt_BR: Quando a opção `-S` ou `-G` encontra uma alteração, exiba todas as alterações naquele conjunto de alterações e não apenas nos arquivos que contenham as alterações em uma `<texto>`.

note: type: Plain text
en: Treat the <string> given to `-S` as an extended POSIX regular expression to match.
pt_BR: Trate o `<texto>` utilizado com o `-S` como uma expressão regular POSIX estendida para coincidir.

note: type: Labeled list
en: -O<orderfile>
pt_BR: -O<ordem-do-arquivo>

note: type: Plain text
en: Control the order in which files appear in the output.  This overrides the `diff.orderFile` configuration variable (see linkgit:git-config[1]).  To cancel `diff.orderFile`, use `-O/dev/null`.
pt_BR: Controlar a ordem em que os arquivos aparecem na saída.  Substitui a variável de configuração `diff.orderFile` (consulte linkgit:git-config[1]).  Para cancelar a variável `diff.orderFile`, utilize `-O/dev/null`.

note: type: Plain text
en: The output order is determined by the order of glob patterns in <orderfile>.  All files with pathnames that match the first pattern are output first, all files with pathnames that match the second pattern (but not the first) are output next, and so on.  All files with pathnames that do not match any pattern are output last, as if there was an implicit match-all pattern at the end of the file.  If multiple pathnames have the same rank (they match the same pattern but no earlier patterns), their output order relative to each other is the normal order.
pt_BR: A ordem da saída é determinada pela ordem dos padrões bolha na <ordem-do-arquivo>.  São enviados primeiro todos os arquivos cujos nomes do caminho coincidam com o primeiro padrão, em seguida todos os arquivos cujos nomes do caminho coincidam com o segundo padrão (mas não ao primeiro) e assim por diante.  São exibidos por último todos os arquivos cujos nomes do caminho não coincidam com nenhum padrão como se houvesse um padrão de coincidência total implícito no final do arquivo.  Caso vários nomes do caminho tenham a mesma classificação (eles coincidem com o mesmo padrão, mas não com os padrões anteriores), a sua ordem na saída em relação à outra é a ordem normal.

note: type: Plain text
en: <orderfile> is parsed as follows:
pt_BR: A <ordem-do-arquivo> é analisado da seguinte maneira:

note: type: Plain text
en: Blank lines are ignored, so they can be used as separators for readability.
pt_BR: As linhas em branco são ignoradas para que possam ser utilizadas como separadores, facilitando a leitura.

note: type: Plain text
en: Lines starting with a hash ("`#`") are ignored, so they can be used for comments.  Add a backslash ("`\`") to the beginning of the pattern if it starts with a hash.
pt_BR: As linhas que começam com um hash ("`#`") são ignoradas para que possam ser utilizadas como comentários.  Adicione uma barra invertida ("`\`") ao início do padrão caso ele comece com um hash.

note: type: Plain text
en: Each other line contains a single pattern.
pt_BR: Cada outra linha quem contenha um único padrão.

note: type: Plain text
en: Patterns have the same syntax and semantics as patterns used for fnmatch(3) without the FNM_PATHNAME flag, except a pathname also matches a pattern if removing any number of the final pathname components matches the pattern.  For example, the pattern "`foo*bar`" matches "`fooasdfbar`" and "`foo/bar/baz/asdf`" but not "`foobarx`".
pt_BR: Os padrões têm a mesma sintaxe e semântica que os padrões utilizados para fnmatch(3) sem a flag `FNM_PATHNAME`, exceto que um nome do caminho também coincida com um padrão caso a remoção de qualquer quantidade dos componentes finais do nome do caminho coincida com o padrão.  O padrão "`foo*bar`" coincide com "`fooasdfbar`" e "`foo/bar/baz/asdf`" mas não com "`foobarx`" por exemplo.

note: type: Plain text
en: Swap two inputs; that is, show differences from index or on-disk file to tree contents.
pt_BR: Troque as duas entradas; isto é, exiba as diferenças do índice ou do arquivo no disco para o conteúdo da árvore.

note: type: Labeled list
en: --relative[=<path>]
pt_BR: --relative[=<caminho>]

note: type: Plain text
en: When run from a subdirectory of the project, it can be told to exclude changes outside the directory and show pathnames relative to it with this option.  When you are not in a subdirectory (e.g. in a bare repository), you can name which subdirectory to make the output relative to by giving a <path> as an argument.  `--no-relative` can be used to countermand both `diff.relative` config option and previous `--relative`.
pt_BR: Com esta opção, quando executado a partir de um subdiretório do projeto, pode-se dizer para excluir as alterações fora do diretório e exibir os nomes do caminho relativos a ele.  Quando não estiver em um subdiretório (em um repositório simples por exemplo), é possível nomear em qual subdiretório tornar a saída relativa, utilizando um `<caminho>` como argumento. A opção `--no-relative` pode ser utilizada para contrapor ambas as opções de configuração `diff.relative` e a anterior `--relative`.

note: type: Plain text
en: Treat all files as text.
pt_BR: Trate todos os arquivos como texto.

note: type: Plain text
en: Ignore carriage-return at the end of line when doing a comparison.
pt_BR: Ignore o retorno do carro no final da linha durante uma comparação.

note: type: Plain text
en: Ignore whitespace when comparing lines.  This ignores differences even if one line has whitespace where the other line has none.
pt_BR: Ignore o espaço durante a comparação das linhas.  Ignore as diferenças mesmo que uma linha tenha espaços quando a outra linha não tiver nenhuma.

note: type: Plain text
en: Ignore changes whose lines are all blank.
pt_BR: Ignore as alterações cujas linhas estejam todas em branco.

note: type: Labeled list
en: --inter-hunk-context=<lines>
pt_BR: --inter-hunk-context=<linhas>

note: type: Plain text
en: Show the context between diff hunks, up to the specified number of lines, thereby fusing hunks that are close to each other.  Defaults to `diff.interHunkContext` or 0 if the config option is unset.
pt_BR: Exiba o contexto entre as diferenças, até a quantidade de linhas especificada, fundindo assim as que estão próximas umas das outras.  A predefinição retorna para `diff.interHunkContext` ou 0 caso a opção de configuração não esteja definida.

note: type: Plain text
en: Show whole surrounding functions of changes.
pt_BR: Exiba todas as funções ao redor das alterações.

note: type: Plain text
en: Make the program exit with codes similar to diff(1).  That is, it exits with 1 if there were differences and 0 means no differences.
pt_BR: Faça com que o programa encerre com códigos semelhantes ao diff(1).  Ou seja, encerra com 1 caso haja diferenças ou 0 quando não houver.

note: type: Plain text
en: Disable all output of the program. Implies `--exit-code`.
pt_BR: Faz com que o programa trabalhe em silêncio. Implica no uso da opção `--exit-code`.

note: type: Plain text
en: Allow an external diff helper to be executed. If you set an external diff driver with linkgit:gitattributes[5], you need to use this option with linkgit:git-log[1] and friends.
pt_BR: Permitir que um auxiliar diff externo seja executado. Caso um controlador diff externo seja definido com linkgit:gitattributes[5], será necessário a utilização desta opção com linkgit:git-log[1] e seus companheiros.

note: type: Plain text
en: Disallow external diff drivers.
pt_BR: Não permitir o uso de um controladores diff externo.

note: type: Plain text
en: Allow (or disallow) external text conversion filters to be run when comparing binary files. See linkgit:gitattributes[5] for details. Because textconv filters are typically a one-way conversion, the resulting diff is suitable for human consumption, but cannot be applied. For this reason, textconv filters are enabled by default only for linkgit:git-diff[1] and linkgit:git-log[1], but not for linkgit:git-format-patch[1] or diff plumbing commands.
pt_BR: Permita (ou não permita) a execução dos filtros externos para a conversão do texto durante a comparação dos arquivos binários. Para mais detalhes consulte linkgit:gitattributes[5]. Como os filtros "textconv" são normalmente uma conversão unidirecional, o diff resultante é legível para as pessoas porém não pode ser aplicado. Por este motivo, é predefinido que os filtros "textconv" estejam ativos apenas para os comandos linkgit:git-diff[1] e linkgit:git-log[1], mas não para os comandos linkgit:git-format-patch[1] ou comandos "diff" que possam ser redirecionados.

note: type: Labeled list
en: --ignore-submodules[=<when>]
pt_BR: --ignore-submodules[=<quando>]

note: type: Plain text
en: Ignore changes to submodules in the diff generation. <when> can be either "none", "untracked", "dirty" or "all", which is the default.  Using "none" will consider the submodule modified when it either contains untracked or modified files or its HEAD differs from the commit recorded in the superproject and can be used to override any settings of the 'ignore' option in linkgit:git-config[1] or linkgit:gitmodules[5]. When "untracked" is used submodules are not considered dirty when they only contain untracked content (but they are still scanned for modified content). Using "dirty" ignores all changes to the work tree of submodules, only changes to the commits stored in the superproject are shown (this was the behavior until 1.7.0). Using "all" hides all changes to submodules.
pt_BR: Ignore as alterações nos submódulos durante a geração dos diffs. O `<quando>` pode ser "none" (nenhum), "untracked" (sem monitoramento/rastreamento), "dirty" (sujo) ou "all" (todos), que é a predefinição.  O "none" considera o submódulo modificado quando houver arquivos não estejam rastreados, modificados ou o seu `HEAD` seja diferente do commit registrado no superprojeto, pode ser utilizado para substituir qualquer configuração da opção 'ignore' (ignorar) em  linkgit:git-config[1] ou linkgit:gitmodules[5]. Quando o "untracked" é utilizado, os submódulos não são considerados sujos quando houver apenas  um conteúdo sem rastreamento (porém o monitoramento de alterações do seu conteúdo continua) O uso de "dirty" ignora todas as alterações na árvore de trabalho dos submódulos, apenas as alterações nos commits armazenados no superprojeto são exibidos (este era o comportamento anterior até a versão 1.7.0). O uso de "all" oculta todas as alterações nos submódulos.

note: type: Labeled list
en: --src-prefix=<prefix>
pt_BR: --src-prefix=<prefixo>

note: type: Plain text
en: Show the given source prefix instead of "a/".
pt_BR: Exiba o prefixo da origem utilizada em vez de "a/".

note: type: Labeled list
en: --dst-prefix=<prefix>
pt_BR: --dst-prefix=<prefixo>

note: type: Plain text
en: Show the given destination prefix instead of "b/".
pt_BR: Exiba o prefixo do destino utilizado em vez de "b/".

note: type: Plain text
en: Do not show any source or destination prefix.
pt_BR: Não exiba nenhum prefixo da origem ou destino.

note: type: Labeled list
en: --line-prefix=<prefix>
pt_BR: --line-prefix=<prefixo>

note: type: Plain text
en: Prepend an additional prefix to every line of output.
pt_BR: Prefira um prefixo adicional em cada linha produzida.

note: type: Plain text
en: By default entries added by "git add -N" appear as an existing empty file in "git diff" and a new file in "git diff --cached".  This option makes the entry appear as a new file in "git diff" and non-existent in "git diff --cached". This option could be reverted with `--ita-visible-in-index`. Both options are experimental and could be removed in future.
pt_BR: É predefinido que as entradas adicionadas através do comando "git add -N" apareçam como uma cadeia de caracteres vazia existente com o comando "git diff" e um novo arquivo com "git diff --cached".  Esta opção faz com que a entrada apareça como um novo arquivo no "git diff" e inexistente no "git diff --cached". Esta opção pode ser revertida com `--ita-visible-in-index`. Ambas as opções são experimentais e podem ser removidas no futuro.

note: type: Plain text
en: For more detailed explanation on these common options, see also linkgit:gitdiffcore[7].
pt_BR: Para uma explicação mais detalhada sobre estas opções comuns, consulte também linkgit:gitdiffcore[7].

note: type: Plain text
en: Fetch all remotes.
pt_BR: Capture todos os ramos remotos.

note: type: Plain text
en: Append ref names and object names of fetched refs to the existing contents of `.git/FETCH_HEAD`.  Without this option old data in `.git/FETCH_HEAD` will be overwritten.
pt_BR: Acrescente nomes ao "ref" e os nomes dos objetos refs capturados ao conteúdo existente de `.git/FETCH_HEAD`.  Sem esta opção, os dados antigos em `.git/FETCH_HEAD` serão substituídos.

note: type: Labeled list
en: --depth=<depth>
pt_BR: --depth=<profundidade>

note: type: Plain text
en: Limit fetching to the specified number of commits from the tip of each remote branch history. If fetching to a 'shallow' repository created by `git clone` with `--depth=<depth>` option (see linkgit:git-clone[1]), deepen or shorten the history to the specified number of commits. Tags for the deepened commits are not fetched.
pt_BR: Limite a captura para uma quantidade específica de commits na ponta do histórico de cada ramificação remota. Caso esteja capturando um repositório 'shallow' (superficial) criado pelo `git clone` com a opção `--depth=<profundidade>` (consulte linkgit:git-clone[1]), aprofunde ou encurte o histórico para a quantidade especificada de commits. As tags para os commits aprofundados não são capturados.

note: type: Labeled list
en: --deepen=<depth>
pt_BR: --deepen=<profundidade>

note: type: Plain text
en: Similar to --depth, except it specifies the number of commits from the current shallow boundary instead of from the tip of each remote branch history.
pt_BR: Semelhante a opção `--depth`, exceto que especifica a quantidade de commits do limite raso atual em vez da ponta de cada histórico do ramo remoto.

note: type: Labeled list
en: --shallow-since=<date>
pt_BR: --shallow-since=<data>

note: type: Plain text
en: Deepen or shorten the history of a shallow repository to include all reachable commits after <date>.
pt_BR: Aprofunde ou encurte o histórico de um repositório raso para incluir todas os commits acessíveis após a <data>.

note: type: Labeled list
en: --shallow-exclude=<revision>
pt_BR: --shallow-exclude=<revisão>

note: type: Plain text
en: Deepen or shorten the history of a shallow repository to exclude commits reachable from a specified remote branch or tag.  This option can be specified multiple times.
pt_BR: Aprofunde ou diminua o histórico de um repositório raso para excluir os commits acessíveis vindos de uma determinada tag ou ramificação remota.  Esta opção pode ser utilizada várias vezes.

note: type: Plain text
en: If the source repository is complete, convert a shallow repository to a complete one, removing all the limitations imposed by shallow repositories.
pt_BR: Caso o repositório de origem esteja completo, converta um repositório raso em um completo, removendo todas as limitações impostas pelos repositórios rasos.

note: type: Plain text
en: If the source repository is shallow, fetch as much as possible so that the current repository has the same history as the source repository.
pt_BR: Caso o repositório de origem seja superficial, busque o máximo possível para que o repositório atual tenha o mesmo histórico que o repositório de origem.

note: type: Plain text
en: By default when fetching from a shallow repository, `git fetch` refuses refs that require updating .git/shallow. This option updates .git/shallow and accept such refs.
pt_BR: É predefinido que durante a captura em um repositório superficial, o `git fetch` recuse os refs que exijam a atualização do `.git/shallow`. Esta opção atualiza o `.git/shallow` e aceita tais refs.

note: type: Plain text
en: By default, Git will report, to the server, commits reachable from all local refs to find common commits in an attempt to reduce the size of the to-be-received packfile. If specified, Git will only report commits reachable from the given tips.  This is useful to speed up fetches when the user knows which local ref is likely to have commits in common with the upstream ref being fetched.
pt_BR: É predefinido que o Git relatará ao servidor os commits acessíveis de todos as refs locais para que localize os commits comuns na tentativa de reduzir o tamanho do pacote que será recebido. Caso seja utilizado, o Git relatará apenas os commits acessíveis a partir das dicas informadas.  Útil para acelerar o processo "fetch" quando o usuário sabe qual a ref local que provavelmente, haverá commits em comum com uma ref upstream que está sendo capturada.

note: type: Plain text
en: This option may be specified more than once; if so, Git will report commits reachable from any of the given commits.
pt_BR: Esta opção pode ser utilizada mais de uma vez; Se assim for, o Git irá reportar os commits de qualquer um dos commits informados.

note: type: Plain text
en: The argument to this option may be a glob on ref names, a ref, or the (possibly abbreviated) SHA-1 of a commit. Specifying a glob is equivalent to specifying this option multiple times, one for each matching ref name.
pt_BR: O argumento para esta opção pode ser um "ref" aos nomes de referência, uma referência ou o (possivelmente abreviado) SHA-1 de um commit. Especificar um agrupamento é o equivalente a utilizar esta opção várias vezes, uma para cada nome "ref" coincidente.

note: type: Plain text
en: See also the `fetch.negotiationAlgorithm` configuration variable documented in linkgit:git-config[1].
pt_BR: Consulte também a variável de configuração `fetch.negotiationAlgorithm` documentada em linkgit:git-config[1].

note: type: Plain text
en: Show what would be done, without making any changes.
pt_BR: Exiba apenas o que seria feito, sem fazer quaisquer alterações.

note: type: Plain text
en: When 'git fetch' is used with `<src>:<dst>` refspec it may refuse to update the local branch as discussed
pt_BR: Quando 'git fetch' é utilizado com `<src>:<dst>` "refspec" ele pode se recusar a atualizar o ramo local como discutido

note: type: Plain text
en: 	in the `<refspec>` part of the linkgit:git-fetch[1]
    	documentation.
pt_BR: 	na parte `<refspec>` da documentação do
    	linkgit:git-fetch[1].

note: type: Plain text
en: 	in the `<refspec>` part below.
pt_BR: 	na parte `<refspec>` abaixo.

note: type: Plain text
en: 	This option overrides that check.
pt_BR: 	Esta opção sobrescreve esta verificação.

note: type: Plain text
en: Keep downloaded pack.
pt_BR: Mantenha o pacote que foi baixado.

note: type: Plain text
en: Allow several <repository> and <group> arguments to be specified. No <refspec>s may be specified.
pt_BR: Permita que vários argumentos <repositório> e <grupo> sejam utilizados. Nenhum `<refspec>` pode ser utilizado.

note: type: Plain text
en: Run `git gc --auto` at the end to perform garbage collection if needed. This is enabled by default.
pt_BR: Execute o `git gc --auto` no final para executar a coleta de lixo, caso seja necessário. A predefinição é, sempre ativado.

note: type: Plain text
en: Write a commit-graph after fetching. This overrides the config setting `fetch.writeCommitGraph`.
pt_BR: Grave um grafo do commit após a captura remota. Este sobrescreve a configuração `fetch.writeCommitGraph`.

note: type: Plain text
en: Before fetching, remove any remote-tracking references that no longer exist on the remote.  Tags are not subject to pruning if they are fetched only because of the default tag auto-following or due to a --tags option.  However, if tags are fetched due to an explicit refspec (either on the command line or in the remote configuration, for example if the remote was cloned with the --mirror option), then they are also subject to pruning. Supplying `--prune-tags` is a shorthand for providing the tag refspec.
pt_BR: Antes de capturar, remova as referências do rastreamento remoto que não exista mais remotamente.  As tags não estão sujeitas a remoção caso sejam capturadas apenas por causa do acompanhamento automático da tag predefinida ou devido a uma opção `--tags`.  No entanto, caso as tags seja capturadas por causa de um "refspec" explícito (na linha de comandos ou na configuração remota, por exemplo, caso haja uma clonagem remota com a opção `--mirror`), elas também estarão sujeitas a remoção. Informar a opção `--prune-tags` é uma abreviação para informar a tag refspec.

note: type: Plain text
en: See the PRUNING section below for more details.
pt_BR: Consulte a seção de PRUNING abaixo para mais detalhes.

note: type: Labeled list
en: -P
pt_BR: -p

note: type: Plain text
en: Before fetching, remove any local tags that no longer exist on the remote if `--prune` is enabled. This option should be used more carefully, unlike `--prune` it will remove any local references (local tags) that have been created. This option is a shorthand for providing the explicit tag refspec along with `--prune`, see the discussion about that in its documentation.
pt_BR: Antes de capturar, remova as tags locais que não existam mais remotamente caso a opção `--prune` esteja ativa. Esta opção deve ser utilizada com mais cuidado, ao contrário da opção `--prune`, ela removerá todas as referências locais (tags locais) que forem criadas. Esta opção é um atalho para informar a tag explícita refspec junto com a opção `--prune`, consulte a discussão sobre isso em sua documentação.

note: type: Plain text
en: By default, tags that point at objects that are downloaded from the remote repository are fetched and stored locally.  This option disables this automatic tag following. The default behavior for a remote may be specified with the remote.<name>.tagOpt setting. See linkgit:git-config[1].
pt_BR: É predefinido que as tags que apontem para os objetos baixados do repositório remoto sejam capturados e armazenadas localmente.  Esta opção desativa essa tag automática a seguir. O comportamento remoto predefinido pode ser especificado com a configuração remote.<nome>.tagOpt. Consulte linkgit:git-config[1].

note: type: Plain text
en: When fetching refs listed on the command line, use the specified refspec (can be given more than once) to map the refs to remote-tracking branches, instead of the values of `remote.*.fetch` configuration variables for the remote repository.  Providing an empty `<refspec>` to the `--refmap` option causes Git to ignore the configured refspecs and rely entirely on the refspecs supplied as command-line arguments. See section on "Configured Remote-tracking Branches" for details.
pt_BR: Ao capturar as refs listadas na linha de comando, utilize o "refspec" informado (pode ser utilizado mais de uma vez) para mapear os refs para as ramificações rastreadas remotamente em vez dos valores das variáveis da configuração `remote.*.fetch` para o repositório remoto.  Informe um `<refspec>` vazio à opção `--refmap` faz com que o Git ignore os "refspecs" configurados e confie inteiramente nos "refspecs" informados como os argumentos da linha de comando. Para mais detalhes consulte a seção "Configuração dos Ramos Monitorados Remotamente".

note: type: Plain text
en: Fetch all tags from the remote (i.e., fetch remote tags `refs/tags/*` into local tags with the same name), in addition to whatever else would otherwise be fetched.  Using this option alone does not subject tags to pruning, even if --prune is used (though tags may be pruned anyway if they are also the destination of an explicit refspec; see `--prune`).
pt_BR: Capture todas as tags remotas (ou seja, capture as tags remotas `refs/tags/*` nas tags locais com o mesmo nome), além de qualquer outra coisa que possa ser capturada.  O uso desta opção por si só não sujeita a remoção das tags, mesmo que `--prune` seja utilizado (embora as tags possam ser removidas de qualquer maneira, caso também sejam o destino de um "refspec" explícito; consulte `--prune`).

note: type: Plain text
en: This option controls if and under what conditions new commits of populated submodules should be fetched too. It can be used as a boolean option to completely disable recursion when set to 'no' or to unconditionally recurse into all populated submodules when set to 'yes', which is the default when this option is used without any value. Use 'on-demand' to only recurse into a populated submodule when the superproject retrieves a commit that updates the submodule's reference to a commit that isn't already in the local submodule clone. By default, 'on-demand' is used, unless `fetch.recurseSubmodules` is set (see linkgit:git-config[1]).
pt_BR: Essa opção controla se e sob quais condições os novos commits dos submódulos preenchidos também devem ser capturadas. Pode ser utilizado como uma opção booleana para desativar completamente a recursão quando definido como 'no' ou para recursar incondicionalmente em todos os sub-módulos preenchidos quando definido como 'sim', que é a predefinição quando esta opção é utilizada sem qualquer valor. Utilize 'on demand' para re-examinar apenas em um submódulo preenchido quando o superprojeto recuperar um commit que atualize a referência do submódulo para um commit que ainda não esteja no clone do submódulo local. É predefinido que 'on demand' seja utilizado, a menos que `fetch.recurseSubmodules` seja definido (consulte linkgit:git-config[1]).

note: type: Plain text
en: Number of parallel children to be used for all forms of fetching.
pt_BR: A quantidade de processos paralelos que serão utilizados para todas as formas de captura.

note: type: Plain text
en: If the `--multiple` option was specified, the different remotes will be fetched in parallel. If multiple submodules are fetched, they will be fetched in parallel. To control them independently, use the config settings `fetch.parallel` and `submodule.fetchJobs` (see linkgit:git-config[1]).
pt_BR: Caso a opção `--multiple` seja utilizada, os diferentes ramos remotos serão capturados em paralelo. Caso vários submódulos sejam capturados, estes serão capturados em paralelo. Para controlá-los de forma independente, utilize as definições da configuração `fetch.parallel` e `submodule.fetchJobs` (consulte linkgit:git-config[1]).

note: type: Plain text
en: Typically, parallel recursive and multi-remote fetches will be faster. By default fetches are performed sequentially, not in parallel.
pt_BR: Normalmente, as capturas remotas dos múltiplos ramos de forma paralela e recursiva serão mais rápidas. A predefinição é realizar as capturas em sequência e não em paralelo.

note: type: Plain text
en: Disable recursive fetching of submodules (this has the same effect as using the `--recurse-submodules=no` option).
pt_BR: Desative a captura recursiva dos submódulos (tem o mesmo efeito que utilizar a opção `--recurse-submodules=no`).

note: type: Plain text
en: If the remote is fetched successfully, pull and add upstream (tracking) reference, used by argument-less linkgit:git-pull[1] and other commands. For more information, see `branch.<name>.merge` and `branch.<name>.remote` in linkgit:git-config[1].
pt_BR: Caso a captura remota seja bem sucedida, uma referência de rastreamento `pull` e `add` será adicionada ao "upstream", utilizado pelo argumento `less` linkgit:git-pull[1] e outros comandos. Para mais informações, consulte `branch.<nome>.merge` e `branch.<nome>.remote` em linkgit:git-config[1].

note: type: Labeled list
en: --submodule-prefix=<path>
pt_BR: --submodule-prefix=<caminho>

note: type: Plain text
en: Prepend <path> to paths printed in informative messages such as "Fetching submodule foo".  This option is used internally when recursing over submodules.
pt_BR: Anexe o `<caminho>` para os caminhos impressos nas mensagens informativas como "Recolhendo o submódulo foo".  Esta opção é utilizada internamente quando recorrer as submódulos.

note: type: Plain text
en: This option is used internally to temporarily provide a non-negative default value for the --recurse-submodules option.  All other methods of configuring fetch's submodule recursion (such as settings in linkgit:gitmodules[5] and linkgit:git-config[1]) override this option, as does specifying --[no-]recurse-submodules directly.
pt_BR: Esta opção é utilizada internamente para prover temporariamente um valor não negativo da forma predefinida para a opção `--recurse-submodules`.  Todos os outros métodos de configurar a recursão do submódulo `fetch` (como as configurações em linkgit:gitmodules[5] e linkgit:git-config[1]) sobrescreva esta opção utilizando `--[no-]recurse-submodules` diretamente.

note: type: Plain text
en: By default 'git fetch' refuses to update the head which corresponds to the current branch.  This flag disables the check.  This is purely for the internal use for 'git pull' to communicate with 'git fetch', and unless you are implementing your own Porcelain you are not supposed to use it.
pt_BR: É predefinido que o 'git fetch' se recuse a atualizar o cabeçalho que corresponde ao ramo atual.  Esta flag desativa esta verificação.  Serve apenas para a utilização interna do 'git pull' para se comunicar com o 'git fetch', a menos que esteja implementando a sua própria porcelana, você não deve utilizá-la.

note: type: Labeled list
en: --upload-pack <upload-pack>
pt_BR: --upload-pack <pacote-para-envio>

note: type: Plain text
en: When given, and the repository to fetch from is handled by 'git fetch-pack', `--exec=<upload-pack>` is passed to the command to specify non-default path for the command run on the other end.
pt_BR: Quando o repositório é informado para capturar e que seja manipulado por 'git fetch-pack', o `--exec=<upload-pack>` é passado para o comando utilizar um caminho alternativo para o comando executado na outra extremidade.

note: type: Plain text
en: Pass --quiet to git-fetch-pack and silence any other internally used git commands. Progress is not reported to the standard error stream.
pt_BR: Repasse a opção `--quiet` para o `git-fetch-pack` e silencie qualquer outro comando git utilizado internamente. O progresso não é relatado para o fluxo de erro predefinido.

note: type: Plain text
en: Be verbose.
pt_BR: Seja loquaz.

note: type: Plain text
en: Progress status is reported on the standard error stream by default when it is attached to a terminal, unless -q is specified. This flag forces progress status even if the standard error stream is not directed to a terminal.
pt_BR: É predefinido que a condição geral do progresso seja relatada no fluxo de erros quando estiver conectado em um terminal, a menos que `-q` seja utilizado. Esta opção impõem a condição geral do progresso, mesmo que o fluxo de erro predefinido não seja direcionado para um terminal.

note: type: Labeled list
en: -o <option>
pt_BR: -o <opção>

note: type: Labeled list
en: --server-option=<option>
pt_BR: --server-option=<opção>

note: type: Plain text
en: Transmit the given string to the server when communicating using protocol version 2.  The given string must not contain a NUL or LF character.  The server's handling of server options, including unknown ones, is server-specific.  When multiple `--server-option=<option>` are given, they are all sent to the other side in the order listed on the command line.
pt_BR: Transmita a sequência especificada para o servidor ao se comunicar utilizando o protocolo versão 2.  A sequência informada não deve conter um caractere `NUL` ou `LF`.  O tratamento das opções do servidor, incluindo os desconhecidos, é específico do servidor.  Quando a opção `--server-option=<opção>` forem utilizadas várias vezes, todos serão enviados para o outro lado na ordem listada na linha de comando.

note: type: Plain text
en: By default, git checks if a branch is force-updated during fetch. This can be disabled through fetch.showForcedUpdates, but the --show-forced-updates option guarantees this check occurs.  See linkgit:git-config[1].
pt_BR: É predefinido que o Git verifique se a atualização do ramo foi imposta durante uma captura. Pode ser desativado por meio de `fetch.showForcedUpdates`, porém a opção `--show-forced-updates garante que essa verificação ocorra.  Consulte linkgit:git-config[1].

note: type: Plain text
en: By default, git checks if a branch is force-updated during fetch. Pass --no-show-forced-updates or set fetch.showForcedUpdates to false to skip this check for performance reasons. If used during 'git-pull' the --ff-only option will still check for forced updates before attempting a fast-forward update. See linkgit:git-config[1].
pt_BR: É predefinido que o Git verifique se a atualização do ramo foi imposta durante uma captura. Utilize a opção `--no-show-forced-updates` ou defina `fetch.showForcedUpdates` como to `false` para ignorar esta verificação por questões de desempenho. Se utilizada durante o `git-pull`, a opção `--ff-only` ainda verificará quais as atualizações foram impostas antes de tentar uma atualização rápida. Consulte linkgit:git-config[1].

note: type: Plain text
en: Use IPv4 addresses only, ignoring IPv6 addresses.
pt_BR: Utilize apenas os endereços IPv4, ignorando os endereços IPv6.

note: type: Plain text
en: Use IPv6 addresses only, ignoring IPv4 addresses.
pt_BR: Utilize apenas os endereços IPv6, ignorando os endereços IPv4.

note: type: Title -
en: NAME
pt_BR: NOME

note: type: Plain text
en: git-add - Add file contents to the index
pt_BR: git-add - Adicione o conteúdo do arquivo ao índice

note: type: Title -
en: SYNOPSIS
pt_BR: RESUMO

note: type: Plain text
en: 'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]
    	  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]
    	  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing] [--renormalize]
    	  [--chmod=(+|-)x] [--pathspec-from-file=<file> [--pathspec-file-nul]]
    	  [--] [<pathspec>...]
pt_BR: 'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]
    	  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]
    	  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing] [--renormalize]
    	  [--chmod=(+|-)x] [--pathspec-from-file=<arquivo> [--pathspec-file-nul]]
    	  [--] [<pathspec>...]

note: type: Title -
en: DESCRIPTION
pt_BR: DESCRIÇÃO

note: type: Plain text
en: This command updates the index using the current content found in the working tree, to prepare the content staged for the next commit.  It typically adds the current content of existing paths as a whole, but with some options it can also be used to add content with only part of the changes made to the working tree files applied, or remove paths that do not exist in the working tree anymore.
pt_BR: Este comando atualiza o índice utilizando o conteúdo atual encontrado na árvore de trabalho para preparar o conteúdo para o próximo commit.  Em geral ele adiciona o conteúdo atual dos caminhos existentes como um todo, mas com algumas opções ele também pode ser utilizado para adicionar o conteúdo com apenas a parte das alterações aplicadas nos arquivos da árvore de trabalho ou remover os caminhos que não existam mais na árvore de trabalho.

note: type: Plain text
en: The "index" holds a snapshot of the content of the working tree, and it is this snapshot that is taken as the contents of the next commit.  Thus after making any changes to the working tree, and before running the commit command, you must use the `add` command to add any new or modified files to the index.
pt_BR: O "index" (ou índice) contém um instantâneo do conteúdo da árvore de trabalho que é tomado como o conteúdo do próximo commit.  Portanto, depois de fazer alterações na árvore de trabalho e antes de executar o comando commit, você deve utilizar o comando `add` para adicionar qualquer aquivo novo ou que foi modificado ao índice.

note: type: Plain text
en: This command can be performed multiple times before a commit.  It only adds the content of the specified file(s) at the time the add command is run; if you want subsequent changes included in the next commit, then you must run `git add` again to add the new content to the index.
pt_BR: Este comando pode ser executado várias vezes antes de um commit.  Ele adiciona apenas o conteúdo do(s) arquivo(s) informados(s) no momento em que o comando `add` for executado; caso queira que as alterações subsequentes sejam incluídas no próximo commit, execute o comando `git add` novamente para adicionar o novo conteúdo ao índice.

note: type: Plain text
en: The `git status` command can be used to obtain a summary of which files have changes that are staged for the next commit.
pt_BR: O comando `git status` pode ser utilizado para obter um resumo de quais os arquivos que possuem as alterações que foram testadas para o próximo commit.

note: type: Plain text
en: The `git add` command will not add ignored files by default.  If any ignored files were explicitly specified on the command line, `git add` will fail with a list of ignored files.  Ignored files reached by directory recursion or filename globbing performed by Git (quote your globs before the shell) will be silently ignored.  The 'git add' command can be used to add ignored files with the `-f` (force) option.
pt_BR: É predefinido que o comando `git add` não adicione os arquivos que foram ignorados.  Caso algum arquivo ignorado seja especificado explicitamente na linha de comando, o `git add` falhará com uma lista de arquivos ignorados.  Arquivos ignorados alcançados de forma recursiva no diretório ou agrupamento do nome dos arquivos executados pelo Git (cite os seus agrupamentos antes do shell) serão ignorados silenciosamente.  O comando 'git add' pode ser utilizado para adicionar os arquivos ignorados com a opção `-f` (impor).

note: type: Plain text
en: Please see linkgit:git-commit[1] for alternative ways to add content to a commit.
pt_BR: Consulte linkgit:git-commit[1] para ver as formas alternativas de adicionar um conteúdo a um commit.

note: type: Title -
en: OPTIONS
pt_BR: OPÇÕES

note: type: Plain text
en: Files to add content from.  Fileglobs (e.g. `*.c`) can be given to add all matching files.  Also a leading directory name (e.g. `dir` to add `dir/file1` and `dir/file2`) can be given to update the index to match the current state of the directory as a whole (e.g.  specifying `dir` will record not just a file `dir/file1` modified in the working tree, a file `dir/file2` added to the working tree, but also a file `dir/file3` removed from the working tree). Note that older versions of Git used to ignore removed files; use `--no-all` option if you want to add modified or new files but ignore removed ones.
pt_BR: Os arquivos que serão adicionados ao conteúdo.  Os agrupamentos dos arquivos (`*.c` por exemplo) podem ser utilizados para adicionar todos os arquivos coincidentes.  Também um nome do diretório principal (`dir` para adicionar `dir/arquivo1` e `dir/arquivo2` por exemplo) pode ser utilizados para atualizar o índice para coincidir a condição atual do diretório como um todo (definindo o `dir` gravará não apenas um arquivo `dir/arquivo1` modificado na árvore de trabalho, um arquivo `dir/arquivo2` adicionado à árvore de trabalho, mas também um arquivo `dir/arquivo3` que será removido da árvore de trabalho por exemplo). Observe que as versões mais antigas do Git costumavam ignorar os arquivos removidos; utilize a opção `--no-all` caso queira adicionar os arquivos novos ou alterados, porém ignore os que foram removidos.

note: type: Plain text
en: For more details about the <pathspec> syntax, see the 'pathspec' entry in linkgit:gitglossary[7].
pt_BR: Para mais detalhes sobre a sintaxe `<pathspec>`, consulte a entrada 'pathspec' em linkgit:gitglossary[7].

note: type: Plain text
en: Don't actually add the file(s), just show if they exist and/or will be ignored.
pt_BR: Na verdade, não adicione o(s) arquivo(s), apenas demonstre se eles existem e/ou serão ignorados.

note: type: Plain text
en: Allow adding otherwise ignored files.
pt_BR: Permitir a inclusão dos arquivos que já foram ignorados por outros motivos.

note: type: Plain text
en: Add modified contents in the working tree interactively to the index. Optional path arguments may be supplied to limit operation to a subset of the working tree. See ``Interactive mode'' for details.
pt_BR: Adicione o conteúdo modificado interativamente ao índice da árvore de trabalho. Os argumentos opcionais do caminho podem ser utilizados para limitar a operação em um subconjunto da árvore de trabalho. Para mais detalhes consulte ``modo interativo''.

note: type: Plain text
en: Interactively choose hunks of patch between the index and the work tree and add them to the index. This gives the user a chance to review the difference before adding modified contents to the index.
pt_BR: Escolha interativamente os pedaços do patch entre o índice e a árvore de trabalho para ser adicionado ao índice. Permite que usuário revise a diferença antes de adicionar o conteúdo modificado ao índice.

note: type: Plain text
en: This effectively runs `add --interactive`, but bypasses the initial command menu and directly jumps to the `patch` subcommand.  See ``Interactive mode'' for details.
pt_BR: Efetivamente executa o comando `add --interactive` porém ignora o menu do comando inicial e salta diretamente para o subcomando` patch`.  Para mais detalhes consulte ``modo interativo''.

note: type: Plain text
en: Open the diff vs. the index in an editor and let the user edit it.  After the editor was closed, adjust the hunk headers and apply the patch to the index.
pt_BR: Abra o diff em conjunto com o índice em um editor e deixe que o usuário o edite.  Após o fechamento do editor, ajuste os cabeçalhos dos pedaços e aplique o patch no índice.

note: type: Plain text
en: The intent of this option is to pick and choose lines of the patch to apply, or even to modify the contents of lines to be staged. This can be quicker and more flexible than using the interactive hunk selector.  However, it is easy to confuse oneself and create a patch that does not apply to the index. See EDITING PATCHES below.
pt_BR: O objetivo desta opção é escolher as linhas do patch que serão aplicadas ou mesmo para modificar o conteúdo das linhas que serão preparadas. Isso pode ser mais rápido e flexível do que utilizar o seletor interativo de pedaços.  No entanto, é fácil se confundir e criar um patch que não se aplica ao índice. Consulte a seção EDIÇÃO DE PATCHES abaixo.

note: type: Plain text
en: Update the index just where it already has an entry matching <pathspec>.  This removes as well as modifies index entries to match the working tree, but adds no new files.
pt_BR: Atualize o índice exatamente onde ele já possua uma entrada que coincida com o `<pathspec>`.  Remove e altera as entradas no índice para coincidir com a árvore de trabalho sem adicionar novos arquivos.

note: type: Plain text
en: If no <pathspec> is given when `-u` option is used, all tracked files in the entire working tree are updated (old versions of Git used to limit the update to the current directory and its subdirectories).
pt_BR: Caso nenhum `<pathspec>` seja informado durante o uso da opção `-u`, todos os arquivos monitorados na árvore de trabalho serão atualizados (as versões antigas do Git costumavam limitar a atualização ao diretório atual e seus subdiretórios).

note: type: Plain text
en: Update the index not only where the working tree has a file matching <pathspec> but also where the index already has an entry. This adds, modifies, and removes index entries to match the working tree.
pt_BR: Atualize o índice não apenas onde a árvore de trabalho possa um arquivo que coincida com o `<pathspec>` mas também onde o índice já possua uma entrada. Adiciona, modifica e remove as entradas do índice para que coincida com a árvore de trabalho.

note: type: Plain text
en: If no <pathspec> is given when `-A` option is used, all files in the entire working tree are updated (old versions of Git used to limit the update to the current directory and its subdirectories).
pt_BR: Caso nenhum `<pathspec>` seja informado durante o uso da opção `-A`, todos os arquivos na árvore de trabalho serão atualizados (as versões antigas do Git costumavam limitar a atualização ao diretório atual e seus subdiretórios).

note: type: Plain text
en: Update the index by adding new files that are unknown to the index and files modified in the working tree, but ignore files that have been removed from the working tree.  This option is a no-op when no <pathspec> is used.
pt_BR: Atualize o índice adicionando os novos arquivos que sejam desconhecidos ao índice e os arquivos modificados na árvore de trabalho, no entanto ignore aqueles arquivos que foram removidos da árvore de trabalho.  Esta opção não funciona quando `<pathspec>` não é utilizado.

note: type: Plain text
en: This option is primarily to help users who are used to older versions of Git, whose "git add <pathspec>..." was a synonym for "git add --no-all <pathspec>...", i.e. ignored removed files.
pt_BR: Esta opção serve principalmente para ajudar os usuários que estão acostumados com as versões mais antigas do Git, cujo `git add <pathspec>...` era um sinônimo para `git add --no-all <pathspec>...`, isto é, ignora a remoção dos arquivos.

note: type: Plain text
en: Record only the fact that the path will be added later. An entry for the path is placed in the index with no content. This is useful for, among other things, showing the unstaged content of such files with `git diff` and committing them with `git commit -a`.
pt_BR: Registre apenas o fato de onde caminho será adicionado posteriormente. Uma entrada para o caminho é colocada ao índice sem nenhum conteúdo. É útil para, entre outras coisas, para exibir os conteúdos dos tais arquivos que não foram preparados com o comando `git diff` e que o commit não foi feito com `git commit -a`.

note: type: Plain text
en: Don't add the file(s), but only refresh their stat()  information in the index.
pt_BR: Não adicione o(s) arquivo(s), apenas renove as suas informações stat() no índice.

note: type: Plain text
en: If some files could not be added because of errors indexing them, do not abort the operation, but continue adding the others. The command shall still exit with non-zero status.  The configuration variable `add.ignoreErrors` can be set to true to make this the default behaviour.
pt_BR: Caso alguns arquivos não possam ser adicionados por motivos de erros durante a indexação, não interrompa a operação e continue a adicionar os outros que não tenham erros. O comando ainda deve sair com a condição diferente de zero.  Para que este comportamento esteja sempre ativado, a variável de configuração `add.ignoreErrors` pode ser definida como 'true'.

note: type: Plain text
en: This option can only be used together with --dry-run. By using this option the user can check if any of the given files would be ignored, no matter if they are already present in the work tree or not.
pt_BR: Esta opção só pode ser utilizada em conjunto com a opção `--dry-run`. Ao utilizar esta opção, o usuário pode verificar se algum dos arquivos informados seriam ignorados, independentemente caso já estejam presentes na árvore de trabalho ou não.

note: type: Plain text
en: By default, `git add` will warn when adding an embedded repository to the index without using `git submodule add` to create an entry in `.gitmodules`. This option will suppress the warning (e.g., if you are manually performing operations on submodules).
pt_BR: É predefinido que o comando `git add` avisará ao adicionar um repositório incorporado ao índice sem utilizar o comando `git submodule add` para criar uma entrada no `.gitmodules`. Esta opção suprimirá o alerta (caso esteja executando as operações manualmente nos submódulos por exemplo).

note: type: Plain text
en: Apply the "clean" process freshly to all tracked files to forcibly add them again to the index.  This is useful after changing `core.autocrlf` configuration or the `text` attribute in order to correct files added with wrong CRLF/LF line endings.  This option implies `-u`.
pt_BR: Aplique o processo "limpo" em todos os arquivos monitorados para impor a sua adição novamente ao índice.  É útil após alterar a configuração da variável `core.autocrlf` ou do atributo` text` para corrigir os arquivos que foram adicionados com caracteres de quebra de linha `CRLF` ou `LF` incorretas.  Implica no uso da opção `-u`.

note: type: Plain text
en: Override the executable bit of the added files.  The executable bit is only changed in the index, the files on disk are left unchanged.
pt_BR: Substitua o bit executável dos arquivos que foram adicionados.  Apenas no índice que o bit executável é alterado, os arquivos no disco permanecem inalterados.

note: type: Labeled list
en: --pathspec-from-file=<file>
pt_BR: --pathspec-from-file=<arquivo>

note: type: Plain text
en: Pathspec is passed in `<file>` instead of commandline args. If `<file>` is exactly `-` then standard input is used. Pathspec elements are separated by LF or CR/LF. Pathspec elements can be quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]). See also `--pathspec-file-nul` and global `--literal-pathspecs`.
pt_BR: O "pathspec" é passado com `<arquivo>` em vez dos argumentos da linha de comando. Caso o `<arquivo>` seja exatamente `-`, a entrada padrão será utilizada. Os elementos do "pathspec" são separados por caracteres de término de linha `LF` ou `CR/LF`. Os elementos do "pathspec" podem ser citados conforme explicado na variável de configuração `core.quotePath` (consulte linkgit:git-config[1]). Consulte também opção `--pathspec-file-nul` e o global `--literal-pathspecs`.

note: type: Plain text
en: Only meaningful with `--pathspec-from-file`. Pathspec elements are separated with NUL character and all other characters are taken literally (including newlines and quotes).
pt_BR: Só faz algum sentido caso seja utilizado junto com a opção `--pathspec-from-file`. Os elementos "pathspec" são separados com caracteres `NUL` e todos os outros caracteres são considerados de forma literal (incluindo as novas linhas e as citações).

note: type: Plain text
en: This option can be used to separate command-line options from the list of files, (useful when filenames might be mistaken for command-line options).
pt_BR: Esta opção pode ser utilizada para separar as opções da linha de comandos da lista dos arquivos (útil quando os nomes do arquivo puderem ser confundidos com as opções da linha de comando).

note: type: Title -
en: EXAMPLES
pt_BR: EXEMPLOS

note: type: Plain text
en: Adds content from all `*.txt` files under `Documentation` directory and its subdirectories:
pt_BR: Adiciona conteúdo de todos os arquivos `*.txt` sob o diretório `Documentation` com os seus respectivos subdiretórios:

note: type: Plain text
en: Note that the asterisk `*` is quoted from the shell in this example; this lets the command include the files from subdirectories of `Documentation/` directory.
pt_BR: Observe que o asterisco `*` neste exemplo é citado do shell; isso permite que o comando inclua todos os arquivos dos subdiretórios do diretório `Documentation/`.

note: type: Plain text
en: Considers adding content from all git-*.sh scripts:
pt_BR: Considera a adição do conteúdo de todos os scripts `git-*.sh`:

note: type: Plain text
en: Because this example lets the shell expand the asterisk (i.e. you are listing the files explicitly), it does not consider `subdir/git-foo.sh`.
pt_BR: Pelo fato deste exemplo permitir que o shell expanda o asterisco (ou seja, você está listando os arquivos de forma explicita), ele desconsidera o `subdir/git-foo.sh`.

note: type: Title -
en: INTERACTIVE MODE
pt_BR: MODO INTERATIVO

note: type: Plain text
en: When the command enters the interactive mode, it shows the output of the 'status' subcommand, and then goes into its interactive command loop.
pt_BR: Quando o comando entra no modo interativo, ele exibe a saída do subcomando 'status' e entra em seu loop de comando interativo.

note: type: Plain text
en: The command loop shows the list of subcommands available, and gives a prompt "What now> ".  In general, when the prompt ends with a single '>', you can pick only one of the choices given and type return, like this:
pt_BR: O loop de comando exibe a lista de subcomandos disponíveis e fornece o prompt "Agora o quê>".  Em geral, quando o prompt termina com um único '>', é possível escolher apenas uma das opções informadas e teclar "Enter" para selecioná-la:

note: type: delimited block -
en:     *** Commands ***
          1: status       2: update       3: revert       4: add untracked
          5: patch        6: diff         7: quit         8: help
        What now> 1
pt_BR:     *** Comandos ***
          1: status       2: atualiza       3: reverte       4: adiciona sem monitoramento
          5: patch        6: diff           7: encerra       8: ajuda
        Agora o quê> 1

note: type: Plain text
en: You also could say `s` or `sta` or `status` above as long as the choice is unique.
pt_BR: Também é possível utilizar `s` ou `sta` ou `status` acima, desde que a escolha seja única.

note: type: Plain text
en: The main command loop has 6 subcommands (plus help and quit).
pt_BR: O loop do comando principal tem 6 subcomandos (incluindo a ajuda e encerrar).

note: type: Plain text
en: This shows the change between HEAD and index (i.e. what will be committed if you say `git commit`), and between index and working tree files (i.e. what you could stage further before `git commit` using `git add`) for each path.  A sample output looks like this:
pt_BR: Exibe a alteração entre o `HEAD` e o índice (ou seja, o commit que será caso utilize o comando `git commit`) e entre o índice e os arquivos da árvore de trabalho (ou seja, o que você poderia realizar antes do comando `git commit` utilizando o comando `git add`) para cada caminho.  Uma amostra da saída fica assim:

note: type: Plain text
en: It shows that foo.png has differences from HEAD (but that is binary so line count cannot be shown) and there is no difference between indexed copy and the working tree version (if the working tree version were also different, 'binary' would have been shown in place of 'nothing').  The other file, git-add{litdd}interactive.perl, has 403 lines added and 35 lines deleted if you commit what is in the index, but working tree file has further modifications (one addition and one deletion).
pt_BR: Demonstra que foo.png tem diferenças em relação ao `HEAD` (mas por ser binário a contagem das linhas não pode ser exibida) e não há diferença entre a cópia indexada e a versão na árvore de trabalho (caso a versão na árvore de trabalho também fosse diferente, a informação 'binary' (binário) seria exibido no lugar de 'nothing' (nada)).  O outro arquivo, `git-add{litdd}interactive.perl`, possui 403 linhas que foram adicionadas e 35 linhas que foram excluídas caso faça o commit do que está no índice, porém o arquivo na árvore de trabalho possui outras modificações (uma adição e uma exclusão).

note: type: Plain text
en: This shows the status information and issues an "Update>>" prompt.  When the prompt ends with double '>>', you can make more than one selection, concatenated with whitespace or comma.  Also you can say ranges.  E.g. "2-5 7,9" to choose 2,3,4,5,7,9 from the list.  If the second number in a range is omitted, all remaining patches are taken.  E.g. "7-" to choose 7,8,9 from the list.  You can say '*' to choose everything.
pt_BR: Exibe as informações da condição geral e emite um prompt "Update>>" (Atualizar).  Quando o prompt termina com duplo '>>', é possível fazer mais de uma seleção concatenada com um espaço ou uma vírgula.  Além disso, você pode utilizar os intervalos.  Por exemplo, "2-5 7,9" para escolher 2,3,4,5,7,9 da lista.  Caso o segundo número de um intervalo seja omitido, todos os patches restantes serão tomados.  Por exemplo. "7-" para escolher 7,8,9 da lista.  É possível utilizar '*' para escolher tudo.

note: type: Plain text
en: What you chose are then highlighted with '*', like this:
pt_BR: O que você escolheu é destacado com '*', assim:

note: type: Plain text
en: To remove selection, prefix the input with `-` like this:
pt_BR: Para remover a seleção, prefixe a entrada com `-` desta maneira:

note: type: Plain text
en: After making the selection, answer with an empty line to stage the contents of working tree files for selected paths in the index.
pt_BR: Depois de fazer a seleção, responda com uma linha vazia para preparar o conteúdo dos arquivos na árvore de trabalho para os caminhos selecionados no índice.

note: type: Labeled list
en: revert
pt_BR: reverte

note: type: Plain text
en: This has a very similar UI to 'update', and the staged information for selected paths are reverted to that of the HEAD version.  Reverting new paths makes them untracked.
pt_BR: Há uma interface muito semelhante à 'update' (atualização) e as informações preparadas para os caminhos selecionados são revertidas para a versão do `HEAD`.  A reversão dos novos caminhos os torna não rastreáveis.

note: type: Labeled list
en: add untracked
pt_BR: adiciona sem monitoramento

note: type: Plain text
en: This has a very similar UI to 'update' and 'revert', and lets you add untracked paths to the index.
pt_BR: Há uma interface do usuário muito semelhante para 'update' (atualizar) e 'revert' (reverter) que permite adicionar caminhos não rastreados ao índice.

note: type: Plain text
en: This lets you choose one path out of a 'status' like selection.  After choosing the path, it presents the diff between the index and the working tree file and asks you if you want to stage the change of each hunk.  You can select one of the following options and type return:
pt_BR: Permite a escolha de um caminho dentre uma seleção de 'status'.  Depois de escolher o caminho, é apresentado a diferença entre o índice e o arquivo na árvore de trabalho, pergunta caso queira preparar a alteração de cada pedaço.  Você pode selecionar uma das seguintes opções e pressional enter:

note: type: Plain text
en: y - stage this hunk
    n - do not stage this hunk
    q - quit; do not stage this hunk or any of the remaining ones
    a - stage this hunk and all later hunks in the file
    d - do not stage this hunk or any of the later hunks in the file
    g - select a hunk to go to
    / - search for a hunk matching the given regex
    j - leave this hunk undecided, see next undecided hunk
    J - leave this hunk undecided, see next hunk
    k - leave this hunk undecided, see previous undecided hunk
    K - leave this hunk undecided, see previous hunk
    s - split the current hunk into smaller hunks
    e - manually edit the current hunk
    ? - print help
pt_BR: y - prepare este pedaço
    n - não prepare este pedaço
    q - saia; não prepare este pedaço ou qualquer um dos restantes
    a - prepare este pedaço e todos os pedaços posteriores no arquivo
    d - não prepare este pedaço ou qualquer um dos pedaços posteriores no arquivo
    g - selecione um pedaço para ir de encontro com
    / - procure um pedaço correspondente ao regex especificado
    j - não decida sobre este pedaço, veja o próximo pedaço indeciso
    J - não decida sobre este pedaço, veja o próximo pedaço
    k - não decida sobre este pedaço, veja o pedaço indeciso anterior
    K - não decida sobre este pedaço, veja o pedaço anterior
    s - divide o pedaço atual em pedaços menores
    e - edite manualmente o pedaço atual
    ? - imprima a ajuda

note: type: Plain text
en: After deciding the fate for all hunks, if there is any hunk that was chosen, the index is updated with the selected hunks.
pt_BR: Depois de decidir o destino de todos os pedaços, caso haja algum pedaço selecionado, o índice é atualizado com os pedaços que foram selecionados.

note: type: Plain text
en: You can omit having to type return here, by setting the configuration variable `interactive.singleKey` to `true`.
pt_BR: Não é necessário pressionar o enter, ao configurar a variável de configuração `interactive.singleKey` para `true`.

note: type: Plain text
en: This lets you review what will be committed (i.e. between HEAD and index).
pt_BR: Permite a revisão do commit que será feito (entre o HEAD e o índice por exemplo).

note: type: Title -
en: EDITING PATCHES
pt_BR: EDIÇÃO DE PATCHES

note: type: Plain text
en: Invoking `git add -e` or selecting `e` from the interactive hunk selector will open a patch in your editor; after the editor exits, the result is applied to the index. You are free to make arbitrary changes to the patch, but note that some changes may have confusing results, or even result in a patch that cannot be applied.  If you want to abort the operation entirely (i.e., stage nothing new in the index), simply delete all lines of the patch. The list below describes some common things you may see in a patch, and which editing operations make sense on them.
pt_BR: Ao invocar o comando `git add -e` ou selecionando `e` no seletor interativo de pedaços, será aberto um patch no seu editor; após a saída do editor, o resultado é aplicado ao índice. Você é livre para fazer alterações arbitrárias no patch, porém observe que algumas alterações podem ter resultados confusos ou até resultar em um patch que não possa ser aplicado.  Caso queira abortar completamente a operação (ou seja, não criar nada novo no índice), simplesmente exclua todas as linhas do patch. A lista abaixo descreve algumas coisas comuns que são possíveis de visualizar em um patch e quais as operações da edição fazem sentido nelas.

note: type: Labeled list
en: added content
pt_BR: conteúdo que foi adicionado

note: type: Plain text
en: Added content is represented by lines beginning with "{plus}". You can prevent staging any addition lines by deleting them.
pt_BR: O conteúdo adicionado é representado por linhas começando com "{plus}". Você pode impedir a preparação de qualquer linha de adição excluindo-as.

note: type: Labeled list
en: removed content
pt_BR: conteúdo que foi removido

note: type: Plain text
en: Removed content is represented by lines beginning with "-". You can prevent staging their removal by converting the "-" to a " " (space).
pt_BR: O conteúdo removido é representado por linhas que começam com "-". É possível evitar a preparação da remoção convertendo o "-" para um " " (espaço).

note: type: Labeled list
en: modified content
pt_BR: conteúdo que foi alterado

note: type: Plain text
en: Modified content is represented by "-" lines (removing the old content)  followed by "{plus}" lines (adding the replacement content). You can prevent staging the modification by converting "-" lines to " ", and removing "{plus}" lines. Beware that modifying only half of the pair is likely to introduce confusing changes to the index.
pt_BR: O conteúdo modificado é representado por linhas "-" (removendo o conteúdo antigo)  seguido por linhas "{plus}" (adicionando o conteúdo de reposição). Você pode impedir a preparação da modificação convertendo as linhas "-" para " " e removendo as linhas "{plus}". Lembre-se que alterar apenas a metade do par provavelmente introduzirá mudanças confusas ao índice.

note: type: Plain text
en: There are also more complex operations that can be performed. But beware that because the patch is applied only to the index and not the working tree, the working tree will appear to "undo" the change in the index.  For example, introducing a new line into the index that is in neither the HEAD nor the working tree will stage the new line for commit, but the line will appear to be reverted in the working tree.
pt_BR: Também existem operações mais complexas que podem ser executadas. Mas cuidado, porque o patch é aplicado apenas ao índice e não à árvore de trabalho, a árvore de trabalho aparecerá para "desfazer" a mudança no índice.  A introdução de uma nova linha no índice que não esteja em HEAD nem na árvore de trabalho por exemplo, organizará a nova linha para o commit, porém a linha parecerá ter sido revertida na árvore de trabalho.

note: type: Plain text
en: Avoid using these constructs, or do so with extreme caution.
pt_BR: Evite utilizar estas construções ou faça isso com extrema cautela.

note: type: Labeled list
en: removing untouched content
pt_BR: removendo um conteúdo intocado

note: type: Plain text
en: Content which does not differ between the index and working tree may be shown on context lines, beginning with a " " (space).  You can stage context lines for removal by converting the space to a "-". The resulting working tree file will appear to re-add the content.
pt_BR: O conteúdo que não difere entre o índice e a árvore de trabalho podem ser exibidas nas linhas do contexto, começando com um " " (espaço).  Você pode preparar as linhas de contexto para a remoção, convertendo o espaço em um "-". O arquivo da árvore de trabalho resultante aparecerá para ser adicionada novamente ao conteúdo.

note: type: Labeled list
en: modifying existing content
pt_BR: modificando um conteúdo já existente

note: type: Plain text
en: One can also modify context lines by staging them for removal (by converting " " to "-") and adding a "{plus}" line with the new content.  Similarly, one can modify "{plus}" lines for existing additions or modifications. In all cases, the new modification will appear reverted in the working tree.
pt_BR: Também é possível modificar as linhas do contexto, preparando-as para a remoção (convertendo " " para "-") e adicionando uma linha "{plus}" (sinal de mais) ao novo conteúdo.  Da mesma forma, é possível modificar as linhas "{plus}" para as adições ou modificações existentes. Em todos os casos, a nova alteração aparecerá de forma reversa na árvore de trabalho.

note: type: Labeled list
en: new content
pt_BR: novos conteúdos

note: type: Plain text
en: You may also add new content that does not exist in the patch; simply add new lines, each starting with "{plus}". The addition will appear reverted in the working tree.
pt_BR: Você também pode adicionar um novo conteúdo que não existe no patch; basta adicionar as novas linhas, cada uma começando com "{plus}". A adição aparecerá de forma reversa na árvore de trabalho.

note: type: Plain text
en: There are also several operations which should be avoided entirely, as they will make the patch impossible to apply:
pt_BR: Existem também várias outras operações que devem ser totalmente evitadas, pois elas tornarão o patch impossível de se aplicar:

note: type: Plain text
en: adding context (" ") or removal ("-") lines
pt_BR: adicionando as linhas de contexto (" ") ou de remoção ("-")

note: type: Plain text
en: deleting context or removal lines
pt_BR: excluindo as linhas de contexto ou de remoção

note: type: Plain text
en: modifying the contents of context or removal lines
pt_BR: modificando o conteúdo do contexto ou as linhas de remoção

note: type: Title -
en: SEE ALSO
pt_BR: VEJA TAMBÉM

note: type: Plain text
en: Part of the linkgit:git[1] suite
pt_BR: Parte do conjunto linkgit:git[1]

note: type: Plain text
en: git-am - Apply a series of patches from a mailbox
pt_BR: git-am - Aplica uma série de patches vindas de um mailbox (caixa de correio unix)

note: type: Plain text
en: 'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]
    	 [--[no-]3way] [--interactive] [--committer-date-is-author-date]
    	 [--ignore-date] [--ignore-space-change | --ignore-whitespace]
    	 [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]
    	 [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
    	 [--[no-]scissors] [-S[<keyid>]] [--patch-format=<format>]
    	 [(<mbox> | <Maildir>)...]
    'git am' (--continue | --skip | --abort | --quit | --show-current-patch[=(diff|raw)])
pt_BR: 'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]
    	 [--[no-]3way] [--interactive] [--committer-date-is-author-date]
    	 [--ignore-date] [--ignore-space-change | --ignore-whitespace]
    	 [--whitespace=<opção>] [-C<n>] [-p<n>] [--directory=<dir>]
    	 [--exclude=<caminho>] [--include=<caminho>] [--reject] [-q | --quiet]
    	 [--[no-]scissors] [-S[<keyid>]] [--patch-format=<formato>]
    	 [(<mbox> | <Maildir>)...]
    'git am' (--continue | --skip | --abort | --quit | --show-current-patch[=(diff|raw)])

note: type: Plain text
en: Splits mail messages in a mailbox into commit log message, authorship information and patches, and applies them to the current branch.
pt_BR: Divide as mensagens de correio em um mailbox dentro das mensagens do registro log do commit, as informações de autoria, os patches e as aplica ao ramo atual.

note: type: Plain text
en: The list of mailbox files to read patches from. If you do not supply this argument, the command reads from the standard input.  If you supply directories, they will be treated as Maildirs.
pt_BR: A lista dos arquivos da caixa de correio para leitura dos patches. Caso você não utilize este argumento, o comando lê na entrada padrão.  Caso utilize os diretórios, eles serão tratados como caixas de correio.

note: type: Plain text
en: Add a `Signed-off-by:` line to the commit message, using the committer identity of yourself.  See the signoff option in linkgit:git-commit[1] for more information.
pt_BR: Adicione uma linha `Assinada por:` à mensagem do commit utilizando a sua identidade.  Para mais informações sobre a assinatura na saída da mensagem, consulte em linkgit:git-commit[1].

note: type: Plain text
en: Pass `-k` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
pt_BR: Repasse o comando `-k` para o comando 'git mailinfo' (consulte linkgit:git-mailinfo[1]).

note: type: Plain text
en: Pass `-b` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
pt_BR: Repasse o comando `-b` para o comando 'git mailinfo' (consulte linkgit:git-mailinfo[1]).

note: type: Plain text
en: With `--keep-cr`, call 'git mailsplit' (see linkgit:git-mailsplit[1])  with the same option, to prevent it from stripping CR at the end of lines. `am.keepcr` configuration variable can be used to specify the default behaviour.  `--no-keep-cr` is useful to override `am.keepcr`.
pt_BR: Com `--keep-cr`, chame o comando 'git mailsplit' (consulte linkgit:git-mailsplit[1]) com a mesma opção para evitar que ele retire caractere `CR` do final das linhas. A variável de configuração `am.keepcr` pode ser utilizada para definir o comportamento predefinido.  O comando `--no-keep-cr` é útil para substituir a variável `am.keepcr`.

note: type: Plain text
en: Remove everything in body before a scissors line (see linkgit:git-mailinfo[1]). Can be activated by default using the `mailinfo.scissors` configuration variable.
pt_BR: Remova tudo no corpo antes de uma linha "scissors" (tesouras) (see linkgit:git-mailinfo[1]). Pode ser ativada de fora predefinida ao utilizar a variável de configuração `mailinfo.scissors`.

note: type: Plain text
en: Ignore scissors lines (see linkgit:git-mailinfo[1]).
pt_BR: Ignore linhas "scissors" (tesouras) (veja linkgit:git-mailinfo[1]).

note: type: Plain text
en: Pass the `-m` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]), so that the Message-ID header is added to the commit message.  The `am.messageid` configuration variable can be used to specify the default behaviour.
pt_BR: Encaminha a opção `-m` para o comando 'git mailinfo' (consulte linkgit:git-mailinfo[1]), para que o ID do cabeçalho seja adicionado na mensagem do commit.  A variável de configuração `am.messageid` pode ser utilizada para definir o comportamento predefinido.

note: type: Plain text
en: Do not add the Message-ID header to the commit message.  `no-message-id` is useful to override `am.messageid`.
pt_BR: Não adicione o ID do cabeçalho da mensagem à mensagem do commit.  A opção `--no-message-id` é útil para substituir a variável `am.messageid`.

note: type: Plain text
en: Be quiet. Only print error messages.
pt_BR: Fique em silêncio Exiba apenas as mensagens de erro.

note: type: Plain text
en: Pass `-u` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).  The proposed commit log message taken from the e-mail is re-coded into UTF-8 encoding (configuration variable `i18n.commitencoding` can be used to specify project's preferred encoding if it is not UTF-8).
pt_BR: Repasse o comando `-u` para o comando 'git mailinfo' (consulte linkgit:git-mailinfo[1]).  A mensagem do registro log do proposto commit retirado da mensagem do e-mail é re-codificada com a codificação `UTF-8` (a variável de configuração `i18n.commitencoding` pode ser utilizada para definir a codificação preferida do projeto, caso não seja `UTF-8`).

note: type: Plain text
en: This was optional in prior versions of git, but now it is the
    default.   You can use `--no-utf8` to override this.
pt_BR: Isso era opcional nas versões anteriores do git, agora é a codificação
    predefinida.   É possível utilizar a opção `--no-utf8` para se sobrepor a predefinição.

note: type: Plain text
en: Pass `-n` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
pt_BR: Repasse o comando `-n` para o comando 'git mailinfo' (consulte linkgit:git-mailinfo[1]).

note: type: Plain text
en: When the patch does not apply cleanly, fall back on 3-way merge if the patch records the identity of blobs it is supposed to apply to and we have those blobs available locally. `--no-3way` can be used to override am.threeWay configuration variable. For more information, see am.threeWay in linkgit:git-config[1].
pt_BR: Quando o patch não for aplicado corretamente, use a mesclagem de 3 vias caso o patch registre a identidade das bolhas aos quais devem ser aplicadas disponibilizando-as localmente. A opção `--no-3way` pode ser utilizada para substituir uma variável de configuração de três vias. Para mais informações, consulte `am.threeWay` em linkgit:git-config[1].

note: type: Plain text
en: Allow the rerere mechanism to update the index with the result of auto-conflict resolution if possible.
pt_BR: Permita que o mecanismo "rerere" atualize o índice com o resultado da resolução automática de conflitos, caso seja possível.

note: type: Labeled list
en: --whitespace=<option>
pt_BR: --whitespace=<opção>

note: type: Labeled list
en: --exclude=<path>
pt_BR: --exclude=<caminho>

note: type: Labeled list
en: --include=<path>
pt_BR: --include=<caminho>

note: type: Plain text
en: These flags are passed to the 'git apply' (see linkgit:git-apply[1])  program that applies the patch.
pt_BR: Estas opções são repassadas ao comando 'git apply' (conulte linkgit:git-apply[1]) que aplica o patch.

note: type: Plain text
en: By default the command will try to detect the patch format automatically. This option allows the user to bypass the automatic detection and specify the patch format that the patch(es) should be interpreted as. Valid formats are mbox, mboxrd, stgit, stgit-series and hg.
pt_BR: É predefinido que o comando tentará detectar o formato do patch automaticamente. Esta opção permite que o usuário ignore a detecção automática e determine como o formato do patch deve ser interpretados. Os formatos válidos são `mbox`, `mboxrd`, `stgit`, `stgit-series` e `hg`.

note: type: Plain text
en: Run interactively.
pt_BR: Execute de forma interativa.

note: type: Plain text
en: By default the command records the date from the e-mail message as the commit author date, and uses the time of commit creation as the committer date. This allows the user to lie about the committer date by using the same value as the author date.
pt_BR: É predefinido que o comando registre a data da mensagem do e-mail como a data do autor que fez o commit e utilize a hora da criação como a data do commit. Permite que usuário minta sobre a data do commit utilizando o mesmo valor da data de quem fez o commit.

note: type: Plain text
en: By default the command records the date from the e-mail message as the commit author date, and uses the time of commit creation as the committer date. This allows the user to lie about the author date by using the same value as the committer date.
pt_BR: É predefinido que o comando registre a data da mensagem do e-mail como a data do autor que fez o commit e utilize a hora da criação como a data do commit. Permite que usuário minta sobre a data do autor utilizando o mesmo valor da data de quem fez o commit.

note: type: Plain text
en: Skip the current patch.  This is only meaningful when restarting an aborted patch.
pt_BR: Ignore o patch atual.  É justificado apenas quando for reiniciar um patch que foi abortado.

note: type: Plain text
en: GPG-sign commits. The `keyid` argument is optional and defaults to the committer identity; if specified, it must be stuck to the option without a space. `--no-gpg-sign` is useful to countermand both `commit.gpgSign` configuration variable, and earlier `--gpg-sign`.
pt_BR: Commits assinados com o GPG O argumento `keyid` é opcional e a predefinição retorna para a identidade de quem fez o commit; caso seja utilizado, deve estar anexado a opção e sem espaço. A opção `--no-gpg-sign` é útil para revogar a variável de configuração `commit.gpgSign` e a anterior `--gpg-sign`.

note: type: Plain text
en: After a patch failure (e.g. attempting to apply conflicting patch), the user has applied it by hand and the index file stores the result of the application.  Make a commit using the authorship and commit log extracted from the e-mail message and the current index file, and continue.
pt_BR: Após uma falha no patch (tentando aplicar um patch conflitante por exemplo), o usuário o aplicou manualmente e o arquivo do índice armazena o resultado.  Faça um commit utilizando o registro de autori, o registro log do commit extraído da mensagem do e-mail, do arquivo do índice atual e continue.

note: type: Plain text
en: When a patch failure occurs, <msg> will be printed to the screen before exiting.  This overrides the standard message informing you to use `--continue` or `--skip` to handle the failure.  This is solely for internal use between 'git rebase' and 'git am'.
pt_BR: Quando ocorrer uma falha no patch, a `<msg>` será exibida na tela antes de encerrar.  Substitui a mensagem predefinida informando que você deve utilizar `--continue` ou `--skip` para lidar com a falha.  Serve apenas para a utilização interna entre o comando 'git rebase' e 'git am'.

note: type: Plain text
en: Restore the original branch and abort the patching operation.
pt_BR: Restaure a ramificação original e aborte a operação de correção.

note: type: Plain text
en: Abort the patching operation but keep HEAD and the index untouched.
pt_BR: Anule a operação de correção, porém mantenha o `HEAD` e o índice inalterados.

note: type: Plain text
en: Show the message at which `git am` has stopped due to conflicts.  If `raw` is specified, show the raw contents of the e-mail message; if `diff`, show the diff portion only.  Defaults to `raw`.
pt_BR: Exiba uma mensagem onde o `git am` tenha parado por causa dos conflitos.  Caso `raw` seja utilizado, exiba o conteúdo bruto da mensagem do e-mail; no caso do `diff`, exiba apenas a porção relacionada ao diff.  A predefinição retorna para "raw" (bruto/puro).

note: type: Title -
en: DISCUSSION
pt_BR: DISCUSSÃO

note: type: Plain text
en: The commit author name is taken from the "From: " line of the message, and commit author date is taken from the "Date: " line of the message.  The "Subject: " line is used as the title of the commit, after stripping common prefix "[PATCH <anything>]".  The "Subject: " line is supposed to concisely describe what the commit is about in one line of text.
pt_BR: Na mensagem, o nome do autor do commit é obtido da linha "From:" (De:) e a data do autor do commit é obtida da linha "Date:" (Data:).  O título do commit vem da linha "Subject:" (Assunto:) após a exclusão do prefixo comum "[PATCH <alguma-coisa>]".  A linha "Subject:" deve descrever de forma concisa do que se trata o commit em uma linha de texto.

note: type: Plain text
en: "From: ", "Date: ", and "Subject: " lines starting the body override the respective commit author name and title values taken from the headers.
pt_BR: As linhas que iniciam com "From:" (De:), "Date:" (Data) e "Subject:" (Assunto:) no corpo, substituem os respectivos valores do nome e título do autor do commit que foram retirados dos cabeçalhos.

note: type: Plain text
en: The commit message is formed by the title taken from the "Subject: ", a blank line and the body of the message up to where the patch begins.  Excess whitespace at the end of each line is automatically stripped.
pt_BR: A mensagem do commit é formada pelo título obtido do "Subject:" (Assunto:), uma linha em branco e do corpo da mensagem até o início do patch.  O espaço em excesso no final de cada linha é removido automaticamente.

note: type: Plain text
en: The patch is expected to be inline, directly following the message.  Any line that is of the form:
pt_BR: Espera-se que o patch já esteja embutido após a mensagem.  Qualquer linha que esteja no formato:

note: type: Plain text
en: three-dashes and end-of-line, or
pt_BR: três-traços e fim-de-linha, ou

note: type: Plain text
en: a line that begins with "diff -", or
pt_BR: uma linha que começa com "diff -" ou

note: type: Plain text
en: a line that begins with "Index: "
pt_BR: uma linha que começa com "Index:"

note: type: Plain text
en: is taken as the beginning of a patch, and the commit log message is terminated before the first occurrence of such a line.
pt_BR: é tomado como o início de um patch, a mensagem do registro log do commit é finalizado antes da primeira ocorrência de tal linha.

note: type: Plain text
en: When initially invoking `git am`, you give it the names of the mailboxes to process.  Upon seeing the first patch that does not apply, it aborts in the middle.  You can recover from this in one of two ways:
pt_BR: Ao invocar inicialmente o comando `git am`, indique os nomes das caixas do correio que serão processadas.  Ao ver que o primeiro patch que não possa ser aplicado, o processo é interrompido imediatamente.  É possível se recuperar deste processo de duas maneiras:

note: type: Plain text
en: skip the current patch by re-running the command with the `--skip` option.
pt_BR: pule o patch atual reexecutando o comando com a opção `--skip`.

note: type: Plain text
en: hand resolve the conflict in the working directory, and update the index file to bring it into a state that the patch should have produced.  Then run the command with the `--continue` option.
pt_BR: manualmente resolva o conflito no diretório de trabalho e atualize o arquivo do índice para colocá-lo na condição onde o patch deveria ter sido produzido.  Em seguida, execute o comando com a opção `--continue`.

note: type: Plain text
en: The command refuses to process new mailboxes until the current operation is finished, so if you decide to start over from scratch, run `git am --abort` before running the command with mailbox names.
pt_BR: O comando se recusa a processar as novas caixas de correio até que a operação atual seja concluída, portanto, caso decida recomeçar do zero, execute o comando `git am --abort` antes de executar o comando com os nomes das caixas de correio.

note: type: Plain text
en: Before any patches are applied, ORIG_HEAD is set to the tip of the current branch.  This is useful if you have problems with multiple commits, like running 'git am' on the wrong branch or an error in the commits that is more easily fixed by changing the mailbox (e.g.  errors in the "From:" lines).
pt_BR: Antes de aplicar quaisquer correções, o `ORIG_HEAD` é definido na ponta do ramo atual.  É útil caso tenha problemas com os vários commits como executar o comando 'git am' na ramificação errada ou caso haja um erro nos commits que são mais facilmente corrigidos alterando a caixa de correio (erros nas linhas "From:" (De:) por exemplo).

note: type: Title -
en: HOOKS
pt_BR: GANCHOS

note: type: Plain text
en: This command can run `applypatch-msg`, `pre-applypatch`, and `post-applypatch` hooks.  See linkgit:githooks[5] for more information.
pt_BR: Este comando pode executar os ganchos `applypatch-msg`, `pre-applypatch` e `post-applypatch`.  Para mais informações consulte linkgit:githooks[5].

note: type: Plain text
en: git-annotate - Annotate file lines with commit information
pt_BR: git-annotate - Anote linhas do arquivo com as informações do commit

note: type: Plain text
en: 'git annotate' [<options>] <file> [<revision>]
pt_BR: 'git annotate' [<opções>] <arquivo> [<revisão>]

note: type: Plain text
en: Annotates each line in the given file with information from the commit which introduced the line. Optionally annotates from a given revision.
pt_BR: Anota cada linha no arquivo informado com as informações do commit que introduziu a linha. Anota opcionalmente em uma determinada revisão.

note: type: Plain text
en: The only difference between this command and linkgit:git-blame[1] is that they use slightly different output formats, and this command exists only for backward compatibility to support existing scripts, and provide a more familiar command name for people coming from other SCM systems.
pt_BR: A única diferença entre esse comando e o linkgit:git-blame[1] é que eles utilizam formatos de saída ligeiramente diferentes, este comando existe apenas para a compatibilidade com as versões anteriores, visando a compatibilidade dos scripts já existentes e para fornecer um nome do comando mais familiar para as pessoas vindas de outros sistemas SCM.

note: type: Plain text
en: git-apply - Apply a patch to files and/or to the index
pt_BR: git-apply - Aplica um patch aos arquivos e/ou ao índice

note: type: Plain text
en: 'git apply' [--stat] [--numstat] [--summary] [--check] [--index | --intent-to-add] [--3way]
    	  [--apply] [--no-add] [--build-fake-ancestor=<file>] [-R | --reverse]
    	  [--allow-binary-replacement | --binary] [--reject] [-z]
    	  [-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached]
    	  [--ignore-space-change | --ignore-whitespace]
    	  [--whitespace=(nowarn|warn|fix|error|error-all)]
    	  [--exclude=<path>] [--include=<path>] [--directory=<root>]
    	  [--verbose] [--unsafe-paths] [<patch>...]
pt_BR: 'git apply' [--stat] [--numstat] [--summary] [--check] [--index | --intent-to-add] [--3way]
    	  [--apply] [--no-add] [--build-fake-ancestor=<arquivo>] [-R | --reverse]
    	  [--allow-binary-replacement | --binary] [--reject] [-z]
    	  [-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached]
    	  [--ignore-space-change | --ignore-whitespace]
    	  [--whitespace=(nowarn|warn|fix|error|error-all)]
    	  [--exclude=<caminho>] [--include=<caminho>] [--directory=<root>]
    	  [--verbose] [--unsafe-paths] [<patch>...]

note: type: Plain text
en: Reads the supplied diff output (i.e. "a patch") and applies it to files.  When running from a subdirectory in a repository, patched paths outside the directory are ignored.  With the `--index` option the patch is also applied to the index, and with the `--cached` option the patch is only applied to the index.  Without these options, the command applies the patch only to files, and does not require them to be in a Git repository.
pt_BR: Lê a saída diff informada (ou seja, "um patch") e a aplica aos arquivos.  Ao executar a partir de um subdiretório em um repositório, os caminhos corrigidos fora do diretório são ignorados.  Com a opção `--index`, o patch também é aplicado ao índice, com a opção `--cached` o patch é aplicado apenas ao índice.  Sem essas opções, o comando aplica o patch apenas aos arquivos e não exige que eles estejam em um repositório Git.

note: type: Plain text
en: This command applies the patch but does not create a commit.  Use linkgit:git-am[1] to create commits from patches generated by linkgit:git-format-patch[1] and/or received by email.
pt_BR: Este comando aplica o patch, mas não cria um commit.  Utilize linkgit:git-am[1] para criar os commits a partir dos patches que foram gerados através do linkgit:git-format-patch[1] ou que tenham sido recebidos por email.

note: type: Plain text
en: The files to read the patch from.  '-' can be used to read from the standard input.
pt_BR: Os arquivos que serão lidos do patch.  '-' pode ser utilizado para ler a entrada padrão.

note: type: Plain text
en: Instead of applying the patch, output diffstat for the input.  Turns off "apply".
pt_BR: Em vez de aplicar o patch, gere o `diffstat` na entrada.  Desativa o "apply" (aplicar).

note: type: Plain text
en: Similar to `--stat`, but shows the number of added and deleted lines in decimal notation and the pathname without abbreviation, to make it more machine friendly.  For binary files, outputs two `-` instead of saying `0 0`.  Turns off "apply".
pt_BR: Semelhante ao `--stat` porém exibe a quantidade de linhas que foram adicionadas e excluídas na notação decimal do nome do caminho sem a abreviação, tornando-o mais amigável à máquina.  Para arquivos binários, gera dois `-` em vez de `0 0`.  Desativa o "apply" (aplicar).

note: type: Plain text
en: Instead of applying the patch, output a condensed summary of information obtained from git diff extended headers, such as creations, renames and mode changes.  Turns off "apply".
pt_BR: Em vez de aplicar o patch, produza um resumo condensado das informações obtidas dos cabeçalhos estendidos do `git diff` como criações, renomeações e as alterações do modo.  Desativa o "apply" (aplicar).

note: type: Plain text
en: Instead of applying the patch, see if the patch is applicable to the current working tree and/or the index file and detects errors.  Turns off "apply".
pt_BR: Em vez de aplicar o patch, verifique se o patch é aplicável à árvore de trabalho atual ou ao arquivo do índice assim como, detecte os erros.  Desativa o "apply" (aplicar).

note: type: Plain text
en: When `--check` is in effect, or when applying the patch (which is the default when none of the options that disables it is in effect), make sure the patch is applicable to what the current index file records.  If the file to be patched in the working tree is not up to date, it is flagged as an error.  This flag also causes the index file to be updated.
pt_BR: Quando a opção `--check` estiver em vigor ou durante a aplicação do patch (que é a predefinição quando nenhuma das opções que o desabilita estiver em vigor), tenha certeza que o patch seja aplicável ao que o arquivo atual do índice registra.  Caso o arquivo que será corrigido na árvore de trabalho não esteja atualizado, será sinalizado como um erro.  Essa flag também faz com que o arquivo do índice seja atualizado.

note: type: Plain text
en: Apply a patch without touching the working tree. Instead take the cached data, apply the patch, and store the result in the index without using the working tree. This implies `--index`.
pt_BR: Aplique um patch sem tocar na árvore de trabalho. Em vez disso, pegue os dados no cache, aplique o patch e armazene o resultado no índice, sem utilizar a árvore de trabalho. Implica no uso da opção `--index`.

note: type: Plain text
en: When applying the patch only to the working tree, mark new files to be added to the index later (see `--intent-to-add` option in linkgit:git-add[1]). This option is ignored unless running in a Git repository and `--index` is not specified.  Note that `--index` could be implied by other options such as `--cached` or `--3way`.
pt_BR: Ao aplicar o patch apenas na árvore de trabalho, marque os novos arquivos que serão adicionados ao índice posteriormente (consulte a opção `--intent-to-add` no linkgit:git-add[1]). Esta opção é ignorada a menos que seja executada em um repositório Git e o comando `--index` não seja utilizado.  Observe que o comando `--index` pode estar implícito em outras opções como `--cached` ou `--3way`.

note: type: Plain text
en: When the patch does not apply cleanly, fall back on 3-way merge if the patch records the identity of blobs it is supposed to apply to, and we have those blobs available locally, possibly leaving the conflict markers in the files in the working tree for the user to resolve.  This option implies the `--index` option, and is incompatible with the `--reject` and the `--cached` options.
pt_BR: Quando o patch não for aplicado corretamente, volte a mesclagem bidirecional caso o patch registre a identidade das bolhas aos quais ele deve se aplicar e tivermos estas bolhas disponíveis localmente, possivelmente deixando os marcadores de conflito nos arquivos da árvore de trabalho para que o usuário possa resolver.  Implica no uso da opção `--index` sendo incompatível com as opções `--reject` e `--cached`.

note: type: Labeled list
en: --build-fake-ancestor=<file>
pt_BR: --build-fake-ancestor=<arquivo>

note: type: Plain text
en: Newer 'git diff' output has embedded 'index information' for each blob to help identify the original version that the patch applies to.  When this flag is given, and if the original versions of the blobs are available locally, builds a temporary index containing those blobs.
pt_BR: O 'git diff' mais recentemente gerado incorporou 'as informações do índice' para cada bolha para ajudar a identificar qual foi a versão original à qual o patch se aplica.  Quando esta opção for utilizada e caso as versões originais das bolhas estejam disponíveis localmente, crie um índice temporário contendo essas bolhas.

note: type: Plain text
en: When a pure mode change is encountered (which has no index information), the information is read from the current index instead.
pt_BR: Quando uma alteração do modo puro é encontrado (que não contém as informações do índice), as informações são lidas a partir do índice atual.

note: type: Plain text
en: Apply the patch in reverse.
pt_BR: Aplique o patch ao contrário.

note: type: Plain text
en: For atomicity, 'git apply' by default fails the whole patch and does not touch the working tree when some of the hunks do not apply.  This option makes it apply the parts of the patch that are applicable, and leave the rejected hunks in corresponding *.rej files.
pt_BR: Por atomicidade, a predefinição do comando 'git apply' falha o patch inteiro e não toca na árvore de trabalho quando alguns dos pedaços não se aplicarem.  Essa opção faz com que se aplique as partes do patch que forem aplicáveis e deixe os pedaços rejeitados nos arquivos * .rej correspondentes.

note: type: Plain text
en: When `--numstat` has been given, do not munge pathnames, but use a NUL-terminated machine-readable format.
pt_BR: Quando o comando `--numstat` for utilizado, não una os nomes dos caminhos, porém utilize um formato legível para a máquina e utilize caracteres `NUL` para a terminação.

note: type: Plain text
en: Remove <n> leading path components (separated by slashes) from traditional diff paths. E.g., with `-p2`, a patch against `a/dir/file` will be applied directly to `file`. The default is 1.
pt_BR: Remova os `<n>` componentes do caminho principal (separados por barras) dos caminhos diff tradicionais. Com `-p2`, um patch contra` a/dir/file` será aplicado diretamente ao `file` por exemplo. A predefinição é 1.

note: type: Plain text
en: Ensure at least <n> lines of surrounding context match before and after each change.  When fewer lines of surrounding context exist they all must match.  By default no context is ever ignored.
pt_BR: Assegure que pelo menos `<n>` linhas ao redor do contexto coincidente antes e depois de cada alteração.  Quando há menos linhas de contexto ao redor, todas elas devem coincidir.  É predefinido que nenhum contexto seja ignorado.

note: type: Plain text
en: By default, 'git apply' expects that the patch being applied is a unified diff with at least one line of context.  This provides good safety measures, but breaks down when applying a diff generated with `--unified=0`. To bypass these checks use `--unidiff-zero`.
pt_BR: É predefinido que o comando 'git apply' espere que o patch que está sendo aplicado seja um diff unificado com pelo menos uma linha relacionada ao contexto.  Fornece boas medidas de segurança, porém é interrompido ao aplicar um diff gerado com `--unified=0`. Para ignorar estas verificações, utilize `--unidiff-zero`.

note: type: Plain text
en: Note, for the reasons stated above usage of context-free patches is discouraged.
pt_BR: Observe que pelas razões expostas acima, a utilização de patches sem contexto é desencorajado.

note: type: Plain text
en: If you use any of the options marked "Turns off 'apply'" above, 'git apply' reads and outputs the requested information without actually applying the patch.  Give this flag after those flags to also apply the patch.
pt_BR: Caso utilize qualquer uma das opções marcadas "Desativa o 'apply'" acima, o comando 'git apply' lê e gera as informações solicitadas sem realmente aplicar o patch.  Informe essa flag depois destas flags para também aplicar o patch.

note: type: Plain text
en: When applying a patch, ignore additions made by the patch.  This can be used to extract the common part between two files by first running 'diff' on them and applying the result with this option, which would apply the deletion part but not the addition part.
pt_BR: Ao aplicar um patch, ignore as adições feitas pelo patch.  Pode ser utilizado para extrair a parte comum entre os dois arquivos executando o primeiro 'diff' neles e aplicando o resultado com esta opção que aplicaria a parte a ser excluída, mas não a parte da adição.

note: type: Plain text
en: Historically we did not allow binary patch applied without an explicit permission from the user, and this flag was the way to do so.  Currently we always allow binary patch application, so this is a no-op.
pt_BR: Historicamente, não permitimos que um patch binário seja aplicado sem uma permissão explícita do usuário, esta opção era o caminho para fazê-lo.  Atualmente, nós sempre permitimos que os patches binários sejam aplicados, então isso não é operacional.

note: type: Plain text
en: Don't apply changes to files matching the given path pattern. This can be useful when importing patchsets, where you want to exclude certain files or directories.
pt_BR: Não aplique as alterações nos arquivos que coincidam com o padrão do caminho informado. Pode ser útil ao importar os conjuntos dos patches onde você queira que determinados arquivos ou diretórios sejam excluídos.

note: type: Plain text
en: Apply changes to files matching the given path pattern. This can be useful when importing patchsets, where you want to include certain files or directories.
pt_BR: Aplique as alterações nos arquivos que coincidam com padrão do caminho informado. Pode ser útil ao importar os conjuntos dos patches, onde você queira incluir certos arquivos ou diretórios.

note: type: Plain text
en: When `--exclude` and `--include` patterns are used, they are examined in the order they appear on the command line, and the first match determines if a patch to each path is used.  A patch to a path that does not match any include/exclude pattern is used by default if there is no include pattern on the command line, and ignored if there is any include pattern.
pt_BR: Quando os padrões `--exclude` e `--include` são utilizados, eles são examinados na ordem em que aparecem na linha de comando, a primeira correspondência determina se para cada caminho um patch será utilizado.  É predefinido que um patch para um caminho que não coincida com nenhum padrão para incluir/excluir seja utilizado caso não haja um padrão de inclusão na linha de comandos e ignorado caso haja algum padrão para a inclusão.

note: type: Plain text
en: When applying a patch, ignore changes in whitespace in context lines if necessary.  Context lines will preserve their whitespace, and they will not undergo whitespace fixing regardless of the value of the `--whitespace` option. New lines will still be fixed, though.
pt_BR: Ao aplicar um patch, ignore as alterações no espaço das linhas do contexto, se necessário.  As linhas do contexto preservam os seus espaços e não serão corrigidas, independentemente do valor da opção `--whitespace`. No entanto, as novas linhas ainda serão corrigidas.

note: type: Labeled list
en: --whitespace=<action>
pt_BR: --whitespace=<ação>

note: type: Plain text
en: When applying a patch, detect a new or modified line that has whitespace errors.  What are considered whitespace errors is controlled by `core.whitespace` configuration.  By default, trailing whitespaces (including lines that solely consist of whitespaces) and a space character that is immediately followed by a tab character inside the initial indent of the line are considered whitespace errors.
pt_BR: Ao aplicar um patch, detecte se há erros de espaço em uma nova linha ou em uma linha que foi modificada.  A configuração `core.whitespace` define o que são considerados erros de espaço.  É predefinido que os espaços à direita (incluindo as linhas que consistam apenas nos espaços) e um caractere de espaço que seja imediatamente seguido por um caractere de tabulação dentro do recuo inicial da linha, são considerados erros do espaço.

note: type: Plain text
en: By default, the command outputs warning messages but applies the patch.  When `git-apply` is used for statistics and not applying a patch, it defaults to `nowarn`.
pt_BR: É predefinido que o comando gere mensagens de aviso, mas continue a aplicar o patch.  Quando o comando `git-apply` é utilizado para gerar as estatísticas e não para aplicar um patch, a predefinição retorna ao valor `nowarn`.

note: type: Plain text
en: You can use different `<action>` values to control this behavior:
pt_BR: Você pode utilizar valores diferentes valores de controle para `<ação>`:

note: type: Plain text
en: `nowarn` turns off the trailing whitespace warning.
pt_BR: `nowarn` desativa o aviso de espaço à direita.

note: type: Plain text
en: `warn` outputs warnings for a few such errors, but applies the patch as-is (default).
pt_BR: `warn` envia avisos para alguns desses erros, mas aplica o patch como está (predefinido).

note: type: Plain text
en: `fix` outputs warnings for a few such errors, and applies the patch after fixing them (`strip` is a synonym --- the tool used to consider only trailing whitespace characters as errors, and the fix involved 'stripping' them, but modern Gits do more).
pt_BR: `fix` gera os avisos para alguns destes erros e aplica o patch depois de corrigí-los (o `strip` é um sinônimo --- a ferramenta costumava considerar apenas os caracteres de espaço como erros e a correção envolvia em 'removê-los', porém os Gits mais modernos fazem mais que isso).

note: type: Plain text
en: `error` outputs warnings for a few such errors, and refuses to apply the patch.
pt_BR: `error` gera os avisos para alguns destes erros e se recusa a aplicar o patch.

note: type: Plain text
en: `error-all` is similar to `error` but shows all errors.
pt_BR: `error-all` é semelhante ao `error`, porém exibe todos os erros.

note: type: Plain text
en: Under certain circumstances, some versions of 'diff' do not correctly detect a missing new-line at the end of the file. As a result, patches created by such 'diff' programs do not record incomplete lines correctly. This option adds support for applying such patches by working around this bug.
pt_BR: Em determinadas circunstâncias, algumas versões do 'diff' não detectam corretamente uma nova linha que esteja ausente no final do arquivo. Como resultado, os patches criados por estes programas 'diff' não registram as linhas que estejam incompletas de forma correta. Esta opção adiciona a compatibilidade para que seja possível aplicar tais correções contornando este problema.

note: type: Plain text
en: Report progress to stderr. By default, only a message about the current patch being applied will be printed. This option will cause additional information to be reported.
pt_BR: Relate o progresso para o stderr. É predefinido que apenas seja exibida uma mensagem do patch que está sendo aplicado atualmente. Esta opção fará com que as informações adicionais sejam relatadas.

note: type: Plain text
en: Do not trust the line counts in the hunk headers, but infer them by inspecting the patch (e.g. after editing the patch without adjusting the hunk headers appropriately).
pt_BR: Não confie nas contagens da linha nos cabeçalhos, deduza-as inspecionando o patch (depois de editar o patch sem ajustar os cabeçalhos adequadamente por exemplo).

note: type: Plain text
en: Prepend <root> to all filenames.  If a "-p" argument was also passed, it is applied before prepending the new root.
pt_BR: Anexe `<root>` (raiz) em todos os nomes dos arquivos.  Caso "-p" também seja utilizado, ele é aplicado antes de anexar a nova raiz.

note: type: Plain text
en: For example, a patch that talks about updating `a/git-gui.sh` to `b/git-gui.sh` can be applied to the file in the working tree `modules/git-gui/git-gui.sh` by running `git apply --directory=modules/git-gui`.
pt_BR: Por exemplo, um patch que seja utilizado para a atualização de `a/git-gui.sh` para `b/git-gui.sh`, pode ser aplicado ao arquivo na árvore de trabalho `modules/git-gui/git-gui.sh` ao executar o comando `git apply --directory=modules/git-gui`.

note: type: Plain text
en: By default, a patch that affects outside the working area (either a Git controlled working tree, or the current working directory when "git apply" is used as a replacement of GNU patch) is rejected as a mistake (or a mischief).
pt_BR: É predefinido que um patch que tenha efeito fora da área de trabalho (uma árvore de trabalho controlada pelo Git ou um diretório de trabalho atual quando o "git apply" é utilizado como uma reposição do patch GNU) seja rejeitado como um erro (ou um dano).

note: type: Plain text
en: When `git apply` is used as a "better GNU patch", the user can pass the `--unsafe-paths` option to override this safety check.  This option has no effect when `--index` or `--cached` is in use.
pt_BR: Quando o comando `git apply` for utilizado como um "better GNU patch" (patch melhor do que o do GNU), o usuário pode encaminhar a opção `--unsafe-paths` para substituir esta verificação de segurança.  Esta opção não tem efeito quando a opção `--index` ou `--cached` estiver em uso.

note: type: Title -
en: CONFIGURATION
pt_BR: CONFIGURAÇÃO

note: type: Plain text
en: Set to 'change' if you want changes in whitespace to be ignored by default.  Set to one of: no, none, never, false if you want changes in whitespace to be significant.
pt_BR: Defina como 'change' caso queira que as alterações no espaço sejam sempre ignoradas.  Defina com um dos valores entre: `no`, `none`, `never`, `false` caso queira que as alterações no espaço sejam feitas de forma significativa.

note: type: Plain text
en: When no `--whitespace` flag is given from the command line, this configuration item is used as the default.
pt_BR: Quando nenhum comando `--whitespace` for utilizado na linha de comandos, é predefinido que este item seja sempre utilizado.

note: type: Title -
en: SUBMODULES
pt_BR: SUBMÓDULOS

note: type: Plain text
en: If the patch contains any changes to submodules then 'git apply' treats these changes as follows.
pt_BR: Caso um patch contenha alguma alteração nos submódulos, o comando 'git apply' tratará estas alterações da seguinte maneira.

note: type: Plain text
en: If `--index` is specified (explicitly or implicitly), then the submodule commits must match the index exactly for the patch to apply.  If any of the submodules are checked-out, then these check-outs are completely ignored, i.e., they are not required to be up to date or clean and they are not updated.
pt_BR: Caso `--index` seja utilizado (explícita ou implicitamente), o commit do submódulo deverá coincidir de forma exata ao índice para que o patch possa ser aplicado.  Não serão atualizados qualquer um dos submódulos que tenha uma averiguação, estes check-outs serão completamente ignorados, ou seja, eles não precisam estar atualizados ou limpos.

note: type: Plain text
en: If `--index` is not specified, then the submodule commits in the patch are ignored and only the absence or presence of the corresponding subdirectory is checked and (if possible) updated.
pt_BR: Caso o `--index` não seja utilizado, os commit dos submódulos no patch serão ignorados e somente a ausência ou a presença do subdiretório coincidente será verificado e (se possível) atualizado.

note: type: Plain text
en: git-archimport - Import a GNU Arch repository into Git
pt_BR: git-archimport - Importe um repositório do GNU Arch para o Git

note: type: Plain text
en: 'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
                   <archive/branch>[:<git-branch>] ...
pt_BR: 'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D profundidade] [-t tempdir]
                   <arquivo/ramo>[:<git-branch>] ...

note: type: Plain text
en: Imports a project from one or more GNU Arch repositories.  It will follow branches and repositories within the namespaces defined by the <archive/branch> parameters supplied. If it cannot find the remote branch a merge comes from it will just import it as a regular commit. If it can find it, it will mark it as a merge whenever possible (see discussion below).
pt_BR: Importa um projeto de um ou mais repositórios do GNU Arch.  Ele seguirá as ramificações e repositórios dentro dos espaço de nomes definidos através do parâmetro <arquivo/ramo> informado. Caso ele não consiga encontrar o ramo remoto, a mesclagem será importada apenas como um commit normal. Caso possa localizá-lo, será marcado como uma mesclagem sempre que for possível (consulte a discussão abaixo).

note: type: Plain text
en: The script expects you to provide the key roots where it can start the import from an 'initial import' or 'tag' type of Arch commit. It will follow and import new branches within the provided roots.
pt_BR: O script espera que você informe as principais raízes nas quais ele possa iniciar a 'importação inicial' ou 'tag' do commit do Arch. Ele seguirá e importará as novas ramificações dentro das raízes informadas.

note: type: Plain text
en: It expects to be dealing with one project only. If it sees branches that have different roots, it will refuse to run. In that case, edit your <archive/branch> parameters to define clearly the scope of the import.
pt_BR: Ele espera lidar apenas com um projeto apenas. Caso veja ramificações com raízes diferentes, a execução será impedida de prosseguir. Nesse caso, edite os parâmetros <arquivo/ramo> para definir claramente o escopo da importação.

note: type: Plain text
en: 'git archimport' uses `tla` extensively in the background to access the Arch repository.  Make sure you have a recent version of `tla` available in the path. `tla` must know about the repositories you pass to 'git archimport'.
pt_BR: O comando 'git archimport' utiliza o `tla` em segundo plano de forma exclusiva para acessar o repositório Arch.  Verifique se você tem uma versão recente do `tla` disponível no caminho. O `tla` deve saber sobre os repositórios que você passa ao 'git archimport'.

note: type: Plain text
en: For the initial import, 'git archimport' expects to find itself in an empty directory. To follow the development of a project that uses Arch, rerun 'git archimport' with the same parameters as the initial import to perform incremental imports.
pt_BR: Para a importação inicial, o comando 'git archimport' espera se encontrar em um diretório vazio. Para acompanhar o desenvolvimento de um projeto que utilize o Arch, execute novamente o comando 'git archimport' com os mesmos parâmetros que a importação inicial para que as importações incrementais possam ser executadas.

note: type: Plain text
en: While 'git archimport' will try to create sensible branch names for the archives that it imports, it is also possible to specify Git branch names manually.  To do so, write a Git branch name after each <archive/branch> parameter, separated by a colon.  This way, you can shorten the Arch branch names and convert Arch jargon to Git jargon, for example mapping a "PROJECT{litdd}devo{litdd}VERSION" branch to "master".
pt_BR: Enquanto o 'git archimport' tentará criar os nomes exatos das ramificações para os arquivos importados, também é possível especificar os nomes das ramificações do Git manualmente.  Para fazer isso, escreva um nome do ramo Git após cada parâmetro <arquivo/ramo>, separado por dois pontos.  Dessa forma, você pode encurtar os nomes das ramificações do Arch e converter o jargão do Arch para o Git mapeando uma ramificação "PROJECT{litdd}devo{litdd}VERSION" para "master" por exemplo.

note: type: Plain text
en: Associating multiple Arch branches to one Git branch is possible; the result will make the most sense only if no commits are made to the first branch, after the second branch is created.  Still, this is useful to convert Arch repositories that had been rotated periodically.
pt_BR: É possível associar as várias ramificações do Arch em uma ramificação do Git; o resultado fará mais sentido quando nenhum commit for feito na primeira ramificação, depois que o segundo ramo for criado.  Ainda assim, é útil para converter os repositórios do Arch que foram rotacionados periodicamente.

note: type: Title -
en: MERGES
pt_BR: MESCLAGENS

note: type: Plain text
en: Patch merge data from Arch is used to mark merges in Git as well. Git does not care much about tracking patches, and only considers a merge when a branch incorporates all the commits since the point they forked. The end result is that Git will have a good idea of how far branches have diverged. So the import process does lose some patch-trading metadata.
pt_BR: Os dados da mesclagem dos patches do Arch também são utilizados para marcar as mesclagens no Git. O Git não se importa muito com o rastreamento do patches, apenas considera uma mesclagem quando um ramo incorpora todos os commits desde o ponto em que eles foram bifurcados. O resultado final é que o Git terá uma boa ideia de quão longe as ramificações divergem. Portanto, o processo de importação perde alguns metadados durante a negociação dos patches.

note: type: Plain text
en: Fortunately, when you try and merge branches imported from Arch, Git will find a good merge base, and it has a good chance of identifying patches that have been traded out-of-sequence between the branches.
pt_BR: Felizmente, quando você tenta mesclar as ramificações importadas do Arch, o Git encontrará uma boa base para a mesclagem e tem uma boa chance de identificar quais os patches foram trocados fora da sequência entre os ramos.

note: type: Plain text
en: Display usage.
pt_BR: Exiba a utilização.

note: type: Plain text
en: Verbose output.
pt_BR: Saída detalhada.

note: type: Plain text
en: Many tags. Will create a tag for every commit, reflecting the commit name in the Arch repository.
pt_BR: Muitas tags. Criará uma tag para cada commit, refletindo o nome do commit no repositório do Arch.

note: type: Plain text
en: Use the fast patchset import strategy.  This can be significantly faster for large trees, but cannot handle directory renames or permissions changes.  The default strategy is slow and safe.
pt_BR: Use a estratégia de importação rápida no conjunto dos patches.  Isso pode acelerar o processo significativamente em árvores muito grandes, no entanto não pode lidar com as renomeações dos diretórios ou das alterações das permissões.  A estratégia predefinida é lenta e segura.

note: type: Plain text
en: Use this for compatibility with old-style branch names used by earlier versions of 'git archimport'.  Old-style branch names were category{litdd}branch, whereas new-style branch names are archive,category{litdd}branch{litdd}version.  In both cases, names given on the command-line will override the automatically-generated ones.
pt_BR: Use isso para ter a compatibilidade com os nomes das ramificações do estilo antigo utilizados pelas versões anteriores ao comando 'git archimport'.  Os nomes das ramificações no estilo antigo foram as ramificações da categoria {litdd}, enquanto os nomes das ramificações no novo estilo são "archive", category{litdd}branch{litdd}version.  Nos dois casos, os nomes dos fornecidos na linha de comando substituirão os que forem gerados automaticamente.

note: type: Labeled list
en: -D <depth>
pt_BR: -D <profundidade>

note: type: Plain text
en: Follow merge ancestry and attempt to import trees that have been merged from.  Specify a depth greater than 1 if patch logs have been pruned.
pt_BR: Siga a mesclagem de ascendência e tente importar as árvores das quais foram mescladas.  Informe uma profundidade maior que 1 caso os registros logs do patch tenham sido removidos.

note: type: Plain text
en: Attempt to auto-register archives at `http://mirrors.sourcecontrol.net` This is particularly useful with the -D option.
pt_BR: Tente registrar automaticamente os arquivos em `http://mirrors.sourcecontrol.net` muito útil se utilizado com a opção `-D`.

note: type: Plain text
en: Override the default tempdir.
pt_BR: Sobrescreve o diretório temporário predefinido.

note: type: Labeled list
en: <archive/branch>
pt_BR: <arquivo/ramo>

note: type: Plain text
en: Archive/branch identifier in a format that `tla log` understands.
pt_BR: Identificador do arquivo/ramo em um formato que o `tla log` compreenda.

note: type: Plain text
en: git-archive - Create an archive of files from a named tree
pt_BR: git-archive - Cria um arquivo dos arquivos vindos de uma determinada árvore

note: type: Plain text
en: 'git archive' [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]
    	      [-o <file> | --output=<file>] [--worktree-attributes]
    	      [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>
    	      [<path>...]
pt_BR: 'git archive' [--format=<fmt>] [--list] [--prefix=<prefixo>/] [<extra>]
    	      [-o <arquivo> | --output=<arquivo>] [--worktree-attributes]
    	      [--remote=<repo> [--exec=<arquivo-de-upload-git>]] <tree-ish>
    	      [<caminho>...]

note: type: Plain text
en: Creates an archive of the specified format containing the tree structure for the named tree, and writes it out to the standard output.  If <prefix> is specified it is prepended to the filenames in the archive.
pt_BR: Cria um arquivo no formato informado que contenha uma estrutura de determinada árvore e grava na saída padrão.  Caso o `<prefixo>` seja utilizado, ele será anexado aos nomes dos arquivos no arquivo.

note: type: Plain text
en: 'git archive' behaves differently when given a tree ID versus when given a commit ID or tag ID.  In the first case the current time is used as the modification time of each file in the archive.  In the latter case the commit time as recorded in the referenced commit object is used instead.  Additionally the commit ID is stored in a global extended pax header if the tar format is used; it can be extracted using 'git get-tar-commit-id'. In ZIP files it is stored as a file comment.
pt_BR: O comando 'git archive' se comporta de maneira diferente quando recebe um ID da árvore e quando recebe um ID do commit ou o ID de uma tag.  No primeiro caso, a hora atual é utilizada como a hora da alteração de cada arquivo no arquivo.  Neste último caso, a hora que foi registrada no objeto do commit será utilizado.  Além disso, o ID do commit é armazenado em um cabeçalho global estendido pax caso o formato tar seja utilizado; pode ser extraído utilizando o comando 'git get-tar-commit-id'. Nos arquivos ZIP, ele é armazenado como um comentário do arquivo.

note: type: Plain text
en: Format of the resulting archive: 'tar' or 'zip'. If this option is not given, and the output file is specified, the format is inferred from the filename if possible (e.g. writing to "foo.zip" makes the output to be in the zip format). Otherwise the output format is `tar`.
pt_BR: Formato do arquivo resultante: 'tar' ou 'zip'. Caso esta opção não seja utilizada e o arquivo na saída for definido, o tipo do formato será deduzido através do nome do arquivo, quando for possível (ao gravar como "foo.zip" faz com que a saída esteja no formato zip por exemplo). Caso contrário, o formato gerado será `tar`.

note: type: Plain text
en: Show all available formats.
pt_BR: Exiba todos os formatos disponíveis.

note: type: Plain text
en: Report progress to stderr.
pt_BR: Relate o progresso para o stderr.

note: type: Labeled list
en: --prefix=<prefix>/
pt_BR: --prefix=<prefixo>/

note: type: Plain text
en: Prepend <prefix>/ to each filename in the archive.
pt_BR: Anexe o `<prefixo>/` em cada nome do arquivo no arquivo.

note: type: Labeled list
en: -o <file>
pt_BR: -o <arquivo>

note: type: Plain text
en: Write the archive to <file> instead of stdout.
pt_BR: Escreva o arquivo para o `<arquivo>` em vez do stdout.

note: type: Plain text
en: Look for attributes in .gitattributes files in the working tree as well (see <<ATTRIBUTES>>).
pt_BR: Procure pelos atributos nos arquivos `.gitattributes` da árvore de trabalho (consulte <<ATRIBUTOS>>).

note: type: Plain text
en: This can be any options that the archiver backend understands.  See next section.
pt_BR: Pode ser qualquer opção que seja compatível com a estrutura do arquivador.  Consulte a próxima seção.

note: type: Plain text
en: Instead of making a tar archive from the local repository, retrieve a tar archive from a remote repository. Note that the remote repository may place restrictions on which sha1 expressions may be allowed in `<tree-ish>`. See linkgit:git-upload-archive[1] for details.
pt_BR: Em vez de criar um arquivo tar do repositório local, recupere um arquivo tar de um repositório remoto. Observe que o repositório remoto pode colocar restrições sobre quais as expressões sha1 podem ser permitidas no `<tree-ish>`. Para mais detalhes consulte linkgit:git-upload-archive[1].

note: type: Plain text
en: Used with --remote to specify the path to the 'git-upload-archive' on the remote side.
pt_BR: Utilizado com `--remote` para informar o caminho para o 'git-upload-archive' no lado remoto.

note: type: Plain text
en: The tree or commit to produce an archive for.
pt_BR: A árvore ou o commit que será utilizado para produzir um arquivo.

note: type: Labeled list
en: <path>
pt_BR: <caminho>

note: type: Plain text
en: Without an optional path parameter, all files and subdirectories of the current working directory are included in the archive.  If one or more paths are specified, only these are included.
pt_BR: Sem um parâmetro opcional do caminho, todos os arquivos e os subdiretórios do diretório de trabalho atual serão incluídos no arquivo.  Caso um ou mais caminhos sejam informados, apenas estes, serão incluídos.

note: type: Title -
en: BACKEND EXTRA OPTIONS
pt_BR: OPÇÕES EXTRAS DA ESTRUTURA

note: type: Plain text
en: Store the files instead of deflating them.
pt_BR: Armazene os arquivos em vez de extraí-los.

note: type: Plain text
en: Highest and slowest compression level.  You can specify any number from 1 to 9 to adjust compression speed and ratio.
pt_BR: Níveis de compressão mais altos e baixos.  Você pode utilizar qualquer número entre 1 e 9 para ajustar a velocidade e a taxa de compressão.

note: type: Plain text
en: This variable can be used to restrict the permission bits of tar archive entries.  The default is 0002, which turns off the world write bit.  The special value "user" indicates that the archiving user's umask will be used instead.  See umask(2) for details.  If `--remote` is used then only the configuration of the remote repository takes effect.
pt_BR: Essa variável pode ser utilizada para restringir os bits de permissão das entradas do arquivo tar.  A predefinição é 0002, que desliga o bit de gravação global.  O valor especial "user" (usuário) indica que o umask do arquivo do usuário será utilizado.  Para mais detalhes consulte umask(2).  Caso `--remote` seja utilizado, somente a configuração do repositório remoto entrará em vigor.

note: type: Labeled list
en: tar.<format>.command
pt_BR: tar.<formato>.comando

note: type: Plain text
en: This variable specifies a shell command through which the tar output generated by `git archive` should be piped. The command is executed using the shell with the generated tar file on its standard input, and should produce the final output on its standard output. Any compression-level options will be passed to the command (e.g., "-9"). An output file with the same extension as `<format>` will be use this format if no other format is given.
pt_BR: Esta variável define um comando shell por onde o tar será gerado pelo `git archive` através de um "pipe". O comando é executado utilizando o shell com o arquivo tar gerado na sua entrada padrão e deve produzir a saída final na sua saída padrão. Quaisquer opções do nível de compressão serão passadas ao comando ("-9" por exemplo). Um arquivo gerado com a mesma extensão que `<formato>`, este será utilizado caso nenhum outro seja informado.

note: type: Plain text
en: The "tar.gz" and "tgz" formats are defined automatically and default to `gzip -cn`. You may override them with custom commands.
pt_BR: Os formatos "tar.gz" e "tgz" são definidos automaticamente e predefinidos para `gzip -cn`. Você pode substituí-los com comandos personalizados.

note: type: Labeled list
en: tar.<format>.remote
pt_BR: tar.<formato>.remoto

note: type: Plain text
en: If true, enable `<format>` for use by remote clients via linkgit:git-upload-archive[1]. Defaults to false for user-defined formats, but true for the "tar.gz" and "tgz" formats.
pt_BR: Caso seja 'true', ative o `<formato>` para que seja utilizado por clientes remotos através do linkgit:git-upload-archive[1]. A predefinição retorna para 'false' nos formatos definidos pelo usuário, mas 'true' para os formatos "tar.gz" e "tgz".

note: type: Title -
en: ATTRIBUTES
pt_BR: ATRIBUTOS

note: type: Plain text
en: Files and directories with the attribute export-ignore won't be added to archive files.  See linkgit:gitattributes[5] for details.
pt_BR: Arquivos e os diretórios com o atributo `export-ignore` não serão adicionados aos arquivos compactados.  Para mais detalhes consulte linkgit:gitattributes[5].

note: type: Plain text
en: If the attribute export-subst is set for a file then Git will expand several placeholders when adding this file to an archive.  See linkgit:gitattributes[5] for details.
pt_BR: Caso o atributo `export-subst` esteja definido para um arquivo, o Git expandirá os vários espaços reservados ao adicionar este arquivo em um arquivo.  Para mais detalhes consulte linkgit:gitattributes[5].

note: type: Plain text
en: Note that attributes are by default taken from the `.gitattributes` files in the tree that is being archived.  If you want to tweak the way the output is generated after the fact (e.g. you committed without adding an appropriate export-ignore in its `.gitattributes`), adjust the checked out `.gitattributes` file as necessary and use `--worktree-attributes` option.  Alternatively you can keep necessary attributes that should apply while archiving any tree in your `$GIT_DIR/info/attributes` file.
pt_BR: Observe que, por predefinição, os atributos são obtidos através dos arquivos `.gitattributes` na árvore que está sendo arquivada.  Caso queira ajustar a maneira como a saída é gerada após o fato (você fez um commit sem adicionar um `export-ignore` adequado no seus `.gitattributes` por exemplo), ajuste o arquivo `.gitattributes` conforme seja necessário e utilize a opção `--worktree-attributes`.  Como alternativa, você pode manter os atributos necessários que devem ser aplicados ao arquivar qualquer árvore no seu arquivo `$GIT_DIR/info/attributes`.

note: type: Plain text
en: Create a tar archive that contains the contents of the latest commit on the current branch, and extract it in the `/var/tmp/junk` directory.
pt_BR: Crie um arquivo tar com o conteúdo do commit mais recente no ramo atual e extraia-o no diretório `/var/tmp/junk`.

note: type: Plain text
en: Create a compressed tarball for v1.4.0 release.
pt_BR: Crie um "tarball" comprimido para a versão v1.4.0.

note: type: Plain text
en: Same as above, but using the builtin tar.gz handling.
pt_BR: O mesmo que acima porém lidando com o "tar.gz" embutido.

note: type: Plain text
en: Same as above, but the format is inferred from the output file.
pt_BR: O mesmo que acima, porém o formato é deduzido do arquivo gerado.

note: type: Plain text
en: Create a compressed tarball for v1.4.0 release, but without a global extended pax header.
pt_BR: Crie um tarball compactado para a versão v1.4.0, porém sem um cabeçalho pax global estendido.

note: type: Plain text
en: Put everything in the current head's Documentation/ directory into 'git-1.4.0-docs.zip', with the prefix 'git-docs/'.
pt_BR: Coloque tudo no diretório Documentation/ do cabeçalho atual no arquivo 'git-1.4.0-docs.zip', com o prefixo 'git-docs/'.

note: type: Plain text
en: Create a Zip archive that contains the contents of the latest commit on the current branch. Note that the output format is inferred by the extension of the output file.
pt_BR: Crie um arquivo Zip com o conteúdo do commit mais recente na ramificação atual. Observe que o formato gerado é deduzido através da extensão do arquivo utilizado na saída.

note: type: Plain text
en: Configure a "tar.xz" format for making LZMA-compressed tarfiles.  You can use it specifying `--format=tar.xz`, or by creating an output file like `-o foo.tar.xz`.
pt_BR: Configure um formato "tar.xz" para criar arquivo tarfiles compactados com LZMA.  Você pode utilizá-lo utilizando a opção `--format=tar.xz` ou criando um arquivo gerado com `-o foo.tar.xz`.

note: type: Plain text
en: git-bisect - Use binary search to find the commit that introduced a bug
pt_BR: git-bisect - Utilize a pesquisa binária para localizar o commit que introduziu um bug

note: type: Plain text
en: 'git bisect' <subcommand> <options>
pt_BR: 'git bisect' <subcomando> <opções>

note: type: Plain text
en: The command takes various subcommands, and different options depending on the subcommand:
pt_BR: O comando assume vários subcomandos das diferentes opções dependendo do subcomando:

note: type: Plain text
en:  git bisect start [--term-{old,good}=<term> --term-{new,bad}=<term>]
    		  [--no-checkout] [<bad> [<good>...]] [--] [<paths>...]
     git bisect (bad|new|<term-new>) [<rev>]
     git bisect (good|old|<term-old>) [<rev>...]
     git bisect terms [--term-good | --term-bad]
     git bisect skip [(<rev>|<range>)...]
     git bisect reset [<commit>]
     git bisect (visualize|view)
     git bisect replay <logfile>
     git bisect log
     git bisect run <cmd>...
     git bisect help
pt_BR:  git bisect start [--term-{old,good}=<term> --term-{new,bad}=<term>]
    		  [--no-checkout] [<bad> [<good>...]] [--] [<caminhos>...]
     git bisect (bad|new|<novo-termo>) [<rev>]
     git bisect (good|old|<termo-antigo>) [<rev>...]
     git bisect terms [--term-good | --term-bad]
     git bisect skip [(<rev>|<range>)...]
     git bisect reset [<commit>]
     git bisect (visualize|view)
     git bisect replay <logfile>
     git bisect log
     git bisect run <cmd>...
     git bisect help

note: type: Plain text
en: This command uses a binary search algorithm to find which commit in your project's history introduced a bug. You use it by first telling it a "bad" commit that is known to contain the bug, and a "good" commit that is known to be before the bug was introduced. Then `git bisect` picks a commit between those two endpoints and asks you whether the selected commit is "good" or "bad". It continues narrowing down the range until it finds the exact commit that introduced the change.
pt_BR: Este comando utiliza um algoritmo de pesquisa binária para descobrir qual o commit no histórico do seu projeto introduziu um "bug" (problema). Você o utiliza informando primeiro a um commit "bad" (ruim) que é informado por conter o bug e um commit "good" (bom) informado antes da introdução do bug. Então o comando `git bisect` seleciona um commit entre estes dois pontos extremos e pergunta se o commit selecionado é "bom" ou "ruim". Continua estreitando o intervalo até encontrar o commit exato responsável pela introdução da alteração.

note: type: Plain text
en: In fact, `git bisect` can be used to find the commit that changed *any* property of your project; e.g., the commit that fixed a bug, or the commit that caused a benchmark's performance to improve. To support this more general usage, the terms "old" and "new" can be used in place of "good" and "bad", or you can choose your own terms. See section "Alternate terms" below for more information.
pt_BR: De fato, o comando `git bisect` pode ser utilizado para encontrar o commit que alterou *qualquer* propriedade do seu projeto; um commit que corrigiu um problema ou um commit que fez com que o desempenho de um benchmark melhorasse por exemplo. Para dar apoio a nesta utilização mais genérica, os termos "old" (antigo) e "new" (novo) podem ser utilizados no lugar de "good" (bom) e "bad" (ruim), ou escolha os seus próprios termos. Consulte a seção "Termos alternativos" abaixo para obter mais informações.

note: type: Title ~
en: Basic bisect commands: start, bad, good
pt_BR: Comandos "bisect" básicos : `start` (começar), `bad` (ruim), `good` (bom)

note: type: Plain text
en: As an example, suppose you are trying to find the commit that broke a feature that was known to work in version `v2.6.13-rc2` of your project. You start a bisect session as follows:
pt_BR: Como exemplo, suponha que você esteja tentando encontrar um commit que estragou um recurso que funcionava na versão `v2.6.13-rc2` do seu projeto. Você começa uma seção "besect" como demonstrado abaixo:

note: type: delimited block -
en: $ git bisect start
    $ git bisect bad                 # Current version is bad
    $ git bisect good v2.6.13-rc2    # v2.6.13-rc2 is known to be good
pt_BR: $ git bisect start
    $ git bisect bad                 # A versão atual está ruim
    $ git bisect good v2.6.13-rc2    # v2.6.13-rc2 é conhecido por estar bom

note: type: Plain text
en: Once you have specified at least one bad and one good commit, `git bisect` selects a commit in the middle of that range of history, checks it out, and outputs something similar to the following:
pt_BR: Uma vez que você tenha utilizado pelo menos um commit ruim e um commit bom, o comando `git bisect` seleciona um commit no meio deste intervalo do histórico, faz a averiguação e produz algo como por exemplo:

note: type: delimited block -
en: Bisecting: 675 revisions left to test after this (roughly 10 steps)
pt_BR: Bisecting: 675 revisões deixadas para testar depois disso (aproximadamente 10 passos)

note: type: Plain text
en: You should now compile the checked-out version and test it. If that version works correctly, type
pt_BR: Agora você deve compilar a versão com check-out e testá-la. Caso esta versão não funcione corretamente, digite

note: type: Plain text
en: If that version is broken, type
pt_BR: Se essa versão estiver quebrada, digite

note: type: Plain text
en: Then `git bisect` will respond with something like
pt_BR: Então o comando `git bisect` irá responder algo como

note: type: delimited block -
en: Bisecting: 337 revisions left to test after this (roughly 9 steps)
pt_BR: Bisecting: 337 revisões deixadas para testar depois disso (aproximadamente 9 passos)

note: type: Plain text
en: Keep repeating the process: compile the tree, test it, and depending on whether it is good or bad run `git bisect good` or `git bisect bad` to ask for the next commit that needs testing.
pt_BR: Continue repetindo o processo: compile a árvore, teste-a e dependendo se ela for boa ou ruim, execute o comando `git bisect good` ou ` git bisect bad` para solicitar o próximo commit que precisa ser testado.

note: type: Plain text
en: Eventually there will be no more revisions left to inspect, and the command will print out a description of the first bad commit. The reference `refs/bisect/bad` will be left pointing at that commit.
pt_BR: Eventualmente, não haverá mais revisões a serem inspecionadas e o comando exibirá uma descrição do primeiro commit ruim. A referência `refs/bisect/bad` será deixada apontando para o commit.

note: type: Plain text
en: After a bisect session, to clean up the bisection state and return to the original HEAD, issue the following command:
pt_BR: Para limpar a condição geral bisseção e retornar ao `HEAD` original, execute o seguinte comando:

note: type: Plain text
en: By default, this will return your tree to the commit that was checked out before `git bisect start`.  (A new `git bisect start` will also do that, as it cleans up the old bisection state.)
pt_BR: É predefinido que isso faça com que a sua árvore retorne para o commit que foi retirado antes do `git bisect start`.  (Um novo `git bisect start` também fará isso, pois limpa a condição antiga da bisseção.)

note: type: Plain text
en: With an optional argument, you can return to a different commit instead:
pt_BR: Com um argumento opcional, você pode retornar para um commit diferente:

note: type: Plain text
en: For example, `git bisect reset bisect/bad` will check out the first bad revision, while `git bisect reset HEAD` will leave you on the current bisection commit and avoid switching commits at all.
pt_BR: Por exemplo, `git bisect reset bisect/bad` irá verificar a primeira revisão ruim enquanto o `git bisect reset HEAD` deixará você no commit atual da bisseção evitando a alternância para outros commits.

note: type: Title ~
en: Alternate terms
pt_BR: Termos alternativos

note: type: Plain text
en: Sometimes you are not looking for the commit that introduced a breakage, but rather for a commit that caused a change between some other "old" state and "new" state. For example, you might be looking for the commit that introduced a particular fix. Or you might be looking for the first commit in which the source-code filenames were finally all converted to your company's naming standard. Or whatever.
pt_BR: Às vezes, você não está procurando por um commit que introduziu um problema, mas sim um commit que causou uma alteração "antiga" entre alguma condição "nova". Você pode estar procurando por um commit que introduziu uma correção em específico por exemplo. Ou você pode estar procurando o primeiro commit onde os nomes dos arquivos do código-fonte foram finalmente convertidos para o padrão de nomes da sua empresa. Ou algo assim.

note: type: Plain text
en: In such cases it can be very confusing to use the terms "good" and "bad" to refer to "the state before the change" and "the state after the change". So instead, you can use the terms "old" and "new", respectively, in place of "good" and "bad". (But note that you cannot mix "good" and "bad" with "old" and "new" in a single session.)
pt_BR: Nesses casos, pode ser muito confuso utilizar as opções "good" e "bad" para se referir a "condição antes da mudança" e "a condição após a mudança". Portanto, você pode utilizar os termos "old" e "new" respectivamente, no lugar de "good" e "bad". (Observe que não é possível misturar "good" e "bad" com "old" e "new" em uma única sessão.)

note: type: Plain text
en: In this more general usage, you provide `git bisect` with a "new" commit that has some property and an "old" commit that doesn't have that property. Each time `git bisect` checks out a commit, you test if that commit has the property. If it does, mark the commit as "new"; otherwise, mark it as "old". When the bisection is done, `git bisect` will report which commit introduced the property.
pt_BR: Neste uso mais geral, você utiliza o comando `git bisect` com um commit "new" que tem alguma propriedade e um commit "old" que não tem nenhuma. Cada vez que o comando `git bisect` faz a verificação de um commit, você testa se o commit tem a propriedade. Em caso afirmativo, marque o commit como "new"; Caso contrário, marque-o como "old". Quando a bisseção tiver sido concluída, o comando `git bisect` informará qual o commit que introduziu a propriedade.

note: type: Plain text
en: To use "old" and "new" instead of "good" and bad, you must run `git bisect start` without commits as argument and then run the following commands to add the commits:
pt_BR: Para utilizar "old" e "new" em vez de "good" e "bad", você deve executar `git bisect start` sem nenhum commit e depois executar os seguintes comandos para adicionar os commits:

note: type: Plain text
en: to indicate that a commit was before the sought change, or
pt_BR: para indicar que um commit foi feito antes da alteração solicitada, ou

note: type: Plain text
en: to indicate that it was after.
pt_BR: para indicar que foi depois.

note: type: Plain text
en: To get a reminder of the currently used terms, use
pt_BR: Para receber um lembrete dos termos utilizados no momento, utilize

note: type: Plain text
en: You can get just the old (respectively new) term with `git bisect terms --term-old` or `git bisect terms --term-good`.
pt_BR: Você pode obter apenas o termo antigo (respectivamente novo) com `git bisect terms --term-old` ou `git bisect terms --term-good`.

note: type: Plain text
en: If you would like to use your own terms instead of "bad"/"good" or "new"/"old", you can choose any names you like (except existing bisect subcommands like `reset`, `start`, ...) by starting the bisection using
pt_BR: Caso queira utilizar os seus próprios termos em vez de "bad"/"good" ou "new"/"old", escolha qualquer nome que quiser (exceto os subcomandos bisect já existentes como `reset`, `start`, ...) iniciando uma bisseção utilizando

note: type: delimited block -
en: git bisect start --term-old <term-old> --term-new <term-new>
pt_BR: git bisect start --term-old <termo-antigo> --term-new <novo-termo>

note: type: Plain text
en: For example, if you are looking for a commit that introduced a performance regression, you might use
pt_BR: Caso esteja procurando por um commit que introduziu uma regressão ao desempenho, poderá utilizar por exemplo

note: type: Plain text
en: Or if you are looking for the commit that fixed a bug, you might use
pt_BR: Ou caso esteja procurando o commit que corrigiu um problema, você pode usar

note: type: Plain text
en: Then, use `git bisect <term-old>` and `git bisect <term-new>` instead of `git bisect good` and `git bisect bad` to mark commits.
pt_BR: Então, utilize `git bisect <termo-antigo>` e `git bisect <novo-termo>` em vez de `git bisect good` e `git bisect bad` para marcar os commits.

note: type: Title ~
en: Bisect visualize/view
pt_BR: Bisect visualize/observe

note: type: Plain text
en: To see the currently remaining suspects in 'gitk', issue the following command during the bisection process (the subcommand `view` can be used as an alternative to `visualize`):
pt_BR: Para ver os suspeitos restantes no 'gitk', utilize o seguinte comando durante o processo de bisseção (o `view` do subcomando pode ser utilizado como uma alternativa ao `visualize`):

note: type: Plain text
en: If the `DISPLAY` environment variable is not set, 'git log' is used instead.  You can also give command-line options such as `-p` and `--stat`.
pt_BR: Caso a variável de ambiente `DISPLAY` não seja definido, o comando 'git log' é utilizado em seu lugar.  Você também pode utilizar as opções `-p` e `--stat` na linha de comando.

note: type: Title ~
en: Bisect log and bisect replay
pt_BR: Bisect log e bisect replay

note: type: Plain text
en: After having marked revisions as good or bad, issue the following command to show what has been done so far:
pt_BR: Depois de ter marcado as revisões como boas ou ruins, emita o seguinte comando para exibir o que foi feito até agora:

note: type: Plain text
en: If you discover that you made a mistake in specifying the status of a revision, you can save the output of this command to a file, edit it to remove the incorrect entries, and then issue the following commands to return to a corrected state:
pt_BR: Caso descubra que cometeu um erro ao especificar a condição de uma revisão, é possível salvar o arquivo gerado em um arquivo, editá-lo para remover as entradas que estiverem incorretas e em seguida, utilizar os seguintes comandos para corrigir a condição de corrigido:

note: type: Title ~
en: Avoiding testing a commit
pt_BR: Evitando o teste de um commit

note: type: Plain text
en: If, in the middle of a bisect session, you know that the suggested revision is not a good one to test (e.g. it fails to build and you know that the failure does not have anything to do with the bug you are chasing), you can manually select a nearby commit and test that one instead.
pt_BR: Se no meio de uma sessão bisect, você sabe que a revisão sugerida não é boa para testar (ela falha em construir e você sabe que a falha não tem nada a ver com o bug que você está procurando por exemplo), é possível selecionar manualmente um commit próximo e testá-lo em vez disso.

note: type: Plain text
en: For example:
pt_BR: Por exemplo:

note: type: delimited block -
en: $ git bisect good/bad			# previous round was good or bad.
    Bisecting: 337 revisions left to test after this (roughly 9 steps)
    $ git bisect visualize			# oops, that is uninteresting.
    $ git reset --hard HEAD~3		# try 3 revisions before what
    					# was suggested
pt_BR: $ git bisect good/bad			# a rodada anterior estava boa ou ruim.
    Bisecting: 337 revisions left to test after this (roughly 9 steps)
    $ git bisect visualize			# oops, isso não foi interessante.
    $ git reset --hard HEAD~3		# tente 3 revisões anteriores
    					# ao que foi sugerido

note: type: Plain text
en: Then compile and test the chosen revision, and afterwards mark the revision as good or bad in the usual manner.
pt_BR: Em seguida, compile, teste a revisão escolhida e depois marque a revisão da maneira usual como boa ou ruim.

note: type: Plain text
en: Instead of choosing a nearby commit by yourself, you can ask Git to do it for you by issuing the command:
pt_BR: Em vez de escolher um commit próximo, é possível pedir ao Git para fazer isso por você, utilizando o comando:

note: type: delimited block -
en: $ git bisect skip                 # Current version cannot be tested
pt_BR: $ git bisect skip                 # A versão atual não pode ser testada

note: type: Plain text
en: However, if you skip a commit adjacent to the one you are looking for, Git will be unable to tell exactly which of those commits was the first bad one.
pt_BR: No entanto, caso você pule um commit adjacente ao que você está procurando, o Git não saberá exatamente qual destes commits foi o primeiro que estava ruim.

note: type: Plain text
en: You can also skip a range of commits, instead of just one commit, using range notation. For example:
pt_BR: É possível Você também pular um intervalo de commits em vez de apenas um, utilizando a notação do intervalo. Por exemplo:

note: type: Plain text
en: This tells the bisect process that no commit after `v2.5`, up to and including `v2.6`, should be tested.
pt_BR: Isso diz ao processo "bisect" que nenhum commit após a versão `v2.5` e até a versão `v2.6`, deve ser testada.

note: type: Plain text
en: Note that if you also want to skip the first commit of the range you would issue the command:
pt_BR: Observe que, caso você também queira pular o primeiro commit do intervalo, utilize o seguinte comando:

note: type: Plain text
en: This tells the bisect process that the commits between `v2.5` and `v2.6` (inclusive) should be skipped.
pt_BR: Informa ao processo "bisect" que os commits entre as versões `v2.5` e `v2.6` (inclusive) devem ser ignorados.

note: type: Title ~
en: Cutting down bisection by giving more parameters to bisect start
pt_BR: Reduza a bisseção informando mais parâmetros para o início do bisect

note: type: Plain text
en: You can further cut down the number of trials, if you know what part of the tree is involved in the problem you are tracking down, by specifying path parameters when issuing the `bisect start` command:
pt_BR: É possível reduzir ainda mais a quantidade de tentativas caso saiba que parte da árvore está envolvida no problema que você está procurando ao informar os parâmetros do caminho durante a utilização do comando `bisect start`:

note: type: Plain text
en: If you know beforehand more than one good commit, you can narrow the bisect space down by specifying all of the good commits immediately after the bad commit when issuing the `bisect start` command:
pt_BR: Caso saiba de antemão se há mais de um commit bom, é possível restringir o espaço do "bisect" ao informar todos os commits bons imediatamente após o commit com problema quando utilizar o comando `bisect start`:

note: type: delimited block -
en: $ git bisect start v2.6.20-rc6 v2.6.20-rc4 v2.6.20-rc1 --
                       # v2.6.20-rc6 is bad
                       # v2.6.20-rc4 and v2.6.20-rc1 are good
pt_BR: $ git bisect start v2.6.20-rc6 v2.6.20-rc4 v2.6.20-rc1 --
                       # v2.6.20-rc6 é ruim
                       # v2.6.20-rc4 é v2.6.20-rc1 está bom

note: type: Plain text
en: If you have a script that can tell if the current source code is good or bad, you can bisect by issuing the command:
pt_BR: Caso tenha um script que possa dizer se o código-fonte atual é bom ou ruim, é possível fazer o "bisect" utilize o seguinte comando:

note: type: delimited block -
en: $ git bisect run my_script arguments
pt_BR: $ git bisect run meu_script opções

note: type: Plain text
en: Note that the script (`my_script` in the above example) should exit with code 0 if the current source code is good/old, and exit with a code between 1 and 127 (inclusive), except 125, if the current source code is bad/new.
pt_BR: Observe que o script (`meu_script` no exemplo acima) deve encerrar com o código 0 caso o código-fonte atual seja bom/antigo e encerrar com um código entre 1 e 127 (inclusive), exceto 125, caso o código-fonte atual seja ruim/novo.

note: type: Plain text
en: Any other exit code will abort the bisect process. It should be noted that a program that terminates via `exit(-1)` leaves $? = 255, (see the exit(3) manual page), as the value is chopped with `& 0377`.
pt_BR: Qualquer outro código gerado interromperá o processo bisect. Deve ser observado que um programa que encerra com `exit (-1)` deixa um $? = 255, (consulte a página do manual exit(3)), pois o valor é cortado com `& 0377`.

note: type: Plain text
en: The special exit code 125 should be used when the current source code cannot be tested. If the script exits with this code, the current revision will be skipped (see `git bisect skip` above). 125 was chosen as the highest sensible value to use for this purpose, because 126 and 127 are used by POSIX shells to signal specific error status (127 is for command not found, 126 is for command found but not executable--these details do not matter, as they are normal errors in the script, as far as `bisect run` is concerned).
pt_BR: O código especial 125 da saída deve ser utilizado quando o código-fonte atual não puder ser testado. Caso o script encerre com este código, a revisão atual será ignorada (consulte o comando `git bisect skip` acima). O 125 foi selecionado como o maior valor a ser utilizado para esta finalidade, pois 126 e 127 são utilizandos pelos shells POSIX para sinalizar uma condição de erro específica (127 é utilizado para o comando não encontrado, 126 é para o comando que foi encontrado, mas não é executável - estes detalhes não são importantes, pois são erros normais do script, no que diz respeito ao comando `bisect run`).

note: type: Plain text
en: You may often find that during a bisect session you want to have temporary modifications (e.g. s/#define DEBUG 0/#define DEBUG 1/ in a header file, or "revision that does not have this commit needs this patch applied to work around another problem this bisection is not interested in") applied to the revision being tested.
pt_BR: Muitas vezes você pode achar que durante uma sessão bisect você queira ter alterações temporárias (`s/#define DEBUG 0/#define DEBUG 1/` ao cabeçalho de um arquivo, ou "a revisão que não tem este commit e precisa que esta correção seja aplicada como um quebra galho que seja irrelevante para esta bisseção por exemplo") aplicada à revisão que está sendo testada.

note: type: Plain text
en: To cope with such a situation, after the inner 'git bisect' finds the next revision to test, the script can apply the patch before compiling, run the real test, and afterwards decide if the revision (possibly with the needed patch) passed the test and then rewind the tree to the pristine state.  Finally the script should exit with the status of the real test to let the `git bisect run` command loop determine the eventual outcome of the bisect session.
pt_BR: Para lidar com esta situação, depois que o comando 'git bisect' encontrar a próxima revisão para ser testada, o script poderá aplicar o patch antes da compilação, executar um teste real e depois decidir se a revisão (possivelmente com a correção necessária) passou no teste e depois retornar a árvore para a sua perfeita condição.  Finalmente, o script deve encerrar com a condição do teste real permitindo que o loop de comando `git bisect run` determine o resultado final da sessão bisect.

note: type: Plain text
en: Do not checkout the new working tree at each iteration of the bisection process. Instead just update a special reference named `BISECT_HEAD` to make it point to the commit that should be tested.
pt_BR: Não faça a averiguação da nova árvore de trabalho em cada iteração do processo de bisseção. Em vez disso, atualize apenas uma referência especial chamada `BISECT_HEAD` indicando o commit que deve ser testado.

note: type: Plain text
en: This option may be useful when the test you would perform in each step does not require a checked out tree.
pt_BR: Essa opção pode ser útil quando o teste que você executaria em cada etapa não exigir uma árvore com check-out.

note: type: Plain text
en: If the repository is bare, `--no-checkout` is assumed.
pt_BR: Caso o repositório seja simples, assume-se a opção `--no-checkout`.

note: type: Plain text
en: Automatically bisect a broken build between v1.2 and HEAD:
pt_BR: Faça o bisect automaticamente uma construção quebrada entre v1.2 e HEAD:

note: type: delimited block -
en: $ git bisect start HEAD v1.2 --      # HEAD is bad, v1.2 is good
    $ git bisect run make                # "make" builds the app
    $ git bisect reset                   # quit the bisect session
pt_BR: $ git bisect start HEAD v1.2 --      # HEAD está ruim, v1.2 está bom
    $ git bisect run make                # "make" compila o app
    $ git bisect reset                   # encerra a seção bisect

note: type: Plain text
en: Automatically bisect a test failure between origin and HEAD:
pt_BR: Faça o bisect automaticamente em um teste que falhou entre a `origin` (origem) e o `HEAD`:

note: type: delimited block -
en: $ git bisect start HEAD origin --    # HEAD is bad, origin is good
    $ git bisect run make test           # "make test" builds and tests
    $ git bisect reset                   # quit the bisect session
pt_BR: $ git bisect start HEAD origin --    # HEAD está ruim, origin está bom
    $ git bisect run make test           # "make test" compila e testa
    $ git bisect reset                   # encerra a seção bisect

note: type: Plain text
en: Automatically bisect a broken test case:
pt_BR: Faça o bisect automaticamente em um teste quebrado:

note: type: delimited block -
en: $ cat ~/test.sh
    #!/bin/sh
    make || exit 125                     # this skips broken builds
    ~/check_test_case.sh                 # does the test case pass?
    $ git bisect start HEAD HEAD~10 --   # culprit is among the last 10
    $ git bisect run ~/test.sh
    $ git bisect reset                   # quit the bisect session
pt_BR: $ cat ~/test.sh
    #!/bin/sh
    make || exit 125                     # ignora as construções quebradas
    ~/check_test_case.sh                 # será que o exemplo passa?
    $ git bisect start HEAD HEAD~10 --   # o culpado está entre os últimos 10
    $ git bisect run ~/test.sh
    $ git bisect reset                   # encerra a seção bisect

note: type: Plain text
en: Here we use a `test.sh` custom script. In this script, if `make` fails, we skip the current commit.  `check_test_case.sh` should `exit 0` if the test case passes, and `exit 1` otherwise.
pt_BR: Aqui utilizamos um script personalizado `test.sh`. Neste script, caso o `make` falhe, ignoramos o commit atual.  `check_test_case.sh` deve `exit 0` (encerrar com 0) ou caso o teste passe e seja `exit 1`.

note: type: Plain text
en: It is safer if both `test.sh` and `check_test_case.sh` are outside the repository to prevent interactions between the bisect, make and test processes and the scripts.
pt_BR: É mais seguro se os arquivos `test.sh` e `check_test_case.sh` estiverem fora do repositório para evitar interações entre os processos `bisect`, `make`, `test` e os scripts.

note: type: Plain text
en: Automatically bisect with temporary modifications (hot-fix):
pt_BR: Faça o bisect automaticamente com alterações temporárias (hot-fix):

note: type: delimited block -
en: # tweak the working tree by merging the hot-fix branch
    # and then attempt a build
    if	git merge --no-commit --no-ff hot-fix &&
    	make
    then
    	# run project specific test and report its status
    	~/check_test_case.sh
    	status=$?
    else
    	# tell the caller this is untestable
    	status=125
    fi
pt_BR: # faz ajustes na árvore de trabalho ao mesclar
    # a solução do problema no ramo e tenta compilá-lo
    if	git merge --no-commit --no-ff hot-fix &&
    	make
    then
    	# executa testes específicos no projeto e informa a sua condição atual
    	~/check_test_case.sh
    	status=$?
    else
    	# diga a quem requisitou que isso não pode ser testado
    	status=125
    fi

note: type: delimited block -
en: # undo the tweak to allow clean flipping to the next commit
    git reset --hard
pt_BR: # desfaça o ajuste para permitir uma alteração limpa para o próximo commit
    git reset --hard

note: type: delimited block -
en: # return control
    exit $status
pt_BR: # controle de retorno
    existir $status

note: type: Plain text
en: This applies modifications from a hot-fix branch before each test run, e.g. in case your build or test environment changed so that older revisions may need a fix which newer ones have already. (Make sure the hot-fix branch is based off a commit which is contained in all revisions which you are bisecting, so that the merge does not pull in too much, or use `git cherry-pick` instead of `git merge`.)
pt_BR: São aplicadas alterações de um hotfix para ramificação antes de cada teste, caso o seu ambiente de construção ou teste tenha sido alterado para que as revisões mais antigas precisem de uma correção que as mais recentes já tenham por exemplo. (Certifique-se que o hot-fix do ramo tenha base em um commit que está contida em todos as revisões que você esteja fazendo o bisect, para que a mesclagem não realize muitos resgates ou utilize o comando `git cherry-pick` em vez do `git merge`. )

note: type: delimited block -
en: $ git bisect start HEAD HEAD~10 --   # culprit is among the last 10
    $ git bisect run sh -c "make || exit 125; ~/check_test_case.sh"
    $ git bisect reset                   # quit the bisect session
pt_BR: $ git bisect start HEAD HEAD~10 --   # o culpado está entre os últimos 10
    $ git bisect run sh -c "make || exit 125; ~/check_test_case.sh"
    $ git bisect reset                   # encerra a seção bisect

note: type: Plain text
en: This shows that you can do without a run script if you write the test on a single line.
pt_BR: Isso exibe o que você pode fazer sem executar um script caso escreva o teste em uma única linha.

note: type: Plain text
en: Locate a good region of the object graph in a damaged repository
pt_BR: Localize uma boa região do grafo dos objetos em um repositório que foi danificado

note: type: delimited block -
en: $ git bisect reset                   # quit the bisect session
pt_BR: $ git bisect reset                   # encerra a seção bisect

note: type: Plain text
en: In this case, when 'git bisect run' finishes, bisect/bad will refer to a commit that has at least one parent whose reachable graph is fully traversable in the sense required by 'git pack objects'.
pt_BR: Neste caso, quando 'git bisect run' encerra, o bisect/bad (ruim) irá apontar para um commit que tenha pelo menos uma origem cujo grafo seja completamente cruzado no sentido requerido pelo comando 'git pack objects'.

note: type: Plain text
en: Look for a fix instead of a regression in the code
pt_BR: Procure por uma correção em vez de uma regressão no código

note: type: delimited block -
en: $ git bisect start
    $ git bisect new HEAD    # current commit is marked as new
    $ git bisect old HEAD~10 # the tenth commit from now is marked as old
pt_BR: $ git bisect start
    $ git bisect new HEAD    # o commit atual é marcado como novo
    $ git bisect old HEAD~10 # o décimo commit a partir de agora é marcado como antigo

note: type: Plain text
en: or:
pt_BR: ou:

note: type: Title ~
en: Getting help
pt_BR: Conseguindo ajuda

note: type: Plain text
en: Use `git bisect` to get a short usage description, and `git bisect help` or `git bisect -h` to get a long usage description.
pt_BR: Utilize o comando `git bisect` para obter uma descrição resumida da sua utilização e `git bisect help` ou `git bisect -h` para obter uma descrição completa.

note: type: Plain text
en: link:git-bisect-lk2009.html[Fighting regressions with git bisect], linkgit:git-blame[1].
pt_BR: link:git-bisect-lk2009.html[Lutando contra regressões com git bisect], linkgit:git-blame[1].

note: type: Plain text
en: git-blame - Show what revision and author last modified each line of a file
pt_BR: git-blame - Exiba qual revisão e qual foi o autor que alterou cada linha de um arquivo pela última vez

note: type: Plain text
en: 'git blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--incremental]
    	    [-L <range>] [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<date>]
    	    [--ignore-rev <rev>] [--ignore-revs-file <file>]
    	    [--progress] [--abbrev=<n>] [<rev> | --contents <file> | --reverse <rev>..<rev>]
    	    [--] <file>
pt_BR: 'git blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--incremental]
    	    [-L <range>] [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<data>]
    	    [--ignore-rev <rev>] [--ignore-revs-file <arquivo>]
    	    [--progress] [--abbrev=<n>] [<rev> | --contents <arquivo> | --reverse <rev>..<rev>]
    	    [--] <arquivo>

note: type: Plain text
en: Annotates each line in the given file with information from the revision which last modified the line. Optionally, start annotating from the given revision.
pt_BR: Anota cada linha no arquivo informado com informações da revisão que modificou a linha pela última vez. Opcionalmente, comece a anotar a partir da revisão informada.

note: type: Plain text
en: When specified one or more times, `-L` restricts annotation to the requested lines.
pt_BR: Quando informado uma ou mais vezes, a opção `-L` limita a anotação às linhas solicitadas.

note: type: Plain text
en: The origin of lines is automatically followed across whole-file renames (currently there is no option to turn the rename-following off). To follow lines moved from one file to another, or to follow lines that were copied and pasted from another file, etc., see the `-C` and `-M` options.
pt_BR: A origem das linhas é seguida automaticamente pelas renomeações através de todos os arquivos (atualmente não há uma opção para desativar a presente renomeação). Para seguir as linhas movidas de um arquivo para outro ou para seguir as linhas que foram copiadas e coladas de um outro arquivo, etc., consulte as opções `-C` e `-M`.

note: type: Plain text
en: The report does not tell you anything about lines which have been deleted or replaced; you need to use a tool such as 'git diff' or the "pickaxe" interface briefly mentioned in the following paragraph.
pt_BR: O relatório não informa nada sobre quais as linhas foram eliminadas ou quais foram substituídas; é necessário utilizar uma ferramenta como "git diff" ou a interface "pickaxe" mencionada de forma breve no parágrafo seguinte.

note: type: Plain text
en: Apart from supporting file annotation, Git also supports searching the development history for when a code snippet occurred in a change. This makes it possible to track when a code snippet was added to a file, moved or copied between files, and eventually deleted or replaced. It works by searching for a text string in the diff. A small example of the pickaxe interface that searches for `blame_usage`:
pt_BR: Além de oferecer compatibilidade à anotação do arquivo, o Git também é compatível com a pesquisa no histórico do desenvolvimento para quando ocorra uma alteração em um trecho do código. Isso torna possível o monitoramento quando um trecho do código for adicionado em um arquivo, movido ou copiado entre os arquivos e eventualmente tenha sido excluído ou substituído. Funciona pesquisando uma sequência de texto no diff. Um pequeno exemplo da interface "pickaxe" que pesquisa por `blame_usage`:

note: type: Plain text
en: Use the same output mode as linkgit:git-annotate[1] (Default: off).
pt_BR: Utilize o mesmo modo de saída como o linkgit:git-annotate[1] (Predefinição: desligado).

note: type: Plain text
en: Include debugging information related to the movement of lines between files (see `-C`) and lines moved within a file (see `-M`).  The first number listed is the score.  This is the number of alphanumeric characters detected as having been moved between or within files.  This must be above a certain threshold for 'git blame' to consider those lines of code to have been moved.
pt_BR: Inclua as informações de depuração relacionadas a movimentação das linhas entre os arquivos (consulte `-C`) e as linhas que foram movidas dentro de um arquivo (consulte `-M`).  O primeiro número listado é a pontuação.  Esta é a quantidade de caracteres alfanuméricos detectados como movidos entre os arquivos ou dentro deles.  Deve estar acima de um certo limite para que o comando 'git blame' considere que estas linhas do código tenham sido movidas.

note: type: Plain text
en: Show the filename in the original commit.  By default the filename is shown if there is any line that came from a file with a different name, due to rename detection.
pt_BR: Exiba o nome do arquivo no commit original.  É predefinido que o nome do arquivo seja exibido caso haja alguma linha que tenha vindo de um arquivo com um nome diferente, devido à detecção de renomeação.

note: type: Plain text
en: Show the line number in the original commit (Default: off).
pt_BR: Exiba o número da linha no commit original (Predefinição: desligado).

note: type: Plain text
en: Suppress the author name and timestamp from the output.
pt_BR: Suprima o nome do autor e o registro de data e hora da saída.

note: type: Plain text
en: Show the author email instead of author name (Default: off).  This can also be controlled via the `blame.showEmail` config option.
pt_BR: Exiba o endereço e-mail do autor em vez do se nome (Predefinição: desligado).  Também pode ser controlado através da opção da configuração `blame.showEmail`.

note: type: Plain text
en: Ignore whitespace when comparing the parent's version and the child's to find where the lines came from.
pt_BR: Ignore os espaços durante a comparação da versão das origens e seus herdeiros para descobrir de onde vieram as linhas.

note: type: Plain text
en: Instead of using the default 7+1 hexadecimal digits as the abbreviated object name, use <n>+1 digits. Note that 1 column is used for a caret to mark the boundary commit.
pt_BR: Em vez de utilizar os dígitos 7+1 hexadecimais predefinidos como o nome abreviado do objeto, utilize <n>+1 dígitos. Observe que uma coluna é utilizada para um sinal de intercalação para marcar o limite do commit.

note: type: Title -
en: THE PORCELAIN FORMAT
pt_BR: O FORMATO PORCELANA

note: type: Plain text
en: In this format, each line is output after a header; the header at the minimum has the first line which has:
pt_BR: Nesse formato, cada linha é enviada após um cabeçalho; o cabeçalho no mínimo tem a primeira linha que tem:

note: type: Plain text
en: 40-byte SHA-1 of the commit the line is attributed to;
pt_BR: 40-byte SHA-1 do commit da linha é atribuído a;

note: type: Plain text
en: the line number of the line in the original file;
pt_BR: o número da linha no arquivo original;

note: type: Plain text
en: the line number of the line in the final file;
pt_BR: o número da linha no arquivo final;

note: type: Plain text
en: on a line that starts a group of lines from a different commit than the previous one, the number of lines in this group.  On subsequent lines this field is absent.
pt_BR: em uma linha que inicie um grupo de linhas a partir de um commit diferente ao anterior, a quantidade de linhas neste grupo.  Nas linhas subsequentes este campo está ausente.

note: type: Plain text
en: This header line is followed by the following information at least once for each commit:
pt_BR: Esta linha de cabeçalho é seguida pelas seguintes informações por pelo menos uma vez para cada commit:

note: type: Plain text
en: the author name ("author"), email ("author-mail"), time ("author-time"), and time zone ("author-tz"); similarly for committer.
pt_BR: o nome do autor ("autor"), email ("autor-mail"), tempo ("author-time") e o fuso horário ("autor-tz"); da mesma forma para quem realizou o commit.

note: type: Plain text
en: the filename in the commit that the line is attributed to.
pt_BR: o nome do arquivo no commit ao qual a linha seja atribuída.

note: type: Plain text
en: the first line of the commit log message ("summary").
pt_BR: a primeira linha da mensagem do registro log do commit ("resumo").

note: type: Plain text
en: The contents of the actual line is output after the above header, prefixed by a TAB. This is to allow adding more header elements later.
pt_BR: O conteúdo da linha real é gerado após o cabeçalho acima, prefixado por um TAB. Permite adicionar mais elementos de cabeçalho posteriormente.

note: type: Plain text
en: The porcelain format generally suppresses commit information that has already been seen. For example, two lines that are blamed to the same commit will both be shown, but the details for that commit will be shown only once. This is more efficient, but may require more state be kept by the reader. The `--line-porcelain` option can be used to output full commit information for each line, allowing simpler (but less efficient)  usage like:
pt_BR: O formato porcelana geralmente suprime as informações dos commits que já foram vistos. Duas linhas forem atribuídos ao mesmo commit serão exibidos, porém os detalhes deste commit serão exibidos apenas uma vez por exemplo. É mais eficiente porém pode exigir que mais condições sejam mantidos pelo leitor. A opção `--line-porcelain` pode ser utilizado para gerar informações completas do commit em cada linha, permitindo um uso mais simples (porém menos eficiente), como:

note: type: Plain text
en: 	# count the number of lines attributed to each author
    	git blame --line-porcelain file |
    	sed -n 's/^author //p' |
    	sort | uniq -c | sort -rn
pt_BR: 	# conta a quantidade de linhas atribuídas para cada autor
    	git blame --line-porcelain file |
    	sed -n 's/^author //p' |
    	sort | uniq -c | sort -rn

note: type: Title -
en: SPECIFYING RANGES
pt_BR: DEFININDO OS INTERVALOS

note: type: Plain text
en: Unlike 'git blame' and 'git annotate' in older versions of git, the extent of the annotation can be limited to both line ranges and revision ranges. The `-L` option, which limits annotation to a range of lines, may be specified multiple times.
pt_BR: Ao contrário do comando 'git blame' e do 'git annotate' nas versões mais antigas do git, a extensão da anotação pode ser limitada a intervalos de linhas e de revisão. A opção `-L`, que limita a anotação a um intervalo de linhas, pode ser utilizada várias vezes.

note: type: Plain text
en: When you are interested in finding the origin for lines 40-60 for file `foo`, you can use the `-L` option like so (they mean the same thing -- both ask for 21 lines starting at line 40):
pt_BR: Quando quiser encontrar a origem para as linhas 40-60 do arquivo `foo`, utilize a opção` -L` assim (eles significam a mesma coisa - ambos pedem 21 linhas iniciando na linha 40):

note: type: Plain text
en: Also you can use a regular expression to specify the line range:
pt_BR: Você tambem pode utilizar uma expressão regular para determinar o intervalo da linha:

note: type: Plain text
en: which limits the annotation to the body of the `hello` subroutine.
pt_BR: que limita a anotação ao corpo da sub-rotina `hello`.

note: type: Plain text
en: When you are not interested in changes older than version v2.6.18, or changes older than 3 weeks, you can use revision range specifiers similar to 'git rev-list':
pt_BR: Quando não quiser encontrar as alterações mais antigas que a versão v2.6.18 ou nas alterações anteriores a 3 semanas, utilize especificadores de intervalo da revisão similares ao 'git rev-list':

note: type: Plain text
en: When revision range specifiers are used to limit the annotation, lines that have not changed since the range boundary (either the commit v2.6.18 or the most recent commit that is more than 3 weeks old in the above example) are blamed for that range boundary commit.
pt_BR: Quando os especificadores de intervalo da revisão forem utilizados para limitar a anotação, as linhas que não foram alteradas desde o limite do intervalo (seja o commit v2.6.18 ou o commit mais recente que seja 3 semanas mais antigo como no exemplo acima) são responsabilizadas por este limite do intervalo do commit.

note: type: Plain text
en: A particularly useful way is to see if an added file has lines created by copy-and-paste from existing files.  Sometimes this indicates that the developer was being sloppy and did not refactor the code properly.  You can first find the commit that introduced the file with:
pt_BR: Uma maneira particularmente útil é verificar se um arquivo que foi adicionado possua linhas criadas através de um copiar e colar vindos dos arquivos já existentes.  Às vezes isso indica que o desenvolvedor estava sendo desleixado e não reorganizou o código corretamente.  Você pode encontrar primeiro o commit que introduziu o arquivo com o comando:

note: type: Plain text
en: and then annotate the change between the commit and its parents, using `commit^!` notation:
pt_BR: e então anote a alteração entre o commit e as suas origens, utilizando a notação `commit^!`:

note: type: Title -
en: INCREMENTAL OUTPUT
pt_BR: SAÍDA INCREMENTAL

note: type: Plain text
en: When called with `--incremental` option, the command outputs the result as it is built.  The output generally will talk about lines touched by more recent commits first (i.e. the lines will be annotated out of order) and is meant to be used by interactive viewers.
pt_BR: Quando invocado com a opção `--incremental`, o comando gera o resultado conforme ele foi construído.  A saída geralmente fala sobre as linhas tocadas pelos commits mais recentes primeiro (ou seja, as linhas serão anotadas fora de ordem) e deve ser utilizado por visualizadores interativos.

note: type: Plain text
en: The output format is similar to the Porcelain format, but it does not contain the actual lines from the file that is being annotated.
pt_BR: O formato da saída é semelhante ao formato Porcelana, mas não contém as linhas reais do arquivo que está sendo anotado.

note: type: Plain text
en: Each blame entry always starts with a line of:
pt_BR: Cada entrada responsabilizada sempre começa com uma linha com:

note: type: Plain text
en: Line numbers count from 1.
pt_BR: Os números das linhas começam a contagem a partir do 1.

note: type: Plain text
en: The first time that a commit shows up in the stream, it has various other information about it printed out with a one-word tag at the beginning of each line describing the extra commit information (author, email, committer, dates, summary, etc.).
pt_BR: A primeira vez que um commit é exibido no fluxo, ele contém várias outras informações sobre ele impressas com uma tag de uma palavra no início de cada linha, descrevendo as informações adicionais do commit (autor, e-mail, quem fez o commit, as datas, resumo, etc.).

note: type: Plain text
en: Unlike the Porcelain format, the filename information is always given and terminates the entry:
pt_BR: Ao contrário do formato Porcelana, as informações do nome do arquivo são sempre informadas e encerram a entrada:

note: type: Plain text
en: "filename" <whitespace-quoted-filename-goes-here>
pt_BR: "nome do arquivo" <citação-do-nome-do-arquivo-com-espaço-em-branco-vai-aqui>

note: type: Plain text
en: and thus it is really quite easy to parse for some line- and word-oriented parser (which should be quite natural for most scripting languages).
pt_BR: logo, é realmente muito fácil analisar alguma linha algo que seja orientado por palavra (que deve ser bastante natural para a maioria das linguagens de script).

note: type: Plain text
en: For people who do parsing: to make it more robust, just ignore any lines between the first and last one ("<sha1>" and "filename" lines)  where you do not recognize the tag words (or care about that particular one) at the beginning of the "extended information" lines. That way, if there is ever added information (like the commit encoding or extended commit commentary), a blame viewer will not care.
pt_BR: Para pessoas que fazem a analise: para torná-lo mais robusto, ignore todas as linhas entre a primeira e a última (linhas "<sha1>" e "filename") nas quais você não reconheça as palavras-chave (ou se preocupe com uma em particular) no início das linhas com "informações estendidas". Dessa forma, caso alguma vez haja informações que foram adicionadas (como a codificação do commit ou o comentário estendido do commit), um "blame viewer" não irá se importar.

note: type: Title -
en: MAPPING AUTHORS
pt_BR: MAPEANDO AUTORES

note: type: Plain text
en: git-branch - List, create, or delete branches
pt_BR: git-branch - Lista, cria ou exclui ramificações

note: type: Plain text
en: 'git branch' [--color[=<when>] | --no-color] [--show-current]
    	[-v [--abbrev=<length> | --no-abbrev]]
    	[--column[=<options>] | --no-column] [--sort=<key>]
    	[(--merged | --no-merged) [<commit>]]
    	[--contains [<commit>]] [--no-contains [<commit>]]
    	[--points-at <object>] [--format=<format>]
    	[(-r | --remotes) | (-a | --all)]
    	[--list] [<pattern>...]
    'git branch' [--track | --no-track] [-f] <branchname> [<start-point>]
    'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]
    'git branch' --unset-upstream [<branchname>]
    'git branch' (-m | -M) [<oldbranch>] <newbranch>
    'git branch' (-c | -C) [<oldbranch>] <newbranch>
    'git branch' (-d | -D) [-r] <branchname>...
    'git branch' --edit-description [<branchname>]
pt_BR: 'git branch' [--color[=<quando>] | --no-color] [--show-current]
    	[-v [--abbrev=<comprimento> | --no-abbrev]]
    	[--column[=<opções>] | --no-column] [--sort=<chaves>]
    	[(--merged | --no-merged) [<commit>]]
    	[--contains [<commit>]] [--no-contains [<commit>]]
    	[--points-at <objeto>] [--format=<formato>]
    	[(-r | --remotes) | (-a | --all)]
    	[--list] [<padrão>...]
    'git branch' [--track | --no-track] [-f] <nome-do-ramo> [<ponto-de-partida>]
    'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<nome-do-ramo>]
    'git branch' --unset-upstream [<nome-do-ramo>]
    'git branch' (-m | -M) [<ramo-antigo>] <nome-do-ramo>
    'git branch' (-c | -C) [<ramo-antigo>] <novo-ramo>
    'git branch' (-d | -D) [-r] <nome-do-ramo>...
    'git branch' --edit-description [<nome-do-ramo>]

note: type: Plain text
en: If `--list` is given, or if there are no non-option arguments, existing branches are listed; the current branch will be highlighted in green and marked with an asterisk.  Any branches checked out in linked worktrees will be highlighted in cyan and marked with a plus sign. Option `-r` causes the remote-tracking branches to be listed, and option `-a` shows both local and remote branches.
pt_BR: Caso a opção `--list` seja utilizada ou caso não haja argumentos não opcionais, as ramificações existentes serão listadas; o ramo atual será destacado em verde e marcado com um asterisco.  Quaisquer ramificações retiradas das áreas de trabalho vinculadas, serão destacadas em ciano e marcadas com um sinal de adição. A opção `-r` faz com que as ramificações monitoradas remotamente sejam listadas, a opção `-a` exibe as ramificações locais e as remotas.

note: type: Plain text
en: If a `<pattern>` is given, it is used as a shell wildcard to restrict the output to matching branches. If multiple patterns are given, a branch is shown if it matches any of the patterns.
pt_BR: Caso um `<padrão>` seja informado, ele será utilizado como um curinga do shell para restringir a saída das ramificações correspondentes. Caso vários padrões sejam informados, um ramo será exibido caso coincida com qualquer um dos padrões.

note: type: Plain text
en: Note that when providing a `<pattern>`, you must use `--list`; otherwise the command may be interpreted as branch creation.
pt_BR: Note que ao fornecer um `<padrão>` você deve utilizar `--list`; caso contrário, o comando pode ser interpretado como uma criação do ramo.

note: type: Plain text
en: With `--contains`, shows only the branches that contain the named commit (in other words, the branches whose tip commits are descendants of the named commit), `--no-contains` inverts it. With `--merged`, only branches merged into the named commit (i.e. the branches whose tip commits are reachable from the named commit) will be listed.  With `--no-merged` only branches not merged into the named commit will be listed.  If the <commit> argument is missing it defaults to `HEAD` (i.e. the tip of the current branch).
pt_BR: Com a opção `--contains`, exibe apenas os ramos que contenham o commit informado (em outras palavras, os ramos cujos commits do topo sejam os descendentes do commit informado),`--no-contains` funciona ao contrário. Com a opção `--merged`, apenas as ramificações mescladas no commit informado serão listados (ou seja, os ramos cujos commits do cume esteja acessível a partir do commit informado).  Com `--no-merged', serão listados apenas as ramificações não mescladas do commit informado.  Caso o argumento `<commit>` esteja ausente, a predefinição retorna para `HEAD` (ou seja, o  do ramo atual).

note: type: Plain text
en: The command's second form creates a new branch head named <branchname> which points to the current `HEAD`, or <start-point> if given. As a special case, for <start-point>, you may use `"A...B"` as a shortcut for the merge base of `A` and `B` if there is exactly one merge base. You can leave out at most one of `A` and `B`, in which case it defaults to `HEAD`.
pt_BR: O segundo formulário do comando cria um novo cabeçalho do ramo informado `<nome-do-ramo>` (nome do ramo0), que aponta para o `HEAD` atual, ou o `<ponto-de-partida>` caso seja utilizado. Como um caso especial, para o `<ponto-de-partida>`, utilize `"A...B"` como um atalho para a base da mesclagem de `A` e `B` caso sejam exatamente uma base para ser mesclada. Você pode deixar de fora no máximo um de `A` e `B`, caso onde a predefinição retorna para `HEAD`.

note: type: Plain text
en: Note that this will create the new branch, but it will not switch the working tree to it; use "git switch <newbranch>" to switch to the new branch.
pt_BR: Observe que isso criará a nova ramificação mas não mudará a árvore de trabalho para ela; para alternar para a nova ramificação utilize "git switch <novo-ramo>".

note: type: Plain text
en: When a local branch is started off a remote-tracking branch, Git sets up the branch (specifically the `branch.<name>.remote` and `branch.<name>.merge` configuration entries) so that 'git pull' will appropriately merge from the remote-tracking branch. This behavior may be changed via the global `branch.autoSetupMerge` configuration flag. That setting can be overridden by using the `--track` and `--no-track` options, and changed later using `git branch --set-upstream-to`.
pt_BR: Quando uma ramificação local é iniciada em uma ramificação remotamente monitorada, o Git define a ramificação (especificamente as entradas da configuração `branch.<nome>.remote` e `branch.<nome>.merge`) para que o comando 'git pull' mescle adequadamente a partir do ramo monitorado remotamente. Este comportamento pode ser alterado através da variável de configuração global `branch.autoSetupMerge`. Esta configuração pode ser substituída utilizando as opções `--track` e `--no-track`, podendo ser alterada posteriormente utilizando o comando `git branch --set-upstream-to`.

note: type: Plain text
en: With a `-m` or `-M` option, <oldbranch> will be renamed to <newbranch>.  If <oldbranch> had a corresponding reflog, it is renamed to match <newbranch>, and a reflog entry is created to remember the branch renaming. If <newbranch> exists, -M must be used to force the rename to happen.
pt_BR: Com uma opção `-m` ou `-M`, o ramo antigo `<ramo-antigo>` será renomeado para o novo ramo `<novo-ramo>`.  Caso o `<ramo-antigo>` tenha um reflog correspondente, ele será renomeado para coincidir com o `<novo-ramo>`, uma entrada de reflog será criada para lembrar da renomeação do ramo. Caso `<novo-ramo>` exista, -M deve ser utilizado para impor que a renomeação aconteça.

note: type: Plain text
en: The `-c` and `-C` options have the exact same semantics as `-m` and `-M`, except instead of the branch being renamed it along with its config and reflog will be copied to a new name.
pt_BR: As opções `-c` e `-C` possuem exatamente a mesma semântica que `-m` e `-M`, exceto que em vez do ramo ser renomeado juntamente com sua configuração, o reflog será copiado para um novo nome.

note: type: Plain text
en: With a `-d` or `-D` option, `<branchname>` will be deleted.  You may specify more than one branch for deletion.  If the branch currently has a reflog then the reflog will also be deleted.
pt_BR: Com uma opção `-d` ou `-D`, o `<nome-do-ramo>` será excluído.  Você pode informar mais de uma ramificação para ser excluído.  Caso o ramo tiver atualmente um reflog, este também será excluído.

note: type: Plain text
en: Use `-r` together with `-d` to delete remote-tracking branches. Note, that it only makes sense to delete remote-tracking branches if they no longer exist in the remote repository or if 'git fetch' was configured not to fetch them again. See also the 'prune' subcommand of linkgit:git-remote[1] for a way to clean up all obsolete remote-tracking branches.
pt_BR: Utilize a opção `-r` junto com `-d` para excluir o monitoramento das ramificações remotas. Observe que só faz sentido excluir o monitoramento das ramificações remotas caso elas não existam mais no repositório remoto ou caso o comando 'git fetch' tenha sido configurado para não resgatá-las novamente. Consulte também o subcomando 'prune' linkgit:git-remote[1] para conhecer uma maneira de limpar todos os monitoramentos obsoletos das ramificações remotas.

note: type: Plain text
en: Delete a branch. The branch must be fully merged in its upstream branch, or in `HEAD` if no upstream was set with `--track` or `--set-upstream-to`.
pt_BR: Exclua uma ramificação. A ramificação deve ser totalmente mesclada sua ramificação "upstream" ou no `HEAD` caso nenhum "upstream" tenha sido definido, utilize `--track` ou `--set-upstream-to`.

note: type: Plain text
en: Shortcut for `--delete --force`.
pt_BR: Um atalho para `--delete --force`.

note: type: Plain text
en: Create the branch's reflog.  This activates recording of all changes made to the branch ref, enabling use of date based sha1 expressions such as "<branchname>@\{yesterday}".  Note that in non-bare repositories, reflogs are usually enabled by default by the `core.logAllRefUpdates` config option.  The negated form `--no-create-reflog` only overrides an earlier `--create-reflog`, but currently does not negate the setting of `core.logAllRefUpdates`.
pt_BR: Crie o reflog do ramo.  Ativa a gravação de todas as alterações feitas no "ref" do ramo, permitindo a utilização de expressões sha1 baseadas na data, como `<nome-do-ramo>@\{yesterday}`.  Observe que nos repositórios que não estiverem vazios, é predefinido que os reflogs geralmente sejam ativados através da variável de configuração `core.logAllRefUpdates`.  A forma negada o comando `--no-create-reflog` substitui apenas um `--create-reflog` anterior, mas atualmente não nega a configuração do `core.logAllRefUpdates`.

note: type: Plain text
en: Reset <branchname> to <startpoint>, even if <branchname> exists already. Without `-f`, 'git branch' refuses to change an existing branch.  In combination with `-d` (or `--delete`), allow deleting the branch irrespective of its merged status. In combination with `-m` (or `--move`), allow renaming the branch even if the new branch name already exists, the same applies for `-c` (or `--copy`).
pt_BR: Redefina o `<nome-do-ramo>` para `<startpoint>`, mesmo se o `<nome-do-ramo>` já existir. Sem o `-f`, o comando 'git branch' se recusa a alterar uma ramificação já existente.  Em combinação com `-d` (ou `--delete`), permita excluir a ramificação, independentemente da sua condição de mesclagem. Em combinação com `-m` (ou `--move`), permita renomear a ramificação, mesmo que o novo nome do ramo já exista, o mesmo se aplica com `-c` (ou `--copy`).

note: type: Plain text
en: Move/rename a branch and the corresponding reflog.
pt_BR: Mover / renomear uma ramificação e o reflog correspondente.

note: type: Plain text
en: Shortcut for `--move --force`.
pt_BR: Atalho para `--mover --força`.

note: type: Plain text
en: Copy a branch and the corresponding reflog.
pt_BR: Copie uma ramificação e o reflogo correspondente.

note: type: Plain text
en: Shortcut for `--copy --force`.
pt_BR: Shortcut for `--cópia --força`.

note: type: Plain text
en: Color branches to highlight current, local, and remote-tracking branches.  The value must be always (the default), never, or auto.
pt_BR: Colora as ramificações para dar destaque nas ramificações atuais, locais e monitoradas remotamente.  Always (sempre) é o valor predefinido, as outras opções são "never" ou "auto".

note: type: Plain text
en: Turn off branch colors, even when the configuration file gives the default to color output.  Same as `--color=never`.
pt_BR: Desative as cores do ramo, mesmo quando o arquivo de configuração informar o valor predefinido para a saída das cores.  O mesmo que `--color=never`.

note: type: Plain text
en: Sorting and filtering branches are case insensitive.
pt_BR: As ramificações de classificação e filtragem não diferenciam maiúsculas de minúsculas.

note: type: Labeled list
en: --column[=<options>]
pt_BR: --coluna[=<opções>]

note: type: Plain text
en: Display branch listing in columns. See configuration variable column.branch for option syntax.`--column` and `--no-column` without options are equivalent to 'always' and 'never' respectively.
pt_BR: Exibir a lista das ramificações em colunas. Consulte a variável de configuração `column.branch` para conhecer a sintaxe da opção. As opções `--column` e `--no-column` sem nenhum argumento são equivalentes a 'always' e 'never' respectivamente.

note: type: Plain text
en: This option is only applicable in non-verbose mode.
pt_BR: Esta opção é aplicável apenas no modo não detalhado.

note: type: Plain text
en: List or delete (if used with -d) the remote-tracking branches.  Combine with `--list` to match the optional pattern(s).
pt_BR: Liste ou exclua (se utilizado com -d) as ramificações rastreadas remotamente.  Combine com a opção `--list` para coincidir com os padrões opcionais.

note: type: Plain text
en: List both remote-tracking branches and local branches.  Combine with `--list` to match optional pattern(s).
pt_BR: Liste ambas as ramificações rastreadas remotamente e as ramificações locais.  Combine com a opção `--list` para que coincida com os padrões opcionais.

note: type: Plain text
en: List branches.  With optional `<pattern>...`, e.g. `git branch --list 'maint-*'`, list only the branches that match the pattern(s).
pt_BR: Lista as ramificações.  Com o `<padrão>...` opcional, o comando `git branch --list 'maint-*'`, lista apenas as ramificações que coincidam com os padrões.

note: type: Plain text
en: Print the name of the current branch. In detached HEAD state, nothing is printed.
pt_BR: Exiba o nome do ramo atual. Na condição onde `HEAD` esteja desanexado, nada é impresso.

note: type: Plain text
en: When in list mode, show sha1 and commit subject line for each head, along with relationship to upstream branch (if any). If given twice, print the path of the linked worktree (if any) and the name of the upstream branch, as well (see also `git remote show <remote>`).  Note that the current worktree's HEAD will not have its path printed (it will always be your current directory).
pt_BR: Quando estiver no modo de listagem, exiba o sha1 e confirme a linha do assunto para cada cabeçalho, juntamente com o relacionamento com o ramo "upstream" (caso haja). Se utilizado duas vezes, exiba a vinculação do caminho da árvore de trabalho (caso haja) e o nome do ramo "upstream" (consulte também `git remote show <remoto>`).  Observe que o `HEAD` da árvore de trabalho atual não terá o seu caminho mostrado (sempre será seu diretório atual).

note: type: Plain text
en: Be more quiet when creating or deleting a branch, suppressing non-error messages.
pt_BR: Seja mais silencioso ao criar ou excluir uma ramificação, suprimindo as mensagens que não sejam de erro.

note: type: Labeled list
en: --abbrev=<length>
pt_BR: --abrev=<comprimento>

note: type: Plain text
en: Alter the sha1's minimum display length in the output listing.  The default value is 7 and can be overridden by the `core.abbrev` config option.
pt_BR: Altere o comprimento mínimo da exibição do sha1 na listagem de saída.  O valor predefinido é 7, pode ser substituído através da variável de configuração `core.abbrev`.

note: type: Plain text
en: Display the full sha1s in the output listing rather than abbreviating them.
pt_BR: Exibe o sha1 completo na saída da listagem em vez de abreviá-los.

note: type: Plain text
en: When creating a new branch, set up `branch.<name>.remote` and `branch.<name>.merge` configuration entries to mark the start-point branch as "upstream" from the new branch. This configuration will tell git to show the relationship between the two branches in `git status` and `git branch -v`. Furthermore, it directs `git pull` without arguments to pull from the upstream when the new branch is checked out.
pt_BR: Ao criar uma nova ramificação, configure as entradas da configuração `branch.<nome>.remote` e `branch.<nome>.merge` para marcar a ramificação do ponto do início como "upstream" partindo da nova ramificação. Esta configuração instruirá o git a exibir o relacionamento entre as duas ramificações com o `git status` e com o `git branch -v`. Além disso, ele direciona o `git pull` sem argumentos para extrair do "upstream" quando o novo ramo for retirado.

note: type: Plain text
en: This behavior is the default when the start point is a remote-tracking branch.  Set the branch.autoSetupMerge configuration variable to `false` if you want `git switch`, `git checkout` and `git branch` to always behave as if `--no-track` were given. Set it to `always` if you want this behavior when the start-point is either a local or remote-tracking branch.
pt_BR: Este é o comportamento predefinido quando o ponto inicial for uma ramificação rastreada remotamente.  Defina a variável de configuração `branch.autoSetupMerge` como `false` caso queira que o `git switch`, `git checkout` e o `git branch` sempre se comportem como se a opção `--no-track` fosse utilizada. Defina-o como `always` caso queira que este comportamento quando o ponto de partida for uma ramificação local ou rastreada remotamente.

note: type: Plain text
en: Do not set up "upstream" configuration, even if the branch.autoSetupMerge configuration variable is true.
pt_BR: Não configure o "upstream", ainda que a variável de configuração `branch.autoSetupMerge` seja verdadeira.

note: type: Plain text
en: As this option had confusing syntax, it is no longer supported.  Please use `--track` or `--set-upstream-to` instead.
pt_BR: Como esta opção tinha a sintaxe confusa, agora ela é obsoleta.  Utilize `--track` ou `--set-upstream-to`.

note: type: Plain text
en: Set up <branchname>'s tracking information so <upstream> is considered <branchname>'s upstream branch. If no <branchname> is specified, then it defaults to the current branch.
pt_BR: Configure as informações do monitoramento do `<nome-do-ramo>` para que o `<upstream>` seja considerado o ramo "upstream" do `<nome-do-ramo>`. Caso nenhum `<nome-do-ramo>` seja utilizado, então a predefinição retorna para o ramo atual.

note: type: Plain text
en: Remove the upstream information for <branchname>. If no branch is specified it defaults to the current branch.
pt_BR: Remova as informações "upstream" para o `<nome-do-ramo>`. Caso nenhuma ramificação seja utilizada, a predefinição retorna para a ramificação atual.

note: type: Plain text
en: Open an editor and edit the text to explain what the branch is for, to be used by various other commands (e.g. `format-patch`, `request-pull`, and `merge` (if enabled)). Multi-line explanations may be used.
pt_BR: Abra um editor e edite o texto para explicar para que serve a ramificação, para ser utilizado por outros comandos (`format-patch`, `request-pull` e `merge` por exemplo (se ativado)). Podem ser utilizadas as explicações em mais de uma linha.

note: type: Plain text
en: Only list branches which contain the specified commit (HEAD if not specified). Implies `--list`.
pt_BR: Listar apenas as ramificações que contenham o commit informado (`HEAD`, caso nenhum seja informado). Implica no uso da opção `--list`.

note: type: Plain text
en: Only list branches which don't contain the specified commit (HEAD if not specified). Implies `--list`.
pt_BR: Liste apenas as ramificações que não contenha o commit informado (`HEAD`, caso nenhum seja informado). Implica no uso da opção `--list`.

note: type: Plain text
en: Only list branches whose tips are reachable from the specified commit (HEAD if not specified). Implies `--list`, incompatible with `--no-merged`.
pt_BR: Liste apenas as ramificações cujas dicas são acessíveis a partir do commit informado (`HEAD`, caso nenhum seja informado). Implica no uso da opção `--list`, é incompatível com a opção `--no-merged`.

note: type: Plain text
en: Only list branches whose tips are not reachable from the specified commit (HEAD if not specified). Implies `--list`, incompatible with `--merged`.
pt_BR: Liste apenas as ramificações cujas dicas não possam ser acessadas a partir do commit informado (`HEAD`, caso nenhum seja informado). Implica no uso da opção `--list`, é incompatível com `--merged`.

note: type: Labeled list
en: <branchname>
pt_BR: <nome-do-ramo>

note: type: Plain text
en: The name of the branch to create or delete.  The new branch name must pass all checks defined by linkgit:git-check-ref-format[1].  Some of these checks may restrict the characters allowed in a branch name.
pt_BR: O nome do ramo que será criada ou excluída.  O nome da nova ramificação deve passar em todas as verificações definidas pelo linkgit:git-check-ref-format[1].  Algumas dessas verificações podem restringir os caracteres permitidos no nome de uma ramificação.

note: type: Labeled list
en: <start-point>
pt_BR: <ponto-de-partida>

note: type: Plain text
en: The new branch head will point to this commit.  It may be given as a branch name, a commit-id, or a tag.  If this option is omitted, the current HEAD will be used instead.
pt_BR: O cabeçalho da nova ramificação apontará para este commit.  Pode ser utilizado como um nome do ramo, um ID do commit ou uma tag.  Caso esta opção seja omitida, o `HEAD` atual será utilizado.

note: type: Labeled list
en: <oldbranch>
pt_BR: <ramo-antigo>

note: type: Plain text
en: The name of an existing branch to rename.
pt_BR: O nome de uma ramificação existente que será renomeada.

note: type: Labeled list
en: <newbranch>
pt_BR: <novo-ramo>

note: type: Plain text
en: The new name for an existing branch. The same restrictions as for <branchname> apply.
pt_BR: Um novo nome para um ramo já existente. Se aplicam as mesmas restrições para `<nome-do-ramo>`.

note: type: Labeled list
en: --sort=<key>
pt_BR: --sort=<chave>

note: type: Plain text
en: Sort based on the key given. Prefix `-` to sort in descending order of the value. You may use the --sort=<key> option multiple times, in which case the last key becomes the primary key. The keys supported are the same as those in `git for-each-ref`. Sort order defaults to the value configured for the `branch.sort` variable if exists, or to sorting based on the full refname (including `refs/...` prefix). This lists detached HEAD (if present) first, then local branches and finally remote-tracking branches. See linkgit:git-config[1].
pt_BR: Classifique com base na chave informada. O prefixo `-` é utilizado para classificar em ordem decrescente. Você pode utilizar a opção `--sort=<chave>` mais de uma vez; nesse caso, a última chave se torna a chave primária. As chaves compatíveis são as mesmas que as do `git for-each-ref`. A predefinição da ordem da classificação retorna para o valor configurado para a variável `branch.sort`, caso exista ou a classificação com base no nome completo da "ref" (incluindo o prefixo `refs/...`). Isso lista primeiro o `HEAD` desanexado (caso esteja presente), depois as ramificações locais e finalmente as ramificações monitoradas remotamente. Consulte linkgit:git-config[1].

note: type: Labeled list
en: --points-at <object>
pt_BR: --points-at <objeto>

note: type: Plain text
en: Only list branches of the given object.
pt_BR: Apenas lista os objetos das ramificações informadas.

note: type: Labeled list
en: --format <format>
pt_BR: --format <formato>

note: type: Plain text
en: A string that interpolates `%(fieldname)` from a branch ref being shown and the object it points at.  The format is the same as that of linkgit:git-for-each-ref[1].
pt_BR: Uma cadeia de caracteres que interpola `%(fieldname)` de uma tag "ref" que está sendo exibida e o objeto para o qual ele aponta.  O formato é o mesmo do linkgit:git-for-each-ref[1].

note: type: Plain text
en: `pager.branch` is only respected when listing branches, i.e., when `--list` is used or implied. The default is to use a pager.  See linkgit:git-config[1].
pt_BR: O `pager.branch` é respeitado apenas ao listar as ramificações, ou seja, quando a opção `--list` é utilizado ou implícito. A predefinição é utilizar um pager.  Consulte linkgit:git-config[1].

note: type: Labeled list
en: Start development from a known tag
pt_BR: Inicie o desenvolvimento a partir de uma tag conhecida

note: type: Plain text
en: This step and the next one could be combined into a single step with "checkout -b my2.6.14 v2.6.14".
pt_BR: Esta etapa e a próxima poderiam ser combinadas em uma única etapa com "checkout -b my2.6.14 v2.6.14".

note: type: Labeled list
en: Delete an unneeded branch
pt_BR: Exclua um ramo que seja desnecessário

note: type: Plain text
en: Delete the remote-tracking branches "todo", "html" and "man". The next 'fetch' or 'pull' will create them again unless you configure them not to.  See linkgit:git-fetch[1].
pt_BR: Exclua as ramificações rastreadas remotamente "todo", "html" e "man". O próximo 'fetch' (resgate) ou 'pull' (captura) os criará novamente a menos que você os configure para não fazê-lo.  Consulte linkgit:git-fetch[1].

note: type: Plain text
en: Delete the "test" branch even if the "master" branch (or whichever branch is currently checked out) does not have all commits from the test branch.
pt_BR: Exclua o ramo "teste", mesmo que o ramo "principal" (ou o ramo que está com a averiguação no momento) não tenha todos os commits do ramo do teste.

note: type: Labeled list
en: Listing branches from a specific remote
pt_BR: Listando as ramificações de um determinado ponto remoto

note: type: delimited block -
en: $ git branch -r -l '<remote>/<pattern>'                 <1>
    $ git for-each-ref 'refs/remotes/<remote>/<pattern>'    <2>
pt_BR: $ git branch -r -l '<remoto>/<padrão>'                 <1>
    $ git for-each-ref 'refs/remotes/<remoto>/<padrão>'    <2>

note: type: Plain text
en: Using `-a` would conflate <remote> with any local branches you happen to have been prefixed with the same <remote> pattern.
pt_BR: Utilizando a opção `-a` entraria em conflito com `<remoto>` em quaisquer ramificações locais que foram prefixadas com o mesmo padrão `<remoto>`.

note: type: Plain text
en: `for-each-ref` can take a wide range of options. See linkgit:git-for-each-ref[1]
pt_BR: 'for-each-ref' pode ter uma ampla gama de opções. Consulte linkgit:git-for-each-ref[1] Consulte linkgit:git-for-each-ref[1]

note: type: Plain text
en: Patterns will normally need quoting.
pt_BR: Os padrões normalmente precisam ser citados.

note: type: Title -
en: NOTES
pt_BR: OBSERVAÇÕES

note: type: Plain text
en: If you are creating a branch that you want to switch to immediately, it is easier to use the "git switch" command with its `-c` option to do the same thing with a single command.
pt_BR: Caso esteja criando uma nova ramificação para o qual deseja alternar imediatamente é mais fácil usar o comando "git switch" com a sua opção `-c` para fazer a mesma coisa utilizando apenas um único comando.

note: type: Plain text
en: The options `--contains`, `--no-contains`, `--merged` and `--no-merged` serve four related but different purposes:
pt_BR: As opções `--contains`, `--no-contains`, `--merged` e `--no-merged` servem para quatro finalidades relacionadas, porém diferentes:

note: type: Plain text
en: `--contains <commit>` is used to find all branches which will need special attention if <commit> were to be rebased or amended, since those branches contain the specified <commit>.
pt_BR: `--contains <commit>` é utilizado para encontrar todas as ramificações que precisarão de atenção especial caso `<commit>` precise de um novo "rebase" ou corrigido, uma vez que essas ramificações contêm o `<commit>` informato.

note: type: Plain text
en: `--no-contains <commit>` is the inverse of that, i.e. branches that don't contain the specified <commit>.
pt_BR: `--no-contains <commit>` é o inverso, isto é, as ramificações que não contêm o `<commit>` informado.

note: type: Plain text
en: `--merged` is used to find all branches which can be safely deleted, since those branches are fully contained by HEAD.
pt_BR: `--merged` é utilizado para encontrar todas as ramificações que podem ser excluídas com segurança, uma vez que essas ramificações são totalmente contidas pelo `HEAD`.

note: type: Plain text
en: `--no-merged` is used to find branches which are candidates for merging into HEAD, since those branches are not fully contained by HEAD.
pt_BR: `--no-merged` é utilizado para encontrar as ramificações candidatas a serem mescladas no `HEAD`, uma vez que essas ramificações não são totalmente contidas pelo `HEAD`.

note: type: Plain text
en: linkgit:git-check-ref-format[1], linkgit:git-fetch[1], linkgit:git-remote[1], link:user-manual.html#what-is-a-branch[``Understanding history: What is a branch?''] in the Git User's Manual.
pt_BR: linkgit:git-check-ref-format[1], linkgit:git-fetch[1], linkgit:git-remote[1], link:user-manual.html#what-is-a-branch[``Compreendendo a história: O que é um ramo?''] no Manual do Usuário Git.

note: type: Plain text
en: git-bugreport - Collect information for user to file a bug report
pt_BR: git-bugreport - Colete informações para que o usuário arquive um relatório de erro

note: type: Plain text
en: 'git bugreport' [(-o | --output-directory) <path>] [(-s | --suffix) <format>]
pt_BR: 'git bugreport' [(-o | --output-directory) <caminho>] [(-s | --suffix) <formato>]

note: type: Plain text
en: Captures information about the user's machine, Git client, and repository state, as well as a form requesting information about the behavior the user observed, into a single text file which the user can then share, for example to the Git mailing list, in order to report an observed bug.
pt_BR: Capture as informações sobre a máquina do usuário, o cliente Git e a condição geral do repositório, bem como um formulário solicitando as informações sobre o comportamento observado pelo usuário em um único arquivo do texto que o usuário pode compartilhar, na lista de correspondência Git, para relatar um bug observado por exemplo.

note: type: Plain text
en: The following information is requested from the user:
pt_BR: As seguintes informações são solicitadas ao usuário:

note: type: Plain text
en: Reproduction steps
pt_BR: Etapas para a reprodução do problema

note: type: Plain text
en: Expected behavior
pt_BR: Comportamento esperado

note: type: Plain text
en: Actual behavior
pt_BR: Comportamento atual

note: type: Plain text
en: The following information is captured automatically:
pt_BR: As seguintes informações são capturadas automaticamente:

note: type: Plain text
en: uname sysname, release, version, and machine strings
pt_BR: `uname sysname`, `release`, `version`, e `machine strings`

note: type: Plain text
en: Compiler-specific info string
pt_BR: Cadeia de caracteres específicas do compilador

note: type: Plain text
en: A list of enabled hooks
pt_BR: Uma lista com ganchos ativos

note: type: Plain text
en: This tool is invoked via the typical Git setup process, which means that in some cases, it might not be able to launch - for example, if a relevant config file is unreadable. In this kind of scenario, it may be helpful to manually gather the kind of information listed above when manually asking for help.
pt_BR: Essa ferramenta é chamada através do processo de configuração típica do Git que significa que, em alguns casos, talvez não seja possível iniciar caso um arquivo de configuração relevante estiver ilegível por exemplo. Nesse tipo de cenário, pode ser útil reunir manualmente o tipo de informação listado acima ao pedir ajuda manualmente.

note: type: Labeled list
en: -o <path>
pt_BR: -o <caminho>

note: type: Labeled list
en: --output-directory <path>
pt_BR: --output-directory <caminho>

note: type: Plain text
en: Place the resulting bug report file in `<path>` instead of the root of the Git repository.
pt_BR: Coloque o arquivo do relatório dos erros resultantes em `<caminho>` em vez da raiz do repositório Git.

note: type: Labeled list
en: -s <format>
pt_BR: -s <formato>

note: type: Labeled list
en: --suffix <format>
pt_BR: --suffix <formato>

note: type: Plain text
en: Specify an alternate suffix for the bugreport name, to create a file named 'git-bugreport-<formatted suffix>'. This should take the form of a strftime(3) format string; the current local time will be used.
pt_BR: Defina um sufixo alternativo para o nome do relatório de erros, para criar um arquivo com o nome de 'git-bugreport-<formatted suffix>'. Isso deve assumir a forma de um formato da cadeia de caracteres strftime(3); a hora local será utilizada.

note: type: Plain text
en: git-bundle - Move objects and refs by archive
pt_BR: git-bundle - Mova os objetos e as refs através do arquivo

note: type: Plain text
en: 'git bundle' create [-q | --quiet | --progress | --all-progress] [--all-progress-implied] <file> <git-rev-list-args>
    'git bundle' verify [-q | --quiet] <file>
    'git bundle' list-heads <file> [<refname>...]
    'git bundle' unbundle <file> [<refname>...]
pt_BR: 'git bundle' create [-q | --quiet | --progress | --all-progress] [--all-progress-implied] <arquivo> <git-rev-list-args>
    'git bundle' verify [-q | --quiet] <arquivo>
    'git bundle' list-heads <arquivo> [<refname>...]
    'git bundle' unbundle <arquivo> [<refname>...]

note: type: Plain text
en: Some workflows require that one or more branches of development on one machine be replicated on another machine, but the two machines cannot be directly connected, and therefore the interactive Git protocols (git, ssh, http) cannot be used.
pt_BR: Alguns fluxos de trabalho requerem que um ou mais ramificações do desenvolvimento em uma máquina sejam replicadas em uma outra máquina, porém as duas máquinas não podem ser conectadas diretamente, portanto, os protocolos interativos do Git (git, ssh, http) não podem ser utilizados.

note: type: Plain text
en: The 'git bundle' command packages objects and references in an archive at the originating machine, which can then be imported into another repository using 'git fetch', 'git pull', or 'git clone', after moving the archive by some means (e.g., by sneakernet).
pt_BR: O comando 'git bundle' empacota os objetos e as referências em um arquivo na máquina de origem, que pode ser importado para um outro repositório utilizando o comando 'git fetch', 'git pull' ou 'git clone', depois de mover o arquivo de alguma maneira (através do "sneakernet" por exemplo).

note: type: Plain text
en: As no direct connection between the repositories exists, the user must specify a basis for the bundle that is held by the destination repository: the bundle assumes that all objects in the basis are already in the destination repository.
pt_BR: Como não existe conexão direta entre os repositórios o usuário deve informar uma base para o pacote que é mantido pelo repositório no destino: o pacote assume que todos os objetos na base já estão no repositório no destino.

note: type: Labeled list
en: create [options] <file> <git-rev-list-args>
pt_BR: create [options] <arquivo> <git-rev-list-args>

note: type: Plain text
en: Used to create a bundle named 'file'.  This requires the '<git-rev-list-args>' arguments to define the bundle contents.  'options' contains the options specific to the 'git bundle create' subcommand.
pt_BR: Utilize para criar um pacote chamado 'arquivo'.  Isso requer a utilização dos argumentos '<git-rev-list-args>' para definir o conteúdo do pacote.  'options' contém as opções específicas para o subcomando 'git bundle create'.

note: type: Labeled list
en: verify <file>
pt_BR: verify <arquivo>

note: type: Plain text
en: Used to check that a bundle file is valid and will apply cleanly to the current repository.  This includes checks on the bundle format itself as well as checking that the prerequisite commits exist and are fully linked in the current repository.  'git bundle' prints a list of missing commits, if any, and exits with a non-zero status.
pt_BR: Utilizado para verificar se um arquivo do pacote é válido e se será aplicado de forma limpa ao repositório atual.  Isso incluí as verificações no formato do pacote e também a que verificação dos pré-requisitos dos commits existam e estejam totalmente vinculados ao repositório atual.  O comando 'git bundle' exibe uma lista dos commits que faltam, caso haja, e encerra com uma condição diferente de zero.

note: type: Labeled list
en: list-heads <file>
pt_BR: list-heads <arquivo>

note: type: Plain text
en: Lists the references defined in the bundle.  If followed by a list of references, only references matching those given are printed out.
pt_BR: Lista as referências definidas no pacote.  Caso seja seguido por uma lista de referências, apenas as referências que coincidam com as informadas são exibidas.

note: type: Labeled list
en: unbundle <file>
pt_BR: unbundle <arquivo>

note: type: Plain text
en: Passes the objects in the bundle to 'git index-pack' for storage in the repository, then prints the names of all defined references. If a list of references is given, only references matching those in the list are printed. This command is really plumbing, intended to be called only by 'git fetch'.
pt_BR: Passa os objetos no pacote para o para armazenamento no repositório com o comando 'git index-pack' e depois imprime os nomes de todas as referências que foram definidas. Se uma lista de referências for informada, apenas as referências que coincidam às da lista serão exibidas. Este comando é realmente "plumbing", feito para ser chamado apenas através do 'git fetch'.

note: type: Plain text
en: A list of arguments, acceptable to 'git rev-parse' and 'git rev-list' (and containing a named ref, see SPECIFYING REFERENCES below), that specifies the specific objects and references to transport.  For example, `master~10..master` causes the current master reference to be packaged along with all objects added since its 10th ancestor commit.  There is no explicit limit to the number of references and objects that may be packaged.
pt_BR: Uma lista de argumentos aceitáveis para o comando 'git rev-parse' e 'git rev-list' (contendo uma determinada referência, consulte ESPECIFICANDO AS REFERÊNCIAS logo abaixo), que determina quais os objetos e as referências específicas que serão transportados.  Por exemplo, `master~10..master` faz com que a referência principal seja empacotada juntamente com todos os objetos que foram adicionados desde o seu décimo commit ancestral.  Não há um limite explícito para a quantidade de referências e dos objetos que podem ser empacotados.

note: type: Plain text
en: A list of references used to limit the references reported as available. This is principally of use to 'git fetch', which expects to receive only those references asked for and not necessarily everything in the pack (in this case, 'git bundle' acts like 'git fetch-pack').
pt_BR: Uma lista de referências utilizadas para limitar as referências relatadas como disponíveis. É muito útil para ser utilizado com o 'git fetch' que espera receber apenas as referências solicitadas e não necessariamente tudo no pacote (nesse caso, 'git bundle' age como 'git fetch-pack').

note: type: Plain text
en: When --stdout is specified then progress report is displayed during the object count and compression phases but inhibited during the write-out phase. The reason is that in some cases the output stream is directly linked to another command which may wish to display progress status of its own as it processes incoming pack data.  This flag is like --progress except that it forces progress report for the write-out phase as well even if --stdout is used.
pt_BR: Quando o `--stdout` é utilizado, o relatório do progresso é exibido durante as fases da contagem e da compactação dos objetos, porém inibido durante a fase de gravação. A razão é que em alguns casos, o fluxo da saída está diretamente vinculada a um outro comando que possa querer exibir a sua própria condição do progresso à medida que os dados do pacote vão sendo processados.  Esta opção é semelhante ao `--progress`, exceto que impõem também que um relatório do progresso seja feito na fase de gravação, mesmo que a opção `--stdout` seja utilizado.

note: type: Plain text
en: This is used to imply --all-progress whenever progress display is activated.  Unlike --all-progress this flag doesn't actually force any progress display by itself.
pt_BR: Isso é utilizado para impor a opção `--all-progress` sempre que a exibição do progresso estiver ativo.  Ao contrário da opção `--all-progress`, esta opção por si só não impõem que a exibição do progresso seja exibida.

note: type: Plain text
en: This flag makes the command not to report its progress on the standard error stream.
pt_BR: Esta opção faz com que o comando não relate o seu progresso em meio ao fluxo de erros já predefinido.

note: type: Title -
en: SPECIFYING REFERENCES
pt_BR: ESPECIFICANDO AS REFERÊNCIAS

note: type: Plain text
en: 'git bundle' will only package references that are shown by 'git show-ref': this includes heads, tags, and remote heads.  References such as `master~1` cannot be packaged, but are perfectly suitable for defining the basis.  More than one reference may be packaged, and more than one basis can be specified.  The objects packaged are those not contained in the union of the given bases.  Each basis can be specified explicitly (e.g. `^master~10`), or implicitly (e.g.  `master~10..master`, `--since=10.days.ago master`).
pt_BR: O comando 'git bundle' apenas empacotará as referências que são exibidas através do comando 'git show-ref': isso inclui os cabeçalhos, tags e cabeçalhos remotos.  As referências como `master~1` não podem ser empacotadas porém são perfeitamente adequadas para definir a base.  Mais de uma referência pode ser empacotada assim como mais de uma base pode ser definida.  Os objetos empacotados são aqueles que não estão existentes na união das bases informadas.  Cada base pode ser definida de forma explicita (`^master~10` por exemplo) ou de forma implícita (`master~10..master`, `--since=10.days.ago master` por exemplo).

note: type: Plain text
en: It is very important that the basis used be held by the destination.  It is okay to err on the side of caution, causing the bundle file to contain objects already in the destination, as these are ignored when unpacking at the destination.
pt_BR: É muito importante que a base utilizada seja mantida pelo destino.  É bom errar pelo excesso de zelo, fazendo com que o arquivo do pacote contenha os objetos já no destino, pois eles são ignorados durante a descompactação no destino.

note: type: Plain text
en: `git clone` can use any bundle created without negative refspecs (e.g., `new`, but not `old..new`).  If you want to match `git clone --mirror`, which would include your refs such as `refs/remotes/*`, use `--all`.  If you want to provide the same set of refs that a clone directly from the source repository would get, use `--branches --tags` for the `<git-rev-list-args>`.
pt_BR: O comando `git clone` pode utilizar qualquer pacote criado sem os "refespecs" negativos (`new`, mas não `old..new` por exemplo).  Caso queira combinar o comando `git clone --mirror`, que incluiria os seus refs como `refs/remotes/*`, utilize `--all`.  Caso queira informar o mesmo conjunto de referências que um clone vindo direto do repositório da origem teria, utilize `--branches --tags` para o `<git-rev-list-args>`.

note: type: Plain text
en: Assume you want to transfer the history from a repository R1 on machine A to another repository R2 on machine B.  For whatever reason, direct connection between A and B is not allowed, but we can move data from A to B via some mechanism (CD, email, etc.).  We want to update R2 with development made on the branch master in R1.
pt_BR: Suponha que você queira transferir o histórico de um repositório R1 na máquina A para outro repositório R2 na máquina B.  Por algum motivo, a conexão direta entre A e B não é permitida, mas podemos mover os dados de A para B através de algum mecanismo (CD , e-mail, etc.).  Porém queremos atualizar o R2 com o desenvolvimento feito na ramificação master em R1.

note: type: Plain text
en: To bootstrap the process, you can first create a bundle that does not have any basis. You can use a tag to remember up to what commit you last processed, in order to make it easy to later update the other repository with an incremental bundle:
pt_BR: Para inicializar o processo, você pode primeiro criar um pacote que não exista qualquer base. Você pode usar uma tag para ser lembrado até o último commit que for processado, serve para facilitar a atualização posterior do outro repositório com um pacote incremental:

note: type: Plain text
en: Then you transfer file.bundle to the target machine B. Because this bundle does not require any existing object to be extracted, you can create a new repository on machine B by cloning from it:
pt_BR: Em seguida, você transfere `file.bundle` para a máquina no destino B. Como esse pacote não requer que nenhum objeto existente seja extraído, você pode criar um novo repositório na máquina B clonando a partir dele:

note: type: Plain text
en: This will define a remote called "origin" in the resulting repository that lets you fetch and pull from the bundle. The $GIT_DIR/config file in R2 will have an entry like this:
pt_BR: Isso irá definir um ponto remoto chamado "origin" (origem) no repositório que permite que você capture e extraia do pacote. O arquivo `$GIT_DIR/config` no R2 terá uma entrada como esta:

note: type: Plain text
en: To update the resulting mine.git repository, you can fetch or pull after replacing the bundle stored at /home/me/tmp/file.bundle with incremental updates.
pt_BR: Para atualizar o repositório `mine.git`, você pode capturar ou extrair após a reposição do pacote armazenado em `/home/me/tmp/file.bundle` com as atualizações incrementais.

note: type: Plain text
en: After working some more in the original repository, you can create an incremental bundle to update the other repository:
pt_BR: Depois de trabalhar um pouco mais no repositório original, você pode criar um pacote incremental para atualizar um outro repositório:

note: type: Plain text
en: You then transfer the bundle to the other machine to replace /home/me/tmp/file.bundle, and pull from it.
pt_BR: Em seguida, você transfere o pacote para uma outra máquina para substituir o `/home/me/tmp/file.bundle` e captura dele.

note: type: Plain text
en: If you know up to what commit the intended recipient repository should have the necessary objects, you can use that knowledge to specify the basis, giving a cut-off point to limit the revisions and objects that go in the resulting bundle. The previous example used the lastR2bundle tag for this purpose, but you can use any other options that you would give to the linkgit:git-log[1] command. Here are more examples:
pt_BR: Caso saiba até qual commit do repositório nos destinatários pretendidos devem ter os objetos necessários, você poderá utilizar este conhecimento para definir a base, informando um ponto de corte para limitar as revisões e os objetos inclusos no pacote. O exemplo anterior utilizou a tag `lastR2bundle` para essa finalidade, porém é possível utilizar outras opções que você daria ao comando linkgit:git-log[1]. Aqui mais alguns exemplos:

note: type: Plain text
en: You can use a tag that is present in both:
pt_BR: Você pode utilizar uma tag que esteja presente em ambos:

note: type: Plain text
en: You can use a basis based on time:
pt_BR: Você pode utilizar uma base utilizando tempo como referência:

note: type: Plain text
en: You can use the number of commits:
pt_BR: Você pode utilizar a quantidade dos commits:

note: type: Plain text
en: You can run `git-bundle verify` to see if you can extract from a bundle that was created with a basis:
pt_BR: Você pode executar o comando `git-bundle verify` para ver se você consegue extrair de um pacote que criado com um fundamento:

note: type: Plain text
en: This will list what commits you must have in order to extract from the bundle and will error out if you do not have them.
pt_BR: Isso listará quais os commits você deve ter para extrair do pacote e encerrará com um erro caso você não os tenha.

note: type: Plain text
en: A bundle from a recipient repository's point of view is just like a regular repository which it fetches or pulls from. You can, for example, map references when fetching:
pt_BR: Um pacote do ponto de vista de um repositório do destinatário é como um repositório regular do qual ele captura ou extrai. Você pode, por exemplo, durante a captura é possível mapear quais são as referências:

note: type: Plain text
en: You can also see what references it offers:
pt_BR: Você também pode ver quais são as referências que ela oferece:

note: type: Plain text
en: git-cat-file - Provide content or type and size information for repository objects
pt_BR: git-cat-file - Forneça as informações do conteúdo, tipo e do tamanho para os objetos do repositório

note: type: Plain text
en: 'git cat-file' (-t [--allow-unknown-type]| -s [--allow-unknown-type]| -e | -p | <type> | --textconv | --filters ) [--path=<path>] <object>
    'git cat-file' (--batch[=<format>] | --batch-check[=<format>]) [ --textconv | --filters ] [--follow-symlinks]
pt_BR: 'git cat-file' (-t [--allow-unknown-type]| -s [--allow-unknown-type]| -e | -p | <tipo> | --textconv | --filters ) [--path=<caminho>] <objeto>
    'git cat-file' (--batch[=<formato>] | --batch-check[=<formato>]) [ --textconv | --filters ] [--follow-symlinks]

note: type: Plain text
en: In its first form, the command provides the content or the type of an object in the repository. The type is required unless `-t` or `-p` is used to find the object type, or `-s` is used to find the object size, or `--textconv` or `--filters` is used (which imply type "blob").
pt_BR: Em sua primeira forma, o comando fornece o conteúdo ou o tipo de um objeto no repositório. O tipo é necessário, a menos que a opção `-t` ou `-p` seja utilizado para encontrar o tipo de objeto, ou `-s` seja utilizado para encontrar seu tamanho, ou a opção `--textconv` ou `--filters` seja utilizado (que implica no tipo "blob" (bolha)).

note: type: Plain text
en: In the second form, a list of objects (separated by linefeeds) is provided on stdin, and the SHA-1, type, and size of each object is printed on stdout. The output format can be overridden using the optional `<format>` argument. If either `--textconv` or `--filters` was specified, the input is expected to list the object names followed by the path name, separated by a single whitespace, so that the appropriate drivers can be determined.
pt_BR: Em sua segunda forma, é oferecida uma lista de objetos (separados por linhas de alimentação) no "stdin", o SHA-1, o tipo e seu tamanho de cada objeto exibidos no "stdout". O formato de saída pode ser substituído utilizando a opção opcional `<formato>`. Caso a opção `--textconv` ou` --filters` foram sejam utilizados, espera-se que a entrada liste os nomes dos objetos seguidos pelo nome do caminho, separados por um único espaço, para que os devidos controladores ser determinados.

note: type: Labeled list
en: <object>
pt_BR: <objeto>

note: type: Plain text
en: The name of the object to show.  For a more complete list of ways to spell object names, see the "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
pt_BR: O nome do objeto que será exibido.  Para uma lista mais completa de maneiras de escrever os nomes dos objetos, consulte a seção "DEFININDO AS REVISÕES" no linkgit:gitrevisions[7].

note: type: Plain text
en: Instead of the content, show the object type identified by <object>.
pt_BR: Em vez do conteúdo, exiba o tipo do objeto identificado por `<objeto>`.

note: type: Plain text
en: Instead of the content, show the object size identified by <object>.
pt_BR: Em vez do conteúdo, exiba o tamanho do objeto identificado por `<objeto>`.

note: type: Plain text
en: Exit with zero status if <object> exists and is a valid object. If <object> is of an invalid format exit with non-zero and emits an error on stderr.
pt_BR: Encerre com a condição zero caso o `<objeto>` exista e seja um objeto válido. Caso o `<objeto>` tenha um formato inválido, encerre com um valor diferente de zero e emita uma mensagem de erro no "stderr".

note: type: Plain text
en: Pretty-print the contents of <object> based on its type.
pt_BR: Faça uma impressão bonita do conteúdo do `<objeto>` com base no seu tipo.

note: type: Labeled list
en: <type>
pt_BR: <tipo>

note: type: Plain text
en: Typically this matches the real type of <object> but asking for a type that can trivially be dereferenced from the given <object> is also permitted.  An example is to ask for a "tree" with <object> being a commit object that contains it, or to ask for a "blob" with <object> being a tag object that points at it.
pt_BR: Normalmente, isso coincide com tipo real do <objeto>, mas solicitar um tipo sem referência de um determinado <objeto> também é permitido.  Um exemplo é pedir uma "árvore" com o `<objeto>` sendo um objeto commit que o contém, ou pedir uma "bolha" com o `<objeto>` sendo uma tag que aponte para ela.

note: type: Plain text
en: Show the content as transformed by a textconv filter. In this case, <object> has to be of the form <tree-ish>:<path>, or :<path> in order to apply the filter to the content recorded in the index at <path>.
pt_BR: Exiba o conteúdo da maneira que foi transformado por um filtro textconv. Nesse caso, o `<objeto>` deve estar no formato `<tree-ish>:<caminho>` ou `:<caminho>` para aplicar o filtro ao conteúdo registrado no índice do `<caminho>`.

note: type: Plain text
en: Show the content as converted by the filters configured in the current working tree for the given <path> (i.e. smudge filters, end-of-line conversion, etc). In this case, <object> has to be of the form <tree-ish>:<path>, or :<path>.
pt_BR: Exiba o conteúdo conforme foi convertido pelos filtros configurados na árvore de trabalho atual para o `<caminho>` informado (por exemplo, filtros de manchas, conversão da quebra de linha, etc.). Nesse caso, o `<objeto>` deve estar no formato `<tree-ish>:<caminho>` ou `:<caminho>`.

note: type: Labeled list
en: --path=<path>
pt_BR: --path=<caminho>

note: type: Plain text
en: For use with --textconv or --filters, to allow specifying an object name and a path separately, e.g. when it is difficult to figure out the revision from which the blob came.
pt_BR: Para a utilização com o comando `--textconv` ou `--filters`, permitindo a definição de um nome do objeto e um caminho separadamente, quando for difícil descobrir a revisão de onde a bolha veio por exemplo.

note: type: Labeled list
en: --batch=<format>
pt_BR: --batch=<formato>

note: type: Plain text
en: Print object information and contents for each object provided on stdin.  May not be combined with any other options or arguments except `--textconv` or `--filters`, in which case the input lines also need to specify the path, separated by whitespace.  See the section `BATCH OUTPUT` below for details.
pt_BR: Exiba a informação do objeto e seu conteúdo para cada objeto informado no stdin.  Talvez não possa ser combinado com nenhuma outra opção exceto `--textconv` ou `--filters`, neste caso, as linhas da entrada também precisam informar o caminho, separado por espaços.  Para mais detalhes consulte a seção `SAÍDA DO LOTE` abaixo.

note: type: Labeled list
en: --batch-check=<format>
pt_BR: --batch-check=<formato>

note: type: Plain text
en: Print object information for each object provided on stdin.  May not be combined with any other options or arguments except `--textconv` or `--filters`, in which case the input lines also need to specify the path, separated by whitespace.  See the section `BATCH OUTPUT` below for details.
pt_BR: Exiba as informações do objeto para cada objeto informado no stdin.  Talvez não possa ser combinado com nenhuma outra opção exceto `--textconv` ou `--filters`, neste caso, as linhas da entrada também precisam informar o caminho, separado por espaços.  Para mais detalhes consulte a seção `SAÍDA DO LOTE` abaixo.

note: type: Plain text
en: Instead of reading a list of objects on stdin, perform the requested batch operation on all objects in the repository and any alternate object stores (not just reachable objects).  Requires `--batch` or `--batch-check` be specified. Note that the objects are visited in order sorted by their hashes.
pt_BR: Em vez de ler uma lista dos objetos no stdin, execute a operação em lote solicitada em todos os objetos no repositório e em quaisquer outros armazenamentos alternativos dos objetos (não apenas nos objetos que forem acessíveis).  Requer que o comando `--batch` ou `--batch-check` seja utilizado. Observe que os objetos são capturados através da ordem dos seus hashes.

note: type: Plain text
en: Normally batch output is flushed after each object is output, so that a process can interactively read and write from `cat-file`. With this option, the output uses normal stdio buffering; this is much more efficient when invoking `--batch-check` on a large number of objects.
pt_BR: Normalmente, a saída em lote é liberada após a saída de cada objeto, para que um processo possa ler e gravar de forma interativa a partir do `cat-file`. Com esta opção, a saída utiliza uma memória intermédia normal no stdio; por ser muito mais eficiente ao invocar comando `--batch-check` em uma grande quantidade de objetos.

note: type: Plain text
en: When `--batch-all-objects` is in use, visit objects in an order which may be more efficient for accessing the object contents than hash order. The exact details of the order are unspecified, but if you do not require a specific order, this should generally result in faster output, especially with `--batch`.  Note that `cat-file` will still show each object only once, even if it is stored multiple times in the repository.
pt_BR: Quando o comando `--batch-all-objects` estiver em uso, visite os objetos em uma ordem que possa ser mais eficiente para acessar o conteúdo do objeto do que pela ordem do hash. Os detalhes exatos do pedido não são especificados, porém caso não precise de um pedido específico, em geral isso resultará em uma saída mais rápida, especialmente com a opção `--batch`.  Observe que `cat-file` ainda exibirá cada objeto apenas uma vez, mesmo que ele seja armazenado várias vezes no repositório.

note: type: Plain text
en: Allow -s or -t to query broken/corrupt objects of unknown type.
pt_BR: Permita que `-s` ou `-t` consultem os objetos quebrados/corrompidos de um tipo desconhecido.

note: type: Plain text
en: With --batch or --batch-check, follow symlinks inside the repository when requesting objects with extended SHA-1 expressions of the form tree-ish:path-in-tree.  Instead of providing output about the link itself, provide output about the linked-to object.  If a symlink points outside the tree-ish (e.g. a link to /foo or a root-level link to ../foo), the portion of the link which is outside the tree will be printed.
pt_BR: Com a opção `--batch` ou `--batch-check`, siga os links simbólicos dentro do repositório durante a solicitação dos objetos das expressões SHA-1 estendidas no formato `tree-ish: path-in-tree`.  Em vez de providenciar a geração sobre o próprio link, gere uma saída sobre o objeto que for vinculado.  Caso um link simbólico aponte para fora da árvore (um link para /foo ou um link na raiz para ../foo por exemplo), a parte do link que está fora da árvore será exibida.

note: type: Plain text
en: This option does not (currently) work correctly when an object in the index is specified (e.g. `:link` instead of `HEAD:link`) rather than one in the tree.
pt_BR: Esta opção (atualmente) não funciona corretamente quando um objeto no índice seja definido (`:link` em vez do `HEAD:link` por exemplo) em vez de um na árvore.

note: type: Plain text
en: This option cannot (currently) be used unless `--batch` or `--batch-check` is used.
pt_BR: Esta opção (atualmente) não pode ser utilizada, a menos que a opção `--batch` ou `--batch-check` seja utilizado.

note: type: Plain text
en: For example, consider a git repository containing:
pt_BR: Considere um repositório git contendo, por exemplo:

note: type: Plain text
en: 	f: a file containing "hello\n"
    	link: a symlink to f
    	dir/link: a symlink to ../f
    	plink: a symlink to ../f
    	alink: a symlink to /etc/passwd
pt_BR: 	f: a file containing "hello\n"
    	link: um link simbólico para f
    	dir/link: um link simbólico para ../f
    	plink: um link simbólico para ../f
    	alink: um link simbólico para /etc/passwd

note: type: Plain text
en: For a regular file `f`, `echo HEAD:f | git cat-file --batch` would print
pt_BR: Para um arquivo normal `f`, `echo HEAD:f | git cat-file --batch` exibe

note: type: Plain text
en: And `echo HEAD:link | git cat-file --batch --follow-symlinks` would print the same thing, as would `HEAD:dir/link`, as they both point at `HEAD:f`.
pt_BR: E `echo HEAD:link | git cat-file --batch --follow-symlinks` exibiria a mesma coisa, assim como `HEAD:dir/link`, como ambos apontam para `HEAD:f`.

note: type: Plain text
en: Without `--follow-symlinks`, these would print data about the symlink itself.  In the case of `HEAD:link`, you would see
pt_BR: Sem a opção `--follow-symlinks`, irão exibir os dados sobre o próprio link simbólico.  No caso de `HEAD: link`, você veria

note: type: Plain text
en: Both `plink` and `alink` point outside the tree, so they would respectively print:
pt_BR: Ambos `plink` e `alink` apontam para fora da árvore, então eles imprimiriam respectivamente:

note: type: Title -
en: OUTPUT
pt_BR: SAÍDA

note: type: Plain text
en: If `-t` is specified, one of the <type>.
pt_BR: Caso a opção `-t` seja utilizada, um do <tipo>.

note: type: Plain text
en: If `-s` is specified, the size of the <object> in bytes.
pt_BR: Caso a opção `-s` seja utilizada, o tamanho do <objeto> em bytes.

note: type: Plain text
en: If `-e` is specified, no output, unless the <object> is malformed.
pt_BR: Caso a opção `-e` seja utilizada, nenhuma saída, a menos que o <objeto> esteja malformado.

note: type: Plain text
en: If `-p` is specified, the contents of <object> are pretty-printed.
pt_BR: Caso a opção `-p` seja utilizada, o conteúdo de <objeto> será bem impresso.

note: type: Plain text
en: If <type> is specified, the raw (though uncompressed) contents of the <object> will be returned.
pt_BR: Caso um <tipo> seja utilizada, o conteúdo bruto (embora não compactado) do <objeto> será retornado.

note: type: Title -
en: BATCH OUTPUT
pt_BR: SAÍDA DO LOTE

note: type: Plain text
en: If `--batch` or `--batch-check` is given, `cat-file` will read objects from stdin, one per line, and print information about them. By default, the whole line is considered as an object, as if it were fed to linkgit:git-rev-parse[1].
pt_BR: Caso o comando `--batch` ou `--batch-check` seja utilizado, o `cat-file` lerá os objetos vindos do stdin, um por linha, imprimindo as informações sobre eles. É predefinido que a linha inteira seja considerada como um objeto, como se fosse alimentada para o linkgit:git-rev-parse[1].

note: type: Plain text
en: You can specify the information shown for each object by using a custom `<format>`. The `<format>` is copied literally to stdout for each object, with placeholders of the form `%(atom)` expanded, followed by a newline. The available atoms are:
pt_BR: Você pode definir as informações exibidas para cada objeto utilizando um `<formato>` personalizado. O `<formato>` é copiado de forma literal para cada objeto no stdout, com espaços reservados no formato `%(atom)` expandidos, seguidos por uma nova linha. Os átomos que estão disponíveis são:

note: type: Plain text
en: The 40-hex object name of the object.
pt_BR: O nome do objeto com 40 hexadecimais.

note: type: Plain text
en: The type of the object (the same as `cat-file -t` reports).
pt_BR: O tipo do objeto (o mesmo que os relatórios `cat-file -t`).

note: type: Plain text
en: The size, in bytes, of the object (the same as `cat-file -s` reports).
pt_BR: O tamanho, em bytes, do objeto (o mesmo que os relatórios `cat-file -s`).

note: type: Plain text
en: The size, in bytes, that the object takes up on disk. See the note about on-disk sizes in the `CAVEATS` section below.
pt_BR: O tamanho, em bytes, que o objeto ocupa no disco. Consulte a nota sobre os tamanhos do disco na seção `RESSALVAS` abaixo.

note: type: Plain text
en: If the object is stored as a delta on-disk, this expands to the 40-hex sha1 of the delta base object. Otherwise, expands to the null sha1 (40 zeroes). See `CAVEATS` below.
pt_BR: Se o objeto estiver armazenado como um delta no disco, ele se expandirá para SHA-1 com 40 hexadecimais do objeto base delta. Caso contrário, expande para um SHA-1 nulo (40 zeros). Consulte `RESSALVAS` abaixo.

note: type: Plain text
en: If this atom is used in the output string, input lines are split at the first whitespace boundary. All characters before that whitespace are considered to be the object name; characters after that first run of whitespace (i.e., the "rest" of the line) are output in place of the `%(rest)` atom.
pt_BR: Caso este átomo seja utilizado na cadeia da saída, as linhas de entrada serão divididas no primeiro limite de espaço. Todos os caracteres anteriores a esse espaço são considerados como o nome do objeto; caracteres após a primeira execução do espaço (ou seja, o "resto" da linha) são exibidos no lugar do átomo `%(rest)`.

note: type: Plain text
en: If no format is specified, the default format is `%(objectname)  %(objecttype) %(objectsize)`.
pt_BR: Caso nenhum formato seja definido, o formato predefinido é `%(objectname)  %(objecttype) %(objectsize)`.

note: type: Plain text
en: If `--batch` is specified, the object information is followed by the object contents (consisting of `%(objectsize)` bytes), followed by a newline.
pt_BR: Caso `--batch` seja utilizado, as informações do objeto são seguidas pelo conteúdo do objeto (consistindo em `%(objectsize)` bytes), seguido por uma nova linha.

note: type: Plain text
en: For example, `--batch` without a custom format would produce:
pt_BR: Por exemplo, o comando `--batch` sem um formato personalizado produziria:

note: type: delimited block -
en: <sha1> SP <type> SP <size> LF
    <contents> LF
pt_BR: <sha1> SP <tipo> SP <tamanho> LF
    <conteúdo> LF

note: type: Plain text
en: Whereas `--batch-check='%(objectname) %(objecttype)'` would produce:
pt_BR: Considerando que `--batch-check ='%(objeto-nome)% (objeto-tipo)'` produziria:

note: type: delimited block -
en: <sha1> SP <type> LF
pt_BR: <sha1> SP <tipo> LF

note: type: Plain text
en: If a name is specified on stdin that cannot be resolved to an object in the repository, then `cat-file` will ignore any custom format and print:
pt_BR: Caso um nome seja utilizado no stdin que não possa ser resolvido como um objeto no repositório, então o `cat-file` irá ignorar qualquer outro formato customizado e exibirá:

note: type: delimited block -
en: <object> SP missing LF
pt_BR: <objeto> SP faltando LF

note: type: Plain text
en: If a name is specified that might refer to more than one object (an ambiguous short sha), then `cat-file` will ignore any custom format and print:
pt_BR: Caso seja utilizado um nome que possa se referir a mais de um objeto (um SHA-1 curto e ambíguo), então o `cat-file` ignorará qualquer formato personalizado e exibirá:

note: type: delimited block -
en: <object> SP ambiguous LF
pt_BR: <objeto> SP ambíguo LF

note: type: Plain text
en: If --follow-symlinks is used, and a symlink in the repository points outside the repository, then `cat-file` will ignore any custom format and print:
pt_BR: Caso a opção `--follow-symlinks` seja utilizado e um link-simbólico no repositório apontar para fora do repositório, então o `cat-file` irá ignorar qualquer outro formato customizado e exibirá:

note: type: delimited block -
en: symlink SP <size> LF
    <symlink> LF
pt_BR: link-simbólico SP <tamanho> LF
    <link-simbólico> LF

note: type: Plain text
en: The symlink will either be absolute (beginning with a /), or relative to the tree root.  For instance, if dir/link points to ../../foo, then <symlink> will be ../foo.  <size> is the size of the symlink in bytes.
pt_BR: O link simbólico ou será absoluto (começando com um /) ou relativo à raiz da árvore.  Por exemplo, caso o  dir/link aponte para ../../foo, então o `<symlink>` será ../foo.  <tamanho> é o tamanho do link simbólico em bytes.

note: type: Plain text
en: If --follow-symlinks is used, the following error messages will be displayed:
pt_BR: Caso a opção `--follow-symlinks` seja utilizado, as seguintes mensagens de erro serão exibidas:

note: type: Plain text
en: is printed when the initial symlink requested does not exist.
pt_BR: é impresso quando o link simbólico inicial solicitado não existir.

note: type: delimited block -
en: dangling SP <size> LF
    <object> LF
pt_BR: dangling SP <tamanho> LF
    <objeto> LF

note: type: Plain text
en: is printed when the initial symlink exists, but something that it (transitive-of) points to does not.
pt_BR: é impresso quando o link-simbólico inicial existe, mas algo que ele (transitivo de ) aponte o contrário.

note: type: delimited block -
en: loop SP <size> LF
    <object> LF
pt_BR: loop SP <tamanho> LF
    <objeto> LF

note: type: Plain text
en: is printed for symlink loops (or any symlinks that require more than 40 link resolutions to resolve).
pt_BR: é impresso para os loops dos links simbólicos (ou quaisquer links simbólicos onde exijam mais de 40 resoluções de link para serem resolvidos).

note: type: delimited block -
en: notdir SP <size> LF
    <object> LF
pt_BR: notdir SP <tamanho> LF
    <objeto> LF

note: type: Plain text
en: is printed when, during symlink resolution, a file is used as a directory name.
pt_BR: é impresso quando, durante a resolução do link-simbólico, um arquivo é utilizado como um nome do diretório.

note: type: Title -
en: CAVEATS
pt_BR: RESSALVAS

note: type: Plain text
en: Note that the sizes of objects on disk are reported accurately, but care should be taken in drawing conclusions about which refs or objects are responsible for disk usage. The size of a packed non-delta object may be much larger than the size of objects which delta against it, but the choice of which object is the base and which is the delta is arbitrary and is subject to change during a repack.
pt_BR: Observe que os tamanhos dos objetos no disco são relatados com precisão, porém é preciso ter cuidado ao tirar conclusões sobre quais as refs ou os objetos sejam responsáveis pela utilização do disco. O tamanho de um objeto não delta compactado, pode ser muito maior do que o tamanho dos objetos onde o delta seja contra ele, porém a escolha de qual objeto é a base e qual é o delta é arbitrária e está sujeita a alterações durante um reempacotamento.

note: type: Plain text
en: Note also that multiple copies of an object may be present in the object database; in this case, it is undefined which copy's size or delta base will be reported.
pt_BR: Observe também que as várias cópias de um objeto podem estar presentes no banco de dados dos objetos; neste caso, é indefinido qual o tamanho da cópia ou da base delta que será relatada.

note: type: Plain text
en: git-check-attr - Display gitattributes information
pt_BR: git-check-attr - Exiba as informações sobre os gitattributes

note: type: Plain text
en: For every pathname, this command will list if each attribute is 'unspecified', 'set', or 'unset' as a gitattribute on that pathname.
pt_BR: Para cada nome do caminho, este comando listará se cada atributo é `unspecified` (não especificado), `set` (definido) ou `unset` (não definido) como um gitattribute neste nome do caminho.

note: type: Plain text
en: List all attributes that are associated with the specified paths.  If this option is used, then 'unspecified' attributes will not be included in the output.
pt_BR: Liste todos os atributos que estão associados com os caminhos definidos.  Caso esra opção seja utilizada, os atributos 'unspecified' não serão inclusos na saída.

note: type: Plain text
en: Consider `.gitattributes` in the index only, ignoring the working tree.
pt_BR: Considere o `.gitattributos` apenas no índice, ignorando a árvore de trabalho.

note: type: Plain text
en: Read pathnames from the standard input, one per line, instead of from the command-line.
pt_BR: Leia os nomes do caminho na entrada padrão, um por linha, em vez da linha de comando.

note: type: Plain text
en: The output format is modified to be machine-parsable.  If `--stdin` is also given, input paths are separated with a NUL character instead of a linefeed character.
pt_BR: O formato da saída é modificado para ser analisável por uma máquina.  Caso o `--stdin` também seja informado, os caminhos da entrada serão separados por um caractere `NUL` em vez de um caractere de avanço de linha.

note: type: Plain text
en: Interpret all preceding arguments as attributes and all following arguments as path names.
pt_BR: Interprete todas as opções anteriores como atributos e todos as opções a seguir como nomes do caminho.

note: type: Plain text
en: If none of `--stdin`, `--all`, or `--` is used, the first argument will be treated as an attribute and the rest of the arguments as pathnames.
pt_BR: Caso nenhuma opção `--stdin`, `--all` ou `--` seja utilizado, a primeira será tratada como um atributo e o restante das opções como os nomes do caminho.

note: type: Plain text
en: The output is of the form: <path> COLON SP <attribute> COLON SP <info> LF
pt_BR: A saída assume a forma: <caminho> COLON SP <atributo> COLON SP <info> LF

note: type: Plain text
en: unless `-z` is in effect, in which case NUL is used as delimiter: <path> NUL <attribute> NUL <info> NUL
pt_BR: a menos que `-z` esteja em vigor, no caso onde `NUL` é utilizado como um delimitador: <caminho> NUL <atributo> NUL <info> NUL

note: type: Plain text
en: <path> is the path of a file being queried, <attribute> is an attribute being queried and <info> can be either:
pt_BR: `<caminho>` é o caminho de um arquivo sendo consultado, `<attribute>` é um atributo sendo consultado e <info> pode ser:

note: type: Plain text
en: when the attribute is not defined for the path.
pt_BR: quando o atributo não esteja definido para o caminho.

note: type: Plain text
en: when the attribute is defined as false.
pt_BR: quando o atributo é definido como falso.

note: type: Plain text
en: when the attribute is defined as true.
pt_BR: quando o atributo é definido como verdadeiro.

note: type: Labeled list
en: <value>
pt_BR: <valor>

note: type: Plain text
en: when a value has been assigned to the attribute.
pt_BR: quando um valor foi atribuído ao atributo.

note: type: Plain text
en: Buffering happens as documented under the `GIT_FLUSH` option in linkgit:git[1].  The caller is responsible for avoiding deadlocks caused by overfilling an input buffer or reading from an empty output buffer.
pt_BR: A carga da memória intermédia (buffering) ocorre como foi documentada na opção `GIT_FLUSH` em linkgit:git[1].   O responsável pela chamada é aquele que evita que os bloqueios causados pelo preenchimento excessivo de uma memória intermédia na entrada ou pela leitura de uma memória intermédia vazia na saída.

note: type: Plain text
en: In the examples, the following '.gitattributes' file is used:
pt_BR: Nos exemplos, o seguinte arquivo '.gitattributos' é utilizado:

note: type: Plain text
en: Listing a single attribute:
pt_BR: Listando um único atributo:

note: type: Plain text
en: Listing multiple attributes for a file:
pt_BR: Listando vários atributos para um arquivo:

note: type: Plain text
en: Listing all attributes for a file:
pt_BR: Listando todos os atributos de um arquivo:

note: type: Plain text
en: Listing an attribute for multiple files:
pt_BR: Listando um atributo para vários arquivos:

note: type: Plain text
en: Not all values are equally unambiguous:
pt_BR: Nem todos os valores não ambíguos são iguais:

note: type: Plain text
en: git-check-ignore - Debug gitignore / exclude files
pt_BR: git-verifique-ignorar - Depure o gitignorar / excluir arquivos

note: type: Plain text
en: 'git check-ignore' [<options>] <pathname>...
    'git check-ignore' [<options>] --stdin
pt_BR: 'git check-ignore' [<opções>] <pathname>...
    'git check-ignore' [<opções>] --stdin

note: type: Plain text
en: For each pathname given via the command-line or from a file via `--stdin`, check whether the file is excluded by .gitignore (or other input files to the exclude mechanism) and output the path if it is excluded.
pt_BR: Para cada nome do caminho informado através da linha de comando ou de um arquivo via `--stdin`, verifique se o arquivo foi excluído por .gitignorar (ou outros arquivos de entrada para o mecanismo de exclusão) e imprima o caminho se ele for excluído.

note: type: Plain text
en: By default, tracked files are not shown at all since they are not subject to exclude rules; but see `--no-index'.
pt_BR: Por padrão, os arquivos rastreados não são exibidos, pois não estão sujeitos a regras de exclusão. mas veja `--não-índice '.

note: type: Labeled list
en: -q, --quiet
pt_BR: -q, --quieto

note: type: Plain text
en: Don't output anything, just set exit status.  This is only valid with a single pathname.
pt_BR: Não produza nada, apenas defina a condição do encerramento.  É válido apenas com um único nome do caminho.

note: type: Plain text
en: Instead of printing the paths that are excluded, for each path that matches an exclude pattern, print the exclude pattern together with the path.  (Matching an exclude pattern usually means the path is excluded, but if the pattern begins with '!' then it is a negated pattern and matching it means the path is NOT excluded.)
pt_BR: Em vez de imprimir quais os caminhos foram excluídos, para cada caminho que coincida a um padrão de exclusão, imprima o padrão de exclusão junto com o caminho.  (A correspondência da exclusão de um padrão geralmente significa que o caminho foi excluído, porém caso o padrão comece com '!', então é um padrão negado e a coincidência significa que o caminho NÃO é excluído.)

note: type: Plain text
en: For precedence rules within and between exclude sources, see linkgit:gitignore[5].
pt_BR: Para as regras da precedência dentro e entre as fontes eliminadas, consulte linkgit:gitignorar[5].

note: type: Plain text
en: The output format is modified to be machine-parsable (see below).  If `--stdin` is also given, input paths are separated with a NUL character instead of a linefeed character.
pt_BR: O formato gerado é modificado para ser analisável pela máquina (veja abaixo).  Caso o `--stdin` também seja informado, os caminhos da entrada serão separados por um caractere `NUL` em vez de um caractere de avanço de linha.

note: type: Plain text
en: Show given paths which don't match any pattern.	 This only makes sense when `--verbose` is enabled, otherwise it would not be possible to distinguish between paths which match a pattern and those which don't.
pt_BR: Exiba os caminhos informados que não coincidam com qualquer padrão.	 Só faz sentido quando a opção `--verbose` está ativa, caso contrário não seria possível distinguir entre os caminhos que coincidem ou não com um padrão.

note: type: Plain text
en: Don't look in the index when undertaking the checks. This can be used to debug why a path became tracked by e.g. `git add .` and was not ignored by the rules as expected by the user or when developing patterns including negation to match a path previously added with `git add -f`.
pt_BR: Não procure no índice ao realizar as verificações. Pode ser utilizado para depurar o motivo de um caminho ter sido rastreado por ex. `git add .` e não foi ignorado pelas regras conforme o esperado pelo usuário ou ao desenvolver padrões incluindo a negação da coincidência a um caminho adicionado anteriormente com` git add -f`.

note: type: Plain text
en: By default, any of the given pathnames which match an ignore pattern will be output, one per line.  If no pattern matches a given path, nothing will be output for that path; this means that path will not be ignored.
pt_BR: É predefinido que será gerado qualquer um dos nomes do caminho informados que coincidam com um padrão para ser ignorado, um por linha.  Caso nenhum padrão coincida com um determinado caminho, nada será gerado; significa que o caminho não será ignorado.

note: type: Plain text
en: If `--verbose` is specified, the output is a series of lines of the form:
pt_BR: Caso a opção `--verbose` seja utilizada, a saída será uma série de linhas desta forma:

note: type: Plain text
en: <source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>
pt_BR: <fonte> <COLON> <linenum> <COLON> <padrão> <HT> <pathname>

note: type: Plain text
en: <pathname> is the path of a file being queried, <pattern> is the matching pattern, <source> is the pattern's source file, and <linenum> is the line number of the pattern within that source.  If the pattern contained a `!` prefix or `/` suffix, it will be preserved in the output.  <source> will be an absolute path when referring to the file configured by `core.excludesFile`, or relative to the repository root when referring to `.git/info/exclude` or a per-directory exclude file.
pt_BR: <pathname> é o caminho de um arquivo que está sendo consultado, <padrão> é o padrão que será coincidido, <fonte> é o arquivo de origem do padrão e <linenum> é o número da linha do padrão nesta origem.  Caso o padrão contenha um prefixo `!` Ou um sufixo `/`, ele será preservado na saída.  <fonte> será um caminho absoluto ao se referir ao arquivo configurado por `core.excludesFile`, ou relativo à raiz do repositório ao se referir a um `.git/info/exclude` ou a exclusão de um arquivo por diretório.

note: type: Plain text
en: If `-z` is specified, the pathnames in the output are delimited by the null character; if `--verbose` is also specified then null characters are also used instead of colons and hard tabs:
pt_BR: Caso `-z` seja utilizado, os nomes do caminho gerado são delimitados pelo caractere nulo; caso `--verbose` também seja utilizado, então os caracteres nulos também serão utilizados em vez das vírgulas e das guias rígidas:

note: type: Plain text
en: <source> <NULL> <linenum> <NULL> <pattern> <NULL> <pathname> <NULL>
pt_BR: <fonte> <NULL> <linenum> <NULL> <padrão> <NULL> <pathname> <NULL>

note: type: Plain text
en: If `-n` or `--non-matching` are specified, non-matching pathnames will also be output, in which case all fields in each output record except for <pathname> will be empty.  This can be useful when running non-interactively, so that files can be incrementally streamed to STDIN of a long-running check-ignore process, and for each of these files, STDOUT will indicate whether that file matched a pattern or not.  (Without this option, it would be impossible to tell whether the absence of output for a given file meant that it didn't match any pattern, or that the output hadn't been generated yet.)
pt_BR: Caso `-n` ou `--nonnon-matching` sejam utilizados, os nomes do caminho que não coincidam também serão gerados; nesse caso, todos os campos de cada registro da saída, exceto o `<pathname>` que estará vazio.  Pode ser útil ao ser executado de forma não interativa, para que os arquivos possam ser transmitidos incrementalmente para o `STDIN` de um longo processo de verificar/ignorar para cada um destes arquivos, o `STDOUT` indicará caso esse arquivo coincida ou não com um padrão.  (Sem essa opção, seria impossível dizer se a ausência da saída para um determinado arquivo significava que não há coincidência com nenhum padrão ou que a saída ainda não havia sido gerada.)

note: type: Title -
en: EXIT STATUS
pt_BR: CONDIÇÃO DE ENCERRAMENTO

note: type: Plain text
en: One or more of the provided paths is ignored.
pt_BR: Um ou mais dos caminhos informados são ignorados.

note: type: Plain text
en: None of the provided paths are ignored.
pt_BR: Nenhum dos caminhos informados serão ignorados.

note: type: Plain text
en: A fatal error was encountered.
pt_BR: Um erro fatal foi encontrado.

note: type: Plain text
en: git-check-mailmap - Show canonical names and email addresses of contacts
pt_BR: git-check-mailmap - Exiba os nomes canônicos e os endereços de e-mail dos contatos

note: type: Plain text
en: 'git check-mailmap' [<options>] <contact>...
pt_BR: 'git check-mailmap' [<opções>] <contato>...

note: type: Plain text
en: For each ``Name $$<user@host>$$'' or ``$$<user@host>$$'' from the command-line or standard input (when using `--stdin`), look up the person's canonical name and email address (see "Mapping Authors" below). If found, print them; otherwise print the input as-is.
pt_BR: Para cada ``Name $$<user@host>$$'' ou ``$$<user@host>$$'' na linha de comando ou na entrada padrão (ao utilizar o `--stdin`), procure o nome canônico e o endereço do e-mail da pessoa (consulte "Mapeando os autores" logo abaixo). Se encontrado, exiba-os; caso contrário, exiba a entrada como estiver.

note: type: Plain text
en: Read contacts, one per line, from the standard input after exhausting contacts provided on the command-line.
pt_BR: Leia os contatos, um por linha, a partir da entrada padrão depois de esgotar os contatos informados na linha de comando.

note: type: Plain text
en: For each contact, a single line is output, terminated by a newline.  If the name is provided or known to the 'mailmap', ``Name $$<user@host>$$'' is printed; otherwise only ``$$<user@host>$$'' is printed.
pt_BR: Para cada contato, uma única linha é emitida, finalizada através de uma nova linha.  Caso um nome seja informado ou seja desconhecido ao 'mailmap', ``Name $$<user@host>$$'' é exibido; caso contrário será exibido apenas ``$$<user@host>$$''.

note: type: Plain text
en: git-checkout-index - Copy files from the index to the working tree
pt_BR: git-checkout-index - Copie os arquivos do índice para a árvore de trabalho

note: type: Plain text
en: 'git checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]
    		   [--stage=<number>|all]
    		   [--temp]
    		   [-z] [--stdin]
    		   [--] [<file>...]
pt_BR: 'git checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<texto>]
    		   [--stage=<number>|all]
    		   [--temp]
    		   [-z] [--stdin]
    		   [--] [<arquivo>...]

note: type: Plain text
en: Will copy all files listed from the index to the working directory (not overwriting existing files).
pt_BR: Copiará todos os arquivos listados no índice para o diretório de trabalho (não sobrescrevendo os arquivos já existentes).

note: type: Plain text
en: update stat information for the checked out entries in the index file.
pt_BR: atualiza as informações das estatísticas para as entradas com check-out no arquivo do índice.

note: type: Plain text
en: be quiet if files exist or are not in the index
pt_BR: fique em silêncio caso os arquivos já existirem ou não estiverem no índice

note: type: Plain text
en: forces overwrite of existing files
pt_BR: impõem que os arquivos existentes sejam sobrescritos

note: type: Plain text
en: checks out all files in the index.  Cannot be used together with explicit filenames.
pt_BR: faz a verificação de todos os arquivos no índice.  Não pode ser utilizado junto com os nomes dos arquivos explícitos.

note: type: Plain text
en: Don't checkout new files, only refresh files already checked out.
pt_BR: Não faça a verificação dos novos arquivos, apenas renove os arquivos já verificados.

note: type: Labeled list
en: --prefix=<string>
pt_BR: --prefix=<texto>

note: type: Plain text
en: When creating files, prepend <string> (usually a directory including a trailing /)
pt_BR: Ao criar os arquivos, anexe uma `<texto>` (geralmente um diretório incluindo uma barra `/`)

note: type: Labeled list
en: --stage=<number>|all
pt_BR: --stage=<número>|all

note: type: Plain text
en: Instead of checking out unmerged entries, copy out the files from named stage.  <number> must be between 1 and 3.  Note: --stage=all automatically implies --temp.
pt_BR: Em vez de fazer a verificação das entradas que não foram mescladas, copie os arquivos do estágio informado.  <number> deve ser entre 1 e 3.  Observação: `--stage=all` automaticamente implica no uso da opção `--temp`.

note: type: Plain text
en: Instead of copying the files to the working directory write the content to temporary files.  The temporary name associations will be written to stdout.
pt_BR: Em vez de copiar os arquivos para o diretório de trabalho, grave o conteúdo em arquivos temporários.  As associações do nome temporário serão gravadas no stdout.

note: type: Plain text
en: Instead of taking list of paths from the command line, read list of paths from the standard input.  Paths are separated by LF (i.e. one path per line) by default.
pt_BR: Em vez de pegar a lista dos caminhos da linha de comando, leia a lista dos caminhos na entrada padrão.  É predefinido que os caminhos sejam separados por LF (ou seja, um caminho por linha).

note: type: Plain text
en: Only meaningful with `--stdin`; paths are separated with NUL character instead of LF.
pt_BR: Somente faz sentido se utilizado junto com a opção `--stdin`; os caminhos são separados com caracteres `NUL` em vez de `LF`.

note: type: Plain text
en: Do not interpret any more arguments as options.
pt_BR: Não interprete mais argumentos como opções.

note: type: Plain text
en: The order of the flags used to matter, but not anymore.
pt_BR: A ordem das opções costumava importar, agora não mais.

note: type: Plain text
en: Just doing `git checkout-index` does nothing. You probably meant `git checkout-index -a`. And if you want to force it, you want `git checkout-index -f -a`.
pt_BR: Agora ao executar o comando `git checkout-index`, ele não faz nada. Você provavelmente quis utilizar `git checkout-index -a`. E caso queira impor a sua utilização, utilize `git checkout-index -f -a`.

note: type: Plain text
en: Intuitiveness is not the goal here. Repeatability is. The reason for the "no arguments means no work" behavior is that from scripts you are supposed to be able to do:
pt_BR: A intuição não é o objetivo aqui. A repetibilidade é. A razão para o comportamento "sem argumentos significa que não há trabalho" é que, a partir dos scripts que você deve ser capaz de executar:

note: type: Plain text
en: which will force all existing `*.h` files to be replaced with their cached copies. If an empty command line implied "all", then this would force-refresh everything in the index, which was not the point.  But since 'git checkout-index' accepts --stdin it would be faster to use:
pt_BR: o que irá impor a reposição de todos os arquivos `* .h` pelas suas cópias no cache. Uma linha de comando vazia implica em "all", isso impõem que a renovação ocorra em tudo o que estava no índice, o que não era o caso.  Mas como 'git checkout-index' aceita `--stdin`, seria muito mais rápido utilizar:

note: type: Plain text
en: The `--` is just a good idea when you know the rest will be filenames; it will prevent problems with a filename of, for example, `-a`.  Using `--` is probably a good policy in scripts.
pt_BR: O `--` apenas é uma boa ideia quando você sabe que o resto será um nome do arquivo; isso evitará problemas com um nome do arquivo de, por exemplo, `-a`.  Utilizar `--` provavelmente é uma boa política nos scripts.

note: type: Title -
en: Using --temp or --stage=all
pt_BR: Utilizando `--temp` ou `--stage=all`

note: type: Plain text
en: When `--temp` is used (or implied by `--stage=all`)  'git checkout-index' will create a temporary file for each index entry being checked out.  The index will not be updated with stat information.  These options can be useful if the caller needs all stages of all unmerged entries so that the unmerged files can be processed by an external merge tool.
pt_BR: Quando o `--temp` é utilizado (ou de forma implícita por `--stage=all`), o comando 'git checkout-index' cria um arquivo temporário para cada entrada do índice que está sendo retirado.  O índice não será atualizado com as informações das estatísticas.  Estas opções podem ser úteis caso quem chame, precise de todos os estágios, de todas as entradas não mescladas para que os arquivos não mesclados possam ser processados por uma ferramenta de mesclagem externa.

note: type: Plain text
en: A listing will be written to stdout providing the association of temporary file names to tracked path names.  The listing format has two variations:
pt_BR: Uma lista será gravada no stdout, fornecendo a associação dos nomes dos arquivos temporários para os nomes dos caminhos rastreados.  O formato da listagem possui duas variações:

note: type: Plain text
en: The first format is what gets used when `--stage` is omitted or is not `--stage=all`. The field tempname is the temporary file name holding the file content and path is the tracked path name in the index.  Only the requested entries are output.
pt_BR: O primeiro formato é o que é utilizado quando o `--stage` for omitido ou não seja um `stage=all`. O campo `tempname` é o nome do arquivo temporário que contenha o conteúdo do arquivo e `path` é o nome do caminho monitorado no índice. O campo `tempname` é o arquivo com o nome temporário que armazena o conteúdo do arquivo, o `path` e o nome do caminho monitorado no índice.  Apenas as entradas solicitadas são produzidas.

note: type: Plain text
en: The second format is what gets used when `--stage=all`.  The three stage temporary fields (stage1temp, stage2temp, stage3temp) list the name of the temporary file if there is a stage entry in the index or `.` if there is no stage entry.  Paths which only have a stage 0 entry will always be omitted from the output.
pt_BR: O segundo formato é o que é utilizado quando a opção for `--stage=all`.  Os campos temporários dos três estágios (stage1temp, stage2temp, stage3temp) listam o nome do arquivo temporário caso haja uma entrada no estágio, no índice ou em `.`, caso não haja uma entrada do estágio.  Os caminhos que possuem apenas uma entrada do estágio 0 sempre serão omitidos da saída.

note: type: Plain text
en: In both formats RS (the record separator) is newline by default but will be the null byte if -z was passed on the command line.  The temporary file names are always safe strings; they will never contain directory separators or whitespace characters.  The path field is always relative to the current directory and the temporary file names are always relative to the top level directory.
pt_BR: Nos dois formatos, o RS (separador de registros) por predefinição é a nova linha, mas será o byte nulo caso `-z` seja utilizado na linha de comando.  Os nomes dos arquivos temporários são sempre gerados de forma segura com uma cadeia de caracteres; eles nunca conterão separadores de diretório ou caracteres de espaço.  O campo do caminho é sempre relativo ao diretório atual e os nomes dos arquivos temporários são sempre relativos ao cume do diretório.

note: type: Plain text
en: If the object being copied out to a temporary file is a symbolic link the content of the link will be written to a normal file.  It is up to the end-user or the Porcelain to make use of this information.
pt_BR: Caso o objeto que está sendo copiado para um arquivo temporário seja um link simbólico, o conteúdo do link será registrado em um arquivo normal.  Cabe ao usuário final ou a Porcelana a responsabilidade do que fazer com essa informação.

note: type: Labeled list
en: To update and refresh only the files already checked out
pt_BR: Para atualizar e renovar somente os arquivos já verificados

note: type: Labeled list
en: Using 'git checkout-index' to "export an entire tree"
pt_BR: Utilizando 'git checkout-index' para "exportar uma árvore inteira"

note: type: Plain text
en: The prefix ability basically makes it trivial to use 'git checkout-index' as an "export as tree" function.  Just read the desired tree into the index, and do:
pt_BR: A habilidade do prefixo basicamente torna trivial a utilização do comando 'git checkout-index' como uma função "exportar como árvore".  Leia apenas a árvore desejada no índice e faça:

note: type: Plain text
en: `git checkout-index` will "export" the index into the specified directory.
pt_BR: O comando `git checkout-index` irá "exportar" o índice para um determinado diretório.

note: type: Plain text
en: The final "/" is important. The exported name is literally just prefixed with the specified string.  Contrast this with the following example.
pt_BR: O "/" no final é importante. O nome que foi exportado é literalmente prefixado com a cadeia de caracteres definida.  Faça o contraste disso com o seguinte exemplo.

note: type: Labeled list
en: Export files with a prefix
pt_BR: Exportar os arquivos com um prefixo

note: type: Plain text
en: This will check out the currently cached copy of `Makefile` into the file `.merged-Makefile`.
pt_BR: Verifica se a cópia disponível no cache do `Makefile` está no arquivo `.merged-Makefile`.

note: type: Plain text
en: git-checkout - Switch branches or restore working tree files
pt_BR: git-checkout - Alterne entre os ramos ou restaure os arquivos da árvore de trabalho

note: type: Plain text
en: 'git checkout' [-q] [-f] [-m] [<branch>]
    'git checkout' [-q] [-f] [-m] --detach [<branch>]
    'git checkout' [-q] [-f] [-m] [--detach] <commit>
    'git checkout' [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]
    'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <pathspec>...
    'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] --pathspec-from-file=<file> [--pathspec-file-nul]
    'git checkout' (-p|--patch) [<tree-ish>] [--] [<pathspec>...]
pt_BR: 'git checkout' [-q] [-f] [-m] [<ramo>]
    'git checkout' [-q] [-f] [-m] --detach [<ramo>]
    'git checkout' [-q] [-f] [-m] [--detach] <commit>
    'git checkout' [-q] [-f] [-m] [[-b|-B|--orphan] <novo-ramo>] [<ponto-de-partida>]
    'git checkout' [-f|--ours|--theirs|-m|--conflict=<estilo>] [<tree-ish>] [--] <pathspec>...
    'git checkout' [-f|--ours|--theirs|-m|--conflict=<estilo>] [<tree-ish>] --pathspec-from-file=<arquivo> [--pathspec-file-nul]
    'git checkout' (-p|--patch) [<tree-ish>] [--] [<pathspec>...]

note: type: Plain text
en: Updates files in the working tree to match the version in the index or the specified tree.  If no pathspec was given, 'git checkout' will also update `HEAD` to set the specified branch as the current branch.
pt_BR: Atualiza os arquivos na árvore de trabalho para coincidir com a versão no índice ou na árvore informada.  Se nenhum "pathspec" seja utilizado, o comando 'git checkout' também atualizará o `HEAD` para definir o ramo informado como o ramo atual.

note: type: Labeled list
en: 'git checkout' [<branch>]
pt_BR: 'git checkout' [<ramo>]

note: type: Plain text
en: To prepare for working on `<branch>`, switch to it by updating the index and the files in the working tree, and by pointing `HEAD` at the branch. Local modifications to the files in the working tree are kept, so that they can be committed to the `<branch>`.
pt_BR: Para se preparar para trabalhar em um `<ramo>`, alterne para ele atualizando o índice, os arquivos na árvore de trabalho e apontando para o `HEAD` do ramo. As modificações locais são mantidas nos arquivos da árvore de trabalho, para que o commit possa ser no `<ramo>`.

note: type: Plain text
en: If `<branch>` is not found but there does exist a tracking branch in exactly one remote (call it `<remote>`) with a matching name and `--no-guess` is not specified, treat as equivalent to
pt_BR: Caso o `<ramificação>` não seja encontrada mas exista uma monitorada remotamente (chame-o de `<remoto>`) com um nome que coincida e quando `--no-guess` não seja utilizado, trate-o como um equivalente a

note: type: delimited block -
en: $ git checkout -b <branch> --track <remote>/<branch>
pt_BR: $ git checkout -b <ramo> --track <remoto>/<ramo>

note: type: Plain text
en: You could omit `<branch>`, in which case the command degenerates to "check out the current branch", which is a glorified no-op with rather expensive side-effects to show only the tracking information, if exists, for the current branch.
pt_BR: Você pode omitir o `<ramo>` no caso em que o comando se degenera para "verificar o branch atual", que é um glorificado não-op com efeitos colaterais bastante dispendiosos para exibir apenas as informações de rastreamento, caso existam, para o ramo atual.

note: type: Labeled list
en: 'git checkout' -b|-B <new_branch> [<start point>]
pt_BR: 'git checkout' -b|-B <new_branch> [<ponto de início>]

note: type: Plain text
en: Specifying `-b` causes a new branch to be created as if linkgit:git-branch[1] were called and then checked out.  In this case you can use the `--track` or `--no-track` options, which will be passed to 'git branch'.  As a convenience, `--track` without `-b` implies branch creation; see the description of `--track` below.
pt_BR: Usando a opção `-b` faz com que um novo ramo seja criado como se o linkgit:git-branch[1] fosse chamado e então averiguado.  Neste caso utilize as opções `--track` ou `--no-track`, para que sejam encaminhadas ao comando 'git branch'.  Por questão de conveniência, a opção `--track` sem `-b` implica na criação do ramo; consulte a descrição da opção `--track` abaixo.

note: type: Plain text
en: If `-B` is given, `<new_branch>` is created if it doesn't exist; otherwise, it is reset. This is the transactional equivalent of
pt_BR: Caso a opção `-B` seja utilizada, então um `<novo-ramo>` é criado caso ainda não exista, senão, será redefinido. Este é o equivalente transacional do

note: type: delimited block -
en: $ git branch -f <branch> [<start point>]
    $ git checkout <branch>
pt_BR: $ git branch -f <ramo> [<ponto-de-partida>]
    $ git checkout <ramo>

note: type: Plain text
en: that is to say, the branch is not reset/created unless "git checkout" is successful.
pt_BR: isto é, a ramificação não é redefinida/criada a menos que "git checkout" seja bem-sucedido.

note: type: Labeled list
en: 'git checkout' --detach [<branch>]
pt_BR: 'git checkout' --detach [<ramo>]

note: type: Plain text
en: Prepare to work on top of `<commit>`, by detaching `HEAD` at it (see "DETACHED HEAD" section), and updating the index and the files in the working tree.  Local modifications to the files in the working tree are kept, so that the resulting working tree will be the state recorded in the commit plus the local modifications.
pt_BR: Prepare-se para trabalhar em cima do `<commit>`, através da desanexação do `HEAD` (consulte a seção "HEAD DESANEXADO"), atualizando o índice e os arquivos na árvore de trabalho.  As alterações locais dos arquivos da árvore de trabalho são mantidas, para que a árvore de trabalho resultante seja a condição registrada no commit, incluindo as alterações locais.

note: type: Plain text
en: When the `<commit>` argument is a branch name, the `--detach` option can be used to detach `HEAD` at the tip of the branch (`git checkout <branch>` would check out that branch without detaching `HEAD`).
pt_BR: Quando o argumento `<commit>` é um nome de ramificação a opção `--detach` pode ser utilizada para desanexar o `HEAD` na ponta do ramo (` git checkout <ramo>` verificaria aquela ramificação sem desanexar o `HEAD`).

note: type: Plain text
en: Omitting `<branch>` detaches `HEAD` at the tip of the current branch.
pt_BR: Ao omitir o `<ramo>` isso desanexa o `HEAD` na ponta do ramo atual.

note: type: Labeled list
en: 'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <pathspec>...
pt_BR: 'git checkout' [-f|--ours|--theirs|-m|--conflict=<estilo>] [<tree-ish>] [--] <pathspec>...

note: type: Labeled list
en: 'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] --pathspec-from-file=<file> [--pathspec-file-nul]
pt_BR: 'git checkout' [-f|--ours|--theirs|-m|--conflict=<estilo>] [<tree-ish>] --pathspec-from-file=<arquivo> [--pathspec-file-nul]

note: type: Plain text
en: Overwrite the contents of the files that match the pathspec.  When the `<tree-ish>` (most often a commit) is not given, overwrite working tree with the contents in the index.  When the `<tree-ish>` is given, overwrite both the index and the working tree with the contents at the `<tree-ish>`.
pt_BR: Substitua o conteúdo dos arquivos que correspondem ao `pathspec`.  Quando o `<tree-ish>` (na maioria das vezes um commit) não for informado, substitua a árvore de trabalho pelo conteúdo do índice.  Quando o `` for informado, substitua o índice e a árvore de trabalho pelo conteúdo em `<tree-ish>`.

note: type: Plain text
en: The index may contain unmerged entries because of a previous failed merge.  By default, if you try to check out such an entry from the index, the checkout operation will fail and nothing will be checked out.  Using `-f` will ignore these unmerged entries.  The contents from a specific side of the merge can be checked out of the index by using `--ours` or `--theirs`.  With `-m`, changes made to the working tree file can be discarded to re-create the original conflicted merge result.
pt_BR: O índice pode conter lançamentos que não foram mesclados, por causa de uma falha durante a mesclagem anterior.  É predefinido que caso tente fazer uma averiguação deste lançamento no índice, a operação de averiguação irá falhar e nada será retirado.  A utilização da opção `-f` ignorará estes lançamentos que não foram mesclados.  O conteúdo de um lado específico da mesclagem pode ser retirado do índice através do uso da opção `--ours` ou `--theirs`.  Com a opção `-m`, as alterações feitas no arquivo da árvore de trabalho podem ser descartadas para recriar o resultado da mesclagem do conflito original.

note: type: Plain text
en: This is similar to the previous mode, but lets you use the interactive interface to show the "diff" output and choose which hunks to use in the result.  See below for the description of `--patch` option.
pt_BR: Isto é semelhante ao modo anterior, porém permite usar a interface interativa para exibir o "diff" gerado e escolher quais os blocos utilizar no resultado.  Veja abaixo a descrição da opção `--patch`.

note: type: Plain text
en: Quiet, suppress feedback messages.
pt_BR: Silencioso, suprima as mensagens de feedback.

note: type: Plain text
en: Progress status is reported on the standard error stream by default when it is attached to a terminal, unless `--quiet` is specified. This flag enables progress reporting even if not attached to a terminal, regardless of `--quiet`.
pt_BR: A condição do progresso é relatado no fluxo de erro predefinido ao estar conectado em um terminal, a menos que as opções `--quiet` seja utilizados. Esta opção ativa os relatórios de progresso, mesmo que não estejam anexados a um terminal, independentemente da opção `--quiet`.

note: type: Plain text
en: When switching branches, proceed even if the index or the working tree differs from `HEAD`.  This is used to throw away local changes.
pt_BR: Ao alternar as ramificações, continue mesmo se o índice ou a árvore de trabalho forem diferentes do `HEAD`.  Isto é usado para descartar as alterações locais.

note: type: Plain text
en: When checking out paths from the index, do not fail upon unmerged entries; instead, unmerged entries are ignored.
pt_BR: Ao verificar os caminhos do índice, não falhe em entradas não mescladas; Em vez disso, as entradas não mescladas são ignoradas.

note: type: Plain text
en: When checking out paths from the index, check out stage #2 ('ours') or #3 ('theirs') for unmerged paths.
pt_BR: Ao verificar os caminhos do índice, confira o estágio #2 ('nosso') ou #3 ('deles') para paths não mesclados.

note: type: Plain text
en: Note that during `git rebase` and `git pull --rebase`, 'ours' and 'theirs' may appear swapped; `--ours` gives the version from the branch the changes are rebased onto, while `--theirs` gives the version from the branch that holds your work that is being rebased.
pt_BR: Observe que durante o `git rebase` e o `git pull --rebase`, o 'ours' (nosso) e o 'theirs' (deles) podem aparecer trocados; `--ours` informa a versão do ramo onde as alterações são feitas, enquanto `--theirs` informa a versão do ramo que contém o seu trabalho que está sendo feito o "rebase".

note: type: Plain text
en: This is because `rebase` is used in a workflow that treats the history at the remote as the shared canonical one, and treats the work done on the branch you are rebasing as the third-party work to be integrated, and you are temporarily assuming the role of the keeper of the canonical history during the rebase.  As the keeper of the canonical history, you need to view the history from the remote as `ours` (i.e. "our shared canonical history"), while what you did on your side branch as `theirs` (i.e. "one contributor's work on top of it").
pt_BR: Isso ocorre porque o `rebase` é usado em um fluxo de trabalho que trata o histórico no ramo remoto como o canônico compartilhado e trata o trabalho realizado no ramo que você está reconstruindo como o trabalho de terceiros que será integrado, e você está assumindo temporariamente o papel do detentor da história canônica durante o "rebase".  Como detentor da história canônica, você precisa ver a história do ramo remoto como `nossa` (ou seja, a "nossa história canônica compartilhada"), enquanto o que você fez do seu lado se ramifica como `deles` (ou seja, "o trabalho de um colaborador no topo dela ").

note: type: Labeled list
en: -b <new_branch>
pt_BR: -b <novo-ramo>

note: type: Plain text
en: Create a new branch named `<new_branch>` and start it at `<start_point>`; see linkgit:git-branch[1] for details.
pt_BR: Crie uma nova ramificação chamada `<new_branch>` e inicie-a em `<start_point>`; para mais detalhes consulte linkgit:git-branch[1].

note: type: Labeled list
en: -B <new_branch>
pt_BR: -B <novo-ramo>

note: type: Plain text
en: Creates the branch `<new_branch>` and start it at `<start_point>`; if it already exists, then reset it to `<start_point>`. This is equivalent to running "git branch" with "-f"; see linkgit:git-branch[1] for details.
pt_BR: Cria o `<novo-ramo>` e inicia no `<ponto-de-partida>`; caso já exista, redefina-o para o `<ponto-de-partida>`. É o mesmo que executar o comando "git branch" com a opção "-f"; para mais detalhes, consulte linkgit:git-branch[1].

note: type: Plain text
en: When creating a new branch, set up "upstream" configuration. See "--track" in linkgit:git-branch[1] for details.
pt_BR: Durante a criação de um novo ramo, defina a configuração do "upstream". Para mais detalhes, consulte "--track" em linkgit:git-branch[1].

note: type: Plain text
en: If no `-b` option is given, the name of the new branch will be derived from the remote-tracking branch, by looking at the local part of the refspec configured for the corresponding remote, and then stripping the initial part up to the "*".  This would tell us to use `hack` as the local branch when branching off of `origin/hack` (or `remotes/origin/hack`, or even `refs/remotes/origin/hack`).  If the given name has no slash, or the above guessing results in an empty name, the guessing is aborted.  You can explicitly give a name with `-b` in such a case.
pt_BR: Caso nenhuma opção `-b` seja utilizada, o nome do novo ramo será derivado do ramo monitorado remotamente, observando a parte local da "refspec" configurada para o ramo remoto correspondente e removendo a parte inicial em seguida para o "*".  Isso nos diria para usar um `hack` como um ramo local ao se ramificar do `origin/hack` (ou `remotes/origin/hack` ou até  mesmo do `refs/remotes/origin/hack`).  Caso o nome informado não tenha barra ou se a dedução acima resultar em um nome vazio, a dedução será abortada.  Em tais casos, é possível dar um nome diretamente usando a opção `-b`.

note: type: Plain text
en: Do not set up "upstream" configuration, even if the `branch.autoSetupMerge` configuration variable is true.
pt_BR: Não configure "upstream" mesmo que a variável de configuração `branch.autoSetupMerge` seja verdadeira.

note: type: Plain text
en: If `<branch>` is not found but there does exist a tracking branch in exactly one remote (call it `<remote>`) with a matching name, treat as equivalent to
pt_BR: Caso o `<ramo>` não seja encontrado mas exista uma ramificação de rastreamento exatamente em uma localidade remota (chame-o <remoto>) que coincida com um nome, trate como equivalente a

note: type: Plain text
en: If the branch exists in multiple remotes and one of them is named by the `checkout.defaultRemote` configuration variable, we'll use that one for the purposes of disambiguation, even if the `<branch>` isn't unique across all remotes. Set it to e.g. `checkout.defaultRemote=origin` to always checkout remote branches from there if `<branch>` is ambiguous but exists on the 'origin' remote. See also `checkout.defaultRemote` in linkgit:git-config[1].
pt_BR: Caso o ramo exista em diversos ramos remotos e um deles seja nomeado pela variável de configuração `checkout.defaultRemote`, para propósitos de desambiguação, mesmo que `<ramo>` não seja o único em todos os outros ramos remotos. Defina como por exemplo, `checkout.defaultRemote=origin` para que sempre verifique as ramificações remotas de lá caso `<ramo>` seja ambíguo e ainda assim `origin` exista. Consulte também `checkout.defaultRemote` em linkgit:git-config[1].

note: type: Plain text
en: Use `--no-guess` to disable this.
pt_BR: Utilize a opção `--no-guess` para desativar.

note: type: Plain text
en: Create the new branch's reflog; see linkgit:git-branch[1] for details.
pt_BR: Crie o reflog da nova ramificação; veja linkgit:git-branch[1] para detalhes.

note: type: Plain text
en: Rather than checking out a branch to work on it, check out a commit for inspection and discardable experiments.  This is the default behavior of `git checkout <commit>` when `<commit>` is not a branch name.  See the "DETACHED HEAD" section below for details.
pt_BR: Em vez de averiguar um ramo para trabalhar nele, verifique um commit para a inspeção e para experimentos que sejam descartáveis.  Este é o comportamento predefinido do comando `git checkout` quando `<commit>`não for um nome do ramo.  Para obter mais detalhes, consulte a seção "HEAD DESANEXADO" abaixo.

note: type: Labeled list
en: --orphan <new_branch>
pt_BR: --orphan <novo-ramo>

note: type: Plain text
en: Create a new 'orphan' branch, named `<new_branch>`, started from `<start_point>` and switch to it.  The first commit made on this new branch will have no parents and it will be the root of a new history totally disconnected from all the other branches and commits.
pt_BR: Crie um novo ramo 'orphan', chamado `<novo-ramo>`, iniciado a partir do `<ponto-de-partida>` e alterne para ele.  O primeiro commit feito neste novo ramo não terá pais e será a raiz de um novo histórico totalmente desconectado de todos os outros ramos e commits.

note: type: Plain text
en: The index and the working tree are adjusted as if you had previously run `git checkout <start_point>`.  This allows you to start a new history that records a set of paths similar to `<start_point>` by easily running `git commit -a` to make the root commit.
pt_BR: O índice e a árvore de trabalho são ajustadas como se você tivesse rodado o comando `git checkout <ponto-de-partida>` antes.  Isto permite que você inicie um novo histórico que registra um conjunto dos caminhos semelhante ao `<ponto-de-partida>` através da execução do comando `git commit -a` para fazer o commit principal.

note: type: Plain text
en: This can be useful when you want to publish the tree from a commit without exposing its full history. You might want to do this to publish an open source branch of a project whose current tree is "clean", but whose full history contains proprietary or otherwise encumbered bits of code.
pt_BR: Isso pode ser útil quando você quer publicar a árvore a partir de um commit sem expor o seu histórico completo. Você pode fazer isso para publicar um ramo de código aberto de um projeto cuja árvore atual esteja "limpa", mas cujo histórico completo contenha pequenos pedaços de código proprietário amontoados.

note: type: Plain text
en: If you want to start a disconnected history that records a set of paths that is totally different from the one of `<start_point>`, then you should clear the index and the working tree right after creating the orphan branch by running `git rm -rf .` from the top level of the working tree.  Afterwards you will be ready to prepare your new files, repopulating the working tree, by copying them from elsewhere, extracting a tarball, etc.
pt_BR: Caso queira iniciar um histórico desconectado que registre um conjunto dos caminhos totalmente diferentes de um dos `<ponto-de-partida>`, limpe o índice e a árvore de trabalho logo após criar o ramo órfão executando o comando `git rm -rf.` Do cume da árvore de trabalho.  Depois, você estará pronto para preparar os seus arquivos novos, populando novamente a árvore de trabalho, copiando-os dos outros lugares, extraindo um tarball, etc.

note: type: Plain text
en: In sparse checkout mode, `git checkout -- <paths>` would update only entries matched by `<paths>` and sparse patterns in `$GIT_DIR/info/sparse-checkout`. This option ignores the sparse patterns and adds back any files in `<paths>`.
pt_BR: É predefinido que no modo de averiguação esparsa, apenas as entradas que sejam coincidentes com `<pathspec>` e com os padrões esparsos em `$GIT_DIR/info/sparse-checkout`. Esta opção ignora os padrões esparsos e os adiciona de volta nos arquivos em `<pathspec>`.

note: type: Plain text
en: When switching branches, if you have local modifications to one or more files that are different between the current branch and the branch to which you are switching, the command refuses to switch branches in order to preserve your modifications in context.  However, with this option, a three-way merge between the current branch, your working tree contents, and the new branch is done, and you will be on the new branch.
pt_BR: Ao fazer a alternância das ramificações, caso haja alterações locais em um ou mais arquivos diferentes entre o ramo atual e o ramo para aonde você está alternando, o comando se recusará a alternar as ramificações, visando preservar as suas alterações dada a circunstância.  Contudo, com esta opção, é feita uma mesclagem de três vias entre o ramo atual, o conteúdo da árvore de trabalho e o novo ramo, fazendo com que você esteja neste novo ramo.

note: type: Plain text
en: When a merge conflict happens, the index entries for conflicting paths are left unmerged, and you need to resolve the conflicts and mark the resolved paths with `git add` (or `git rm` if the merge should result in deletion of the path).
pt_BR: Quando ocorre um conflito durante a mesclagem, as entradas do índice para os caminhos conflitantes não são mesclados, sendo necessário que você resolva os conflitos e marque os caminhos resolvidos com `git add` (ou `git rm` caso a mesclagem resulte na exclusão do caminho) .

note: type: Plain text
en: When checking out paths from the index, this option lets you recreate the conflicted merge in the specified paths.
pt_BR: Ao efetuar a averiguação dos caminhos do índice, essa opção permite recriar a mesclagem conflitante nos caminhos especificados.

note: type: Plain text
en: When switching branches with `--merge`, staged changes may be lost.
pt_BR: Ao alternar as ramificações com `--merge` as alterações que já foram organizadas podem ser perdidas.

note: type: Labeled list
en: --conflict=<style>
pt_BR: --conflict=<estilo>

note: type: Plain text
en: The same as `--merge` option above, but changes the way the conflicting hunks are presented, overriding the `merge.conflictStyle` configuration variable.  Possible values are "merge" (default) and "diff3" (in addition to what is shown by "merge" style, shows the original contents).
pt_BR: O mesmo que a opção `--merge` acima, porém altera a maneira como os blocos conflitantes são apresentados, ao substituir a variável de configuração `merge.conflictStyle`.  Os valores possíveis são `merge` (predefinido) e `diff3` (além do que é exibido através do estilo "merge", exibe os conteúdos originais).

note: type: Plain text
en: Interactively select hunks in the difference between the `<tree-ish>` (or the index, if unspecified) and the working tree.  The chosen hunks are then applied in reverse to the working tree (and if a `<tree-ish>` was specified, the index).
pt_BR: Selecione blocos de forma interativa com a diferença entre o `<tree-ish>` (ou o índice, caso não esteja definido) e a árvore de trabalho.  Os blocos escolhidos são então aplicados em ordem reversa na árvore de trabalho (e caso um `<tree-ish>` foi definido, o índice).

note: type: Plain text
en: This means that you can use `git checkout -p` to selectively discard edits from your current working tree. See the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
pt_BR: Isso significa que você pode usar o `git checkout -p` para descartar seletivamente as edições da sua árvore de trabalho atual. Veja a seção ``Interactive Mode'' do linkgit:git-add[1] para aprender como operar o modo `--patch`.

note: type: Plain text
en: Note that this option uses the no overlay mode by default (see also `--overlay`), and currently doesn't support overlay mode.
pt_BR: Observe que por predefinição esta opção usa o modo sem sobreposição (consulte também `--overlay`), assim como, atualmente também não é compatível com o modo de sobreposição.

note: type: Plain text
en: `git checkout` refuses when the wanted ref is already checked out by another worktree. This option makes it check the ref out anyway. In other words, the ref can be held by more than one worktree.
pt_BR: O comando `git checkout` irá se recusar quando a "ref" desejada já tenha sido averiguada através de uma outra árvore de trabalho. Esta opção faz com que ele averigue a "ref" mesmo assim. Em outras palavras, a "ref" pode ser mantida por mais de uma árvore de trabalho.

note: type: Plain text
en: Silently overwrite ignored files when switching branches. This is the default behavior. Use `--no-overwrite-ignore` to abort the operation when the new branch contains ignored files.
pt_BR: Substitua silenciosamente os arquivos ignorados ao alternar ramificações. Este é o comportamento predefinido. Utilize `--no-overwrite-ignore` para interromper a operação quando o novo ramo contiver os arquivos que foram ignorados.

note: type: Plain text
en: Using `--recurse-submodules` will update the content of all active submodules according to the commit recorded in the superproject. If local modifications in a submodule would be overwritten the checkout will fail unless `-f` is used. If nothing (or `--no-recurse-submodules`)  is used, submodules working trees will not be updated.  Just like linkgit:git-submodule[1], this will detach `HEAD` of the submodule.
pt_BR: O uso da opção `--recurse-submodules` atualizará o conteúdo de todos os submódulos ativos de acordo com commit gravado no superprojeto. Caso as alterações locais em um submódulo forem sobrescritos, a averiguação falhará, a menos que a opção `-f` seja utilizado. Caso nada (ou a opção `--no-recurse-submodules`) seja utilizado, os submódulos que trabalham nas árvores não serão atualizados.  Assim como linkgit:git-submodule[1], isso faz com que o `HEAD` seja desanexando do submódulo.

note: type: Plain text
en: In the default overlay mode, `git checkout` never removes files from the index or the working tree.  When specifying `--no-overlay`, files that appear in the index and working tree, but not in `<tree-ish>` are removed, to make them match `<tree-ish>` exactly.
pt_BR: No modo predefinido de sobreposição, o `git checkout` nunca remove os arquivos do índice ou da árvore de trabalho.  Ao usar `--no-overlay` os arquivos que aparecem no índice e na árvore de trabalho, mas não em `<tree-ish>` são removidos, para fazê-los coincidir exatamente com `<tree-ish>`.

note: type: Labeled list
en: <branch>
pt_BR: <ramo>

note: type: Plain text
en: Branch to checkout; if it refers to a branch (i.e., a name that, when prepended with "refs/heads/", is a valid ref), then that branch is checked out. Otherwise, if it refers to a valid commit, your `HEAD` becomes "detached" and you are no longer on any branch (see below for details).
pt_BR: O ramo que será averiguado; caso se referira a um ramo (ou seja, um nome que, quando anexado com "refs/heads/", seja uma "ref" válida), então este ramo será retirado. Caso contrário, caso tenha referência para um commit inválido, o seu `HEAD` se torna "desanexado" e você não estará mais em qualquer outro ramo (veja mais detalhes abaixo).

note: type: Plain text
en: You can use the `@{-N}` syntax to refer to the N-th last branch/commit checked out using "git checkout" operation. You may also specify `-` which is synonymous to `@{-1}`.
pt_BR: Você pode usar a sintaxe `@{- N}` para se referir ao último ramo/commit finalizado utilizando o comando "git checkout". Também é possível utilizar `-` que é um sinônimo para `@{-1}`.

note: type: Plain text
en: As a special case, you may use `A...B` as a shortcut for the merge base of `A` and `B` if there is exactly one merge base. You can leave out at most one of `A` and `B`, in which case it defaults to `HEAD`.
pt_BR: Como um caso especial, você pode usar `A...B` como um atalho para a mesclagem na base de `A` e` B` se houver exatamente uma base a ser mesclada. Você pode deixar de fora, no máximo, um de `A` e` B`, no caso, a predefinição retorna para `HEAD`.

note: type: Labeled list
en: <new_branch>
pt_BR: <novo-ramo>

note: type: Plain text
en: Name for the new branch.
pt_BR: Nome para o novo branch.

note: type: Labeled list
en: <start_point>
pt_BR: <ponto-de-partida>

note: type: Plain text
en: The name of a commit at which to start the new branch; see linkgit:git-branch[1] for details. Defaults to `HEAD`.
pt_BR: O nome do commit onde o ramo deve iniciar; para mais detalhes consulte linkgit:git-branch[1]. A predefinição retorna para `HEAD`.

note: type: Plain text
en: As a special case, you may use `"A...B"` as a shortcut for the merge base of `A` and `B` if there is exactly one merge base. You can leave out at most one of `A` and `B`, in which case it defaults to `HEAD`.
pt_BR: Como um caso especial, é possível utilizar `"A...B"` como um atalho como uma base para a mesclagem de `A` e `B` caso exista exatamente uma base de merge. Você pode deixar de fora, no máximo, um de `A` e` B`, caso onde a predefinição retorna para `HEAD`.

note: type: Plain text
en: Tree to checkout from (when paths are given). If not specified, the index will be used.
pt_BR: Árvore que será averiguada (quando os caminhos são informados). Caso não seja informado, o índice será usado.

note: type: Plain text
en: Limits the paths affected by the operation.
pt_BR: Limita os caminhos afetados pela operação.

note: type: Plain text
en: For more details, see the 'pathspec' entry in linkgit:gitglossary[7].
pt_BR: Para mais detalhes sobre a sintaxe <pathspec>, veja a entrada 'pathspec' em linkgit:gitglossary[7].

note: type: Title -
en: DETACHED HEAD
pt_BR: HEAD DESANEXADO

note: type: Plain text
en: `HEAD` normally refers to a named branch (e.g. `master`). Meanwhile, each branch refers to a specific commit. Let's look at a repo with three commits, one of them tagged, and with branch `master` checked out:
pt_BR: O `HEAD` normalmente se refere a um determinado ramo (como por exemplo, `master`). Enquanto isso, cada ramo se refere a um commit em específico. Vejamos um repositório com três commits, um deles marcado e com o ramo `master` averiguado:

note: type: delimited block -
en:            HEAD (refers to branch 'master')
                |
                v
    a---b---c  branch 'master' (refers to commit 'c')
        ^
        |
      tag 'v2.0' (refers to commit 'b')
pt_BR:            HEAD (refere-se ao ramo 'master')
                |
                v
    a---b---c  ramo 'master' (refere-se ao commit 'c')
        ^
        |
      tag 'v2.0' (refere-se ao commit 'b')

note: type: Plain text
en: When a commit is created in this state, the branch is updated to refer to the new commit. Specifically, 'git commit' creates a new commit `d`, whose parent is commit `c`, and then updates branch `master` to refer to new commit `d`. `HEAD` still refers to branch `master` and so indirectly now refers to commit `d`:
pt_BR: Quando um commit é criado nest condição, o ramo é atualizado para se referir ao novo commit. Em específico o comando 'git commit' que cria um novo commit `d`, cujo pai é o commit `c`, que atualiza o ramo `master` para ter referência com o novo commit `d`. O `HEAD` ainda se refere ao ramo `master` e agora indiretamente, refere ao commit `d`:

note: type: delimited block -
en: $ edit; git add; git commit
pt_BR: $ editar; git adicionar; git commit

note: type: delimited block -
en:                HEAD (refers to branch 'master')
                    |
                    v
    a---b---c---d  branch 'master' (refers to commit 'd')
        ^
        |
      tag 'v2.0' (refers to commit 'b')
pt_BR:                HEAD (refere-se ao ramo 'master')
                    |
                    v
    a---b---c---d  ramo 'master' (refere-se ao commit 'd')
        ^
        |
      tag 'v2.0' (refere-se ao commit 'b')

note: type: Plain text
en: It is sometimes useful to be able to checkout a commit that is not at the tip of any named branch, or even to create a new commit that is not referenced by a named branch. Let's look at what happens when we checkout commit `b` (here we show two ways this may be done):
pt_BR: Às vezes, é útil poder fazer a averiguação de um commit que não está no topo de qualquer ramo conhecido ou mesmo para criar um novo commit que não seja referenciado por nenhum outro ramo conhecido. Vejamos o que acontece quando fazemos a averiguação do commit `b` (aqui exibimos duas maneiras de faze-lo):

note: type: delimited block -
en: $ git checkout v2.0  # or
    $ git checkout master^^
pt_BR: $ git checkout v2.0  # ou
    $ git checkout master^^

note: type: delimited block -
en:    HEAD (refers to commit 'b')
        |
        v
    a---b---c---d  branch 'master' (refers to commit 'd')
        ^
        |
      tag 'v2.0' (refers to commit 'b')
pt_BR:    HEAD (refere-se ao commit 'b')
        |
        v
    a---b---c---d  ramo 'master' (refere-se ao commit 'd')
        ^
        |
      tag 'v2.0' (refere-se ao commit 'b')

note: type: Plain text
en: Notice that regardless of which checkout command we use, `HEAD` now refers directly to commit `b`. This is known as being in detached `HEAD` state.  It means simply that `HEAD` refers to a specific commit, as opposed to referring to a named branch. Let's see what happens when we create a commit:
pt_BR: Observe que, independente do comando "checkout" utilizado o `HEAD` agora se refere diretamente ao commit `b`. Isso é conhecido como uma condição em desanexo (detached ) do `HEAD`.  Simplesmente significa que o `HEAD` tem referência a um commit em específico em vez de se referir ao nome de um ramo. Vejamos o que acontece quando criamos um commit:

note: type: delimited block -
en:      HEAD (refers to commit 'e')
          |
          v
          e
         /
    a---b---c---d  branch 'master' (refers to commit 'd')
        ^
        |
      tag 'v2.0' (refers to commit 'b')
pt_BR:      HEAD (refere-se ao commit 'e')
          |
          v
          e
         /
    a---b---c---d  ramo 'master' (refere-se ao commit 'd')
        ^
        |
      tag 'v2.0' (refere-se ao commit 'b')

note: type: Plain text
en: There is now a new commit `e`, but it is referenced only by `HEAD`. We can of course add yet another commit in this state:
pt_BR: Agora existe um novo commit `e`, porém a sua referência existe apenas no `HEAD`. Nessa condição fica claro que podemos adicionar mais um commit:

note: type: delimited block -
en: 	 HEAD (refers to commit 'f')
    	  |
    	  v
          e---f
         /
    a---b---c---d  branch 'master' (refers to commit 'd')
        ^
        |
      tag 'v2.0' (refers to commit 'b')
pt_BR: 	 HEAD (refere-se ao commit 'f')
    	  |
    	  v
          e---f
         /
    a---b---c---d  ramo 'master' (refere-se ao commit 'd')
        ^
        |
      tag 'v2.0' (refere-se ao commit 'b')

note: type: Plain text
en: In fact, we can perform all the normal Git operations. But, let's look at what happens when we then checkout `master`:
pt_BR: De fato, podemos executar todas as operações normais do Git. Porém vejamos o que acontece quando fazemos um checkout do `master`:

note: type: delimited block -
en:                HEAD (refers to branch 'master')
          e---f     |
         /          v
    a---b---c---d  branch 'master' (refers to commit 'd')
        ^
        |
      tag 'v2.0' (refers to commit 'b')
pt_BR:                HEAD (refere-se ao ramo 'master')
          e---f     |
         /          v
    a---b---c---d  ramo 'master' (refere-se ao commit 'd')
        ^
        |
      tag 'v2.0' (refere-se ao commit 'b')

note: type: Plain text
en: It is important to realize that at this point nothing refers to commit `f`. Eventually commit `f` (and by extension commit `e`) will be deleted by the routine Git garbage collection process, unless we create a reference before that happens. If we have not yet moved away from commit `f`, any of these will create a reference to it:
pt_BR: É importante perceber que neste momento nada se refere ao commit `f`. Eventualmente o commit `f` (e de tabela o commit `e`) será excluído pelo processo rotineiro da coleta de lixo do Git, antes que isso aconteça é preciso criar uma referência. Se ainda não nos afastamos do commit `f`, qualquer um deles criará uma referência a ele:

note: type: Plain text
en: creates a new branch `foo`, which refers to commit `f`, and then updates `HEAD` to refer to branch `foo`. In other words, we'll no longer be in detached `HEAD` state after this command.
pt_BR: cria uma nova ramificação `foo` com referência ao commit `f`, atualiza HEAD com referência ao ramo `foo`. Isso significa que agora não estamos mais desanexados do `HEAD` após este comando.

note: type: Plain text
en: similarly creates a new branch `foo`, which refers to commit `f`, but leaves `HEAD` detached.
pt_BR: similarmente cria um novo ramo `foo` com referência ao commit `f` deixando `HEAD` desanexado.

note: type: Plain text
en: creates a new tag `foo`, which refers to commit `f`, leaving `HEAD` detached.
pt_BR: cria uma nova tag `foo`com referência ao commit `f` deixando HEAD desanexado.

note: type: Plain text
en: If we have moved away from commit `f`, then we must first recover its object name (typically by using git reflog), and then we can create a reference to it. For example, to see the last two commits to which `HEAD` referred, we can use either of these commands:
pt_BR: Se nos afastamos do commit `f`, primeiro precisamos recuperar o nome do objeto (normalmente utilizando `git reflog`) e em seguida, podemos criar uma referência para ele. Para ver os dois últimos commits aos quais o `HEAD` se refere, podemos usar um destes comandos, por exemplo:

note: type: delimited block -
en: $ git reflog -2 HEAD # or
    $ git log -g -2 HEAD
pt_BR: $ git reflog -2 HEAD # ou
    $ git log -g -2 HEAD

note: type: Title -
en: ARGUMENT DISAMBIGUATION
pt_BR: DESAMBIGUAÇÃO DOS ARGUMENTOS

note: type: Plain text
en: When there is only one argument given and it is not `--` (e.g. `git checkout abc`), and when the argument is both a valid `<tree-ish>` (e.g. a branch `abc` exists) and a valid `<pathspec>` (e.g. a file or a directory whose name is "abc" exists), Git would usually ask you to disambiguate.  Because checking out a branch is so common an operation, however, `git checkout abc` takes "abc" as a `<tree-ish>` in such a situation.  Use `git checkout -- <pathspec>` if you want to checkout these paths out of the index.
pt_BR: Quando há apenas um argumento que não seja `--` (como `git checkout abc`) e quando ambos os argumento `<tree-ish>` são válidos (como a existência do ramo `abc`) e `<pathspec>` também for válido (caso um arquivo ou diretório exista e cujo nome seja "abc" por exemplo), o Git normalmente solicita que você desambigue.  Contudo, como fazer o checkout de uma ramificação é uma operação tão comum, o comando `git checkout abc` considera "abc" nessa situação como `<tree-ish>`.  Utilize `git checkout -- <pathspec>` caso queira eliminar estes caminhos de dentro do índice.

note: type: Plain text
en: The following sequence checks out the `master` branch, reverts the `Makefile` to two revisions back, deletes `hello.c` by mistake, and gets it back from the index.
pt_BR: A sequência a seguir exclui o ramo `master`, reverte o` Makefile` para duas revisões anteriores, exclui o arquivo hello.c por engano e faz a recuperação do índice.

note: type: Plain text
en: switch branch
pt_BR: alternância do ramo

note: type: Plain text
en: take a file out of another commit
pt_BR: tirar um arquivo de um outro commit

note: type: Plain text
en: restore `hello.c` from the index
pt_BR: restaura o arquivo `hello.c` a partir do índice

note: type: Plain text
en: If you want to check out _all_ C source files out of the index, you can say
pt_BR: Caso queira verificar _todos_ os arquivos "*.c" do código-fonte diretamente do índice, você pode utilizar

note: type: Plain text
en: Note the quotes around `*.c`.  The file `hello.c` will also be checked out, even though it is no longer in the working tree, because the file globbing is used to match entries in the index (not in the working tree by the shell).
pt_BR: Observe as aspas em torno de `* .c`.  O arquivo `hello.c` também será retirado, mesmo que não esteja mais na árvore de trabalho, porque o agrupamento dos arquivos é utilizado para coincidir com as entradas no índice (não na árvore de trabalho pelo shell).

note: type: Plain text
en: If you have an unfortunate branch that is named `hello.c`, this step would be confused as an instruction to switch to that branch.  You should instead write:
pt_BR: Caso tenha um ramo chamado `hello.c`, esta etapa será confundida como uma instrução para alternar para este ramo.  Você deve então escrever:

note: type: Plain text
en: After working in the wrong branch, switching to the correct branch would be done using:
pt_BR: Depois de trabalhar no ramo errado, mudar para o ramo correto seria feito utilizando:

note: type: Plain text
en: However, your "wrong" branch and correct `mytopic` branch may differ in files that you have modified locally, in which case the above checkout would fail like this:
pt_BR: No entanto, o seu ramo "errado" e o correto "mytopic" podem diferir nos arquivos modificados localmente por você. Que dessa maneira, a verificação acima falhará assim:

note: type: Plain text
en: You can give the `-m` flag to the command, which would try a three-way merge:
pt_BR: Você pode repassar a opção`-m` ao comando, que tentaria uma mesclagem de três vias:

note: type: Plain text
en: After this three-way merge, the local modifications are _not_ registered in your index file, so `git diff` would show you what changes you made since the tip of the new branch.
pt_BR: Após esta mesclagem de três vias, as alterações locais não serão registradas no seu arquivo do índice, portanto, o `git diff` exibirá quais foram as alterações feitas desde o cume do novo ramo.

note: type: Plain text
en: When a merge conflict happens during switching branches with the `-m` option, you would see something like this:
pt_BR: Quando um conflito de mesclagem acontece durante a troca de branches com a opção `-m`, você veria algo assim:

note: type: Plain text
en: At this point, `git diff` shows the changes cleanly merged as in the previous example, as well as the changes in the conflicted files.  Edit and resolve the conflict and mark it resolved with `git add` as usual:
pt_BR: Neste ponto, o comando `git diff` exibe as alterações mescladas de maneira limpa, como no exemplo anterior, bem como as alterações nos arquivos conflitantes.  Edite e resolva o conflito marcando-o como resolvido através do comando `git add` como de costume:

note: type: Plain text
en: git-check-ref-format - Ensures that a reference name is well formed
pt_BR: git-check-ref-format - Garanta que um nome da referência esteja bem formado

note: type: Plain text
en: Checks if a given 'refname' is acceptable, and exits with a non-zero status if it is not.
pt_BR: Verifica se um determinado 'refnome' é aceitável e sai com um status diferente de zero, se não for.

note: type: Plain text
en: A reference is used in Git to specify branches and tags.  A branch head is stored in the `refs/heads` hierarchy, while a tag is stored in the `refs/tags` hierarchy of the ref namespace (typically in `$GIT_DIR/refs/heads` and `$GIT_DIR/refs/tags` directories or, as entries in file `$GIT_DIR/packed-refs` if refs are packed by `git gc`).
pt_BR: Uma referência é usada no Git para definir as ramificações e as tags.  Um cabeçalho de um ramo é armazenado dentro da hierarquia `refs/heads`, enquanto uma tag é armazenada na hierarquia `refs/tags` do espaço de nomes da ref (geralmente nos diretórios `$GIT_DIR/refs/heads` e no `$GIT_DIR/refs/tags` ou nas entradas do arquivo no `$GIT_DIR/packed-refs` caso a "ref" tenha sido empacotada através do comando `git gc`).

note: type: Plain text
en: Git imposes the following rules on how references are named:
pt_BR: O Git impõe as seguintes regras sobre como as referências são nomeadas:

note: type: Plain text
en: They can include slash `/` for hierarchical (directory)  grouping, but no slash-separated component can begin with a dot `.` or end with the sequence `.lock`.
pt_BR: Eles podem incluir slash `/` para agrupamento hierárquico (diretório),  nenhum componente separado por barras pode começar com um ponto `.` ou terminar com a sequência `.lock`.

note: type: Plain text
en: They must contain at least one `/`. This enforces the presence of a category like `heads/`, `tags/` etc. but the actual names are not restricted.  If the `--allow-onelevel` option is used, this rule is waived.
pt_BR: Eles devem ter pelo menos um `/`. Isto reforça a presença de uma categoria como `heads/`, `tags/` etc. Porém os nomes reais não são restritos.  Caso a opção `--allow-onelevel` seja utilizada, esta regra será dispensada.

note: type: Plain text
en: They cannot have two consecutive dots `..` anywhere.
pt_BR: Eles não podem ter dois pontos consecutivos `..` em qualquer lugar.

note: type: Plain text
en: They cannot have ASCII control characters (i.e. bytes whose values are lower than \040, or \177 `DEL`), space, tilde `~`, caret `^`, or colon `:` anywhere.
pt_BR: Eles não podem ter caracteres de controle ASCII (ou seja, bytes cujos valores são menores que \040, ou \177 `DEL`), espaço, til `~ `, circunflexo `^ `ou dois pontos `: `em qualquer lugar.

note: type: Plain text
en: They cannot have question-mark `?`, asterisk `*`, or open bracket `[` anywhere.  See the `--refspec-pattern` option below for an exception to this rule.
pt_BR: Eles não podem ter ponto de interrogação `?`, asterisco `*`, ou colchete aberto `[` em qualquer lugar.  Consulte a opção `--refspec-pattern` abaixo para uma exceção a esta regra.

note: type: Plain text
en: They cannot begin or end with a slash `/` or contain multiple consecutive slashes (see the `--normalize` option below for an exception to this rule)
pt_BR: Eles não podem iniciar ou terminar com uma barra `/` ou conter múltiplas barras consecutivas (veja a opção `--normalize` abaixo para uma exceção a esta regra)

note: type: Plain text
en: They cannot end with a dot `.`.
pt_BR: Eles não podem terminar com um ponto `.`.

note: type: Plain text
en: They cannot contain a sequence `@{`.
pt_BR: Eles não podem conter uma sequência `@{`.

note: type: Plain text
en: They cannot be the single character `@`.
pt_BR: Eles não podem ser o único caractere `@`.

note: type: Plain text
en: They cannot contain a `\`.
pt_BR: Eles não podem conter um `\`.

note: type: Plain text
en: These rules make it easy for shell script based tools to parse reference names, pathname expansion by the shell when a reference name is used unquoted (by mistake), and also avoid ambiguities in certain reference name expressions (see linkgit:gitrevisions[7]):
pt_BR: Estas regras facilitam para as ferramentas com base em script shell a analise das referências dos nomes, a expansão de um nome do caminho pelo shell quando um nome de referência é utilizado sem aspas (por engano) e também para evitar as ambiguidades em certas expressões dos nomes das referências (consulte linkgit:gitrevisions[7]) :

note: type: Plain text
en: A double-dot `..` is often used as in `ref1..ref2`, and in some contexts this notation means `^ref1 ref2` (i.e. not in `ref1` and in `ref2`).
pt_BR: Um ponto duplo `..` é freqüentemente utilizado como em` ref1..ref2` e, em alguns contextos, essa notação significa `^ref1 ref2` (isto é, não em` ref1` e em `ref2`).

note: type: Plain text
en: A tilde `~` and caret `^` are used to introduce the postfix 'nth parent' and 'peel onion' operation.
pt_BR: Um til `~` e um caractere circunflexo `^` são utilizados para introduzir a operação do postfix 'nth parent' e 'peel onion'.

note: type: Plain text
en: A colon `:` is used as in `srcref:dstref` to mean "use srcref\'s value and store it in dstref" in fetch and push operations.  It may also be used to select a specific object such as with 'git cat-file': "git cat-file blob v1.3.3:refs.c".
pt_BR: Os dois pontos `:` são usados no `srcref:dstref` no sentido de "use o valor do srcref\ e armazene-o no dstref" nas operações "fetch" e "push".  Também para ser usado para selecionar um objeto em específico como com o comando `git cat-file`: "git cat-file blob v1.3.3:refs.c".

note: type: Plain text
en: at-open-brace `@{` is used as a notation to access a reflog entry.
pt_BR: at-open-brace `@{` é utilizado como uma notação para acessar uma entrada de reflog.

note: type: Plain text
en: With the `--branch` option, the command takes a name and checks if it can be used as a valid branch name (e.g. when creating a new branch). But be cautious when using the previous checkout syntax that may refer to a detached HEAD state.  The rule `git check-ref-format --branch $name` implements may be stricter than what `git check-ref-format refs/heads/$name` says (e.g. a dash may appear at the beginning of a ref component, but it is explicitly forbidden at the beginning of a branch name).  When run with `--branch` option in a repository, the input is first expanded for the ``previous checkout syntax'' `@{-n}`.  For example, `@{-1}` is a way to refer the last thing that was checked out using "git switch" or "git checkout" operation.  This option should be used by porcelains to accept this syntax anywhere a branch name is expected, so they can act as if you typed the branch name. As an exception note that, the ``previous checkout operation'' might result in a commit object name when the N-th last thing checked out was not a branch.
pt_BR: Com a opção `--branch`, o comando pega um nome e verifica se ele pode ser utilizado como o nome de um ramo válido (por exemplo, ao criar uma nova ramificação). Mas tenha cuidado ao usar a sintaxe de checkout anterior que pode se referir a um estado `HEAD` desanexado.  A regra que o `git check-ref-format --branch $name` implementa pode ser mais rigorosa do que `git check-ref-format refs/heads/$name` diz (por exemplo, um traço pode aparecer no início de um componente "ref" porém é explicitamente proibido no início do nome de um ramo).  Quando executada com a opção `--branch` em um repositório a entrada é expandida primeiro para ``previous checkout syntax'' `@{-n}`.  Por exemplo, `@{-1}` é uma maneira de consultar a última coisa que foi retirada utilizando a operação "git switch" ou "git checkout".  Essa opção deve ser utilizada pelas porcelanas para aceitar essa sintaxe em qualquer lugar em que um nome do ramo seja esperado para que eles possam agir como se você digitasse o nome do ramo. Como uma exceção observe que a ``operação de checkout anterior" pode resultar em um nome do objeto de commit quando a enésima última coisa verificada não for um ramo.

note: type: Plain text
en: Controls whether one-level refnames are accepted (i.e., refnames that do not contain multiple `/`-separated components).  The default is `--no-allow-onelevel`.
pt_BR: Controla se os refnames com um nível serão aceitos (isto é, refnames que não tenham vários componentes separados por `/`).  A predefinição é `--no-allow-onelevel`.

note: type: Plain text
en: Interpret <refname> as a reference name pattern for a refspec (as used with remote repositories).  If this option is enabled, <refname> is allowed to contain a single `*` in the refspec (e.g., `foo/bar*/baz` or `foo/bar*baz/` but not `foo/bar*/baz*`).
pt_BR: Interprete o <refname> como um padrão do nome para um refspec (conforme é utilizado com os repositórios remotos).  Caso esta opção esteja ativada, o <refname> poderá conter um único `*` no refspec (como por exemplo, `foo/bar*/baz` ou `foo/bar*baz/` mas não `foo/bar*/baz*`).

note: type: Plain text
en: Normalize 'refname' by removing any leading slash (`/`)  characters and collapsing runs of adjacent slashes between name components into a single slash.  If the normalized refname is valid then print it to standard output and exit with a status of 0, otherwise exit with a non-zero status.  (`--print` is a deprecated way to spell `--normalize`.)
pt_BR: Normalize 'refname' removendo quaisquer caracteres iniciais com barra (`/`) e reduzindo as execuções das barras adjacentes entre os nomes dos componentes em uma única barra.  Caso o 'refname' normalizado seja válido, imprima-o na saída padrão e encerre com a condição 0, caso contrário encerre com uma condição diferente de zero.  (a opção `--print` é uma maneira obsoleta de soletrar `--normalize`.)

note: type: Plain text
en: Print the name of the previous thing checked out:
pt_BR: Imprima o nome da coisa anterior registrada:

note: type: delimited block -
en: $ git check-ref-format --branch @{-1}
pt_BR: $ git verifique-o-formato-ref --branch @{-1}

note: type: Plain text
en: Determine the reference name to use for a new branch:
pt_BR: Determine o nome de referência a ser utilizado para uma nova ramificação:

note: type: delimited block -
en: $ ref=$(git check-ref-format --normalize "refs/heads/$newbranch")||
    { echo "we do not like '$newbranch' as a branch name." >&2 ; exit 1 ; }
pt_BR: $ ref=$(git check-ref-format --normalize "refs/heads/$newbranch")||
    { echo "nós não gostamos do '$newbranch' como um nome do ramo." >&2 ; exit 1 ; }

note: type: Plain text
en: git-cherry-pick - Apply the changes introduced by some existing commits
pt_BR: git-cherry-pick - Aplique as alterações introduzidas por alguns commits existentes

note: type: Plain text
en: Given one or more existing commits, apply the change each one introduces, recording a new commit for each.  This requires your working tree to be clean (no modifications from the HEAD commit).
pt_BR: Dado um ou mais commits existentes, aplique a alteração que cada um introduz, registrando um novo commit para cada um.  Isso requer que a sua árvore de trabalho esteja limpa (nenhuma alteração a partir do commit `HEAD`).

note: type: Plain text
en: When it is not obvious how to apply a change, the following happens:
pt_BR: Quando não é óbvio como aplicar uma alteração, acontece o seguinte:

note: type: Plain text
en: The current branch and `HEAD` pointer stay at the last commit successfully made.
pt_BR: O ramo atual e o ponteiro `HEAD` permanecem no último commit realizado com sucesso.

note: type: Plain text
en: The `CHERRY_PICK_HEAD` ref is set to point at the commit that introduced the change that is difficult to apply.
pt_BR: A referência `CHERRY_PICK_HEAD` é configurada para apontar para o commit que introduziu a mudança que é difícil de aplicar.

note: type: Plain text
en: Paths in which the change applied cleanly are updated both in the index file and in your working tree.
pt_BR: Caminhos nos quais a mudança aplicada corretamente são atualizados no arquivo de índice e na sua árvore de trabalho.

note: type: Plain text
en: For conflicting paths, the index file records up to three versions, as described in the "TRUE MERGE" section of linkgit:git-merge[1].  The working tree files will include a description of the conflict bracketed by the usual conflict markers `<<<<<<<` and `>>>>>>>`.
pt_BR: Para os caminhos conflitantes, o arquivo do índice registra até três versões, conforme descrito na seção "MESCLAGEM REAL" do linkgit:git-merge[1].  Os arquivos da árvore de trabalho incluirão uma descrição do conflito entre os marcadores de conflito habituais `<<<<<<<` e `>>>>>>>`.

note: type: Plain text
en: No other modifications are made.
pt_BR: Nenhuma outra modificação é feita.

note: type: Plain text
en: See linkgit:git-merge[1] for some hints on resolving such conflicts.
pt_BR: Veja linkgit:git-merge[1] para algumas dicas sobre como resolver tais conflitos.

note: type: Plain text
en: Commits to cherry-pick.  For a more complete list of ways to spell commits, see linkgit:gitrevisions[7].  Sets of commits can be passed but no traversal is done by default, as if the `--no-walk` option was specified, see linkgit:git-rev-list[1]. Note that specifying a range will feed all <commit>... arguments to a single revision walk (see a later example that uses 'maint master..next').
pt_BR: Faz o commit na escolha seletiva.  Para conhecer uma lista completa das diferentes maneiras de soletrar os nomes dos commits, consulte o comando linkgit:gitrevisions[7]  O conjunto dos commits também podem ser encaminhados porém é predefinido que nenhuma passagem seja feita, consulte o comando linkgit:git-rev-list[1] assim como a sua opção `--no-walk`. Observe que ao definir um argumento para o intervalo, este irá alimentar todos os <commit>... percorrendo apenas uma revisão (mais adiante, consulte um exemplo que utiliza 'maint master..next').

note: type: Plain text
en: With this option, 'git cherry-pick' will let you edit the commit message prior to committing.
pt_BR: Com esta opção, o 'git cherry-pick' permitirá que você edite a mensagem de commit antes de confirmar.

note: type: Labeled list
en: --cleanup=<mode>
pt_BR: --cleanup=<modo>

note: type: Plain text
en: This option determines how the commit message will be cleaned up before being passed on to the commit machinery. See linkgit:git-commit[1] for more details. In particular, if the '<mode>' is given a value of `scissors`, scissors will be appended to `MERGE_MSG` before being passed on in the case of a conflict.
pt_BR: Essa opção define como a mensagem de commit sera limpa antes de ser encaminhada para o maquinário de commit. Para mais detalhes consulte linkgit:git-commit[1]. Em particular, caso o valor '<mode>' tenha um valor de tesoura `scissors`, a tesoura será anexada a `MERGE_MSG` antes de ser repassada no caso de um conflito.

note: type: Plain text
en: When recording the commit, append a line that says "(cherry picked from commit ...)" to the original commit message in order to indicate which commit this change was cherry-picked from.  This is done only for cherry picks without conflicts.  Do not use this option if you are cherry-picking from your private branch because the information is useless to the recipient.  If on the other hand you are cherry-picking between two publicly visible branches (e.g. backporting a fix to a maintenance branch for an older release from a development branch), adding this information can be useful.
pt_BR: Ao gravar o commit, acrescente uma linha que diz "(cherry picked from commit ...)" na mensagem do commit original, indicando de onde a escolha seletiva da alteração deste commit foi feito.  Isto é feito apenas para as escolhas seletivas sem conflitos.  Não use esta opção caso esteja fazendo uma escolha seletiva do seu ramo privado porque a informação é inútil para o destinatário.  No entanto, caso esteja fazendo uma escolha seletiva entre dois ramos publicamente visíveis (como por exemplo, fazendo a atualização retroativa de uma correção para um ramo de manutenção para uma versão de lançamento anterior de um ramo de desenvolvimento), pode ser útil adicionar esta informação.

note: type: Plain text
en: It used to be that the command defaulted to do `-x` described above, and `-r` was to disable it.  Now the default is not to do `-x` so this option is a no-op.
pt_BR: Costumava ser que o comando predefinia para fazer com a opção `-x` descrito acima, e a opção `-r` era para desativá-lo.  Agora a predefinição é não utilizar a opção `-x`, então esta opção não é operacional.

note: type: Plain text
en: Usually you cannot cherry-pick a merge because you do not know which side of the merge should be considered the mainline.  This option specifies the parent number (starting from 1) of the mainline and allows cherry-pick to replay the change relative to the specified parent.
pt_BR: Geralmente você não pode fazer uma escolha seletiva de uma mesclagem porque você não sabe qual o lado da mesclagem principal deve ser considerada.  Esta opção determina o número da origem (a partir de 1) do principal e permite que a escolha seletiva repita a alteração em relação a origem informada.

note: type: Plain text
en: Usually the command automatically creates a sequence of commits.  This flag applies the changes necessary to cherry-pick each named commit to your working tree and the index, without making any commit.  In addition, when this option is used, your index does not have to match the HEAD commit.  The cherry-pick is done against the beginning state of your index.
pt_BR: Normalmente, o comando cria automaticamente uma sequência de commits.  Esta opção aplica as alterações necessárias para selecionar cada commit informada na sua árvore de trabalho e o índice, sem fazer qualquer commit.  Além disso, quando esta opção é utilizada, o seu índice não precisa coincidir ao commit do `HEAD`. A escolha seletiva é feita contra a condição inicial do seu índice.

note: type: Plain text
en: This is useful when cherry-picking more than one commits' effect to your index in a row.
pt_BR: Isso é útil quando você seleciona mais de um efeito de commit para seu índice em uma linha.

note: type: Plain text
en: Add Signed-off-by line at the end of the commit message.  See the signoff option in linkgit:git-commit[1] for more information.
pt_BR: Adicione uma linha de assinatura no final da mensagem do commit.  Para mais informações, consulte a opção 'signoff' em linkgit:git-commit[1].

note: type: Plain text
en: If the current HEAD is the same as the parent of the cherry-pick'ed commit, then a fast forward to this commit will be performed.
pt_BR: Se o atual HEAD é o mesmo que o pai do commit cherry-pick'ed, então um avanço rápido para este commit será executado.

note: type: Plain text
en: By default, cherry-picking an empty commit will fail, indicating that an explicit invocation of `git commit --allow-empty` is required. This option overrides that behavior, allowing empty commits to be preserved automatically in a cherry-pick. Note that when "--ff" is in effect, empty commits that meet the "fast-forward" requirement will be kept even without this option.  Note also, that use of this option only keeps commits that were initially empty (i.e. the commit recorded the same tree as its parent).  Commits which are made empty due to a previous commit are dropped.  To force the inclusion of those commits use `--keep-redundant-commits`.
pt_BR: É predefinido que a escolha seletiva de um commit vazio falhará, indicando que é necessário uma chamada explícita do comando `git commit --allow-empty`. Esta opção substitui este comportamento, permitindo que os commits vazios sejam preservados automaticamente em uma escolha seletiva. Observe que quando "--ff" estiver em vigor, os commits vazios que atendam ao requisito de "avanço rápido" serão mantidos mesmo sem esta opção.  Observe também que o uso desta opção mantém apenas os commits inicialmente estão vazios (ou seja, o commit registrou a mesma árvore que o seu pai).  Os commits que são tornados vazios devido a um commit anterior são descartados.  Para impor a inclusão destes commits, utilize a opção `--keke-redundant-commits`.

note: type: Plain text
en: By default, cherry-picking a commit with an empty message will fail.  This option overrides that behavior, allowing commits with empty messages to be cherry picked.
pt_BR: É predefinido que a escolha seletiva irá falhar quando houver um commit com uma mensagem sem nenhum conteúdo.  Esta opção substitui este comportamento, permitindo que os commits com mensagens sem nenhum conteúdo possam ser usados.

note: type: Plain text
en: If a commit being cherry picked duplicates a commit already in the current history, it will become empty.  By default these redundant commits cause `cherry-pick` to stop so the user can examine the commit. This option overrides that behavior and creates an empty commit object.  Implies `--allow-empty`.
pt_BR: Caso um commit que esteja sendo escolhido seletivamente duplique um commit já no histórico atual, ele ficará vazio.  É predefinido que estes commits redundantes façam com que a escolha seletiva `cherry-pick` pare para que o usuário possa examinar o commit. Esta opção substitui esse comportamento e cria um objeto commit vazio.  implica no uso da opção `--allow-empty`.

note: type: Labeled list
en: --strategy=<strategy>
pt_BR: --strategy=<estratégia>

note: type: Plain text
en: Use the given merge strategy.  Should only be used once.  See the MERGE STRATEGIES section in linkgit:git-merge[1] for details.
pt_BR: Use a estratégia de mesclagem fornecida. Deve ser usado apenas uma vez.  Veja a seção MERGE STRATEGIES em linkgit:git-merge[1] para detalhes.

note: type: Labeled list
en: -X<option>
pt_BR: -X<opção>

note: type: Labeled list
en: --strategy-option=<option>
pt_BR: --strategy-option=<opção>

note: type: Plain text
en: Pass the merge strategy-specific option through to the merge strategy.  See linkgit:git-merge[1] for details.
pt_BR: Encaminhe a um opção específica até a estratégia de mesclagem.  Para mais detalhes, consulte linkgit:git-merge[1].

note: type: Title -
en: SEQUENCER SUBCOMMANDS
pt_BR: SEQUENCER SUBCOMANDOS

note: type: Plain text
en: Apply the change introduced by the commit at the tip of the master branch and create a new commit with this change.
pt_BR: Aplique a mudança introduzida pelo commit na ponta do branch master e crie um novo commit com esta mudança.

note: type: Plain text
en: Apply the changes introduced by all commits that are ancestors of master but not of HEAD to produce new commits.
pt_BR: Aplique as alterações introduzidas por todos os commits que são ancestrais do master, mas não do HEAD para produzir novos commits.

note: type: Labeled list
en: `git cherry-pick maint next ^master`
pt_BR: `git cherry-pick maint próximo ^master`

note: type: Labeled list
en: `git cherry-pick maint master..next`
pt_BR: `git cherry-pick maint master..próximo`

note: type: Plain text
en: Apply the changes introduced by all commits that are ancestors of maint or next, but not master or any of its ancestors.  Note that the latter does not mean `maint` and everything between `master` and `next`; specifically, `maint` will not be used if it is included in `master`.
pt_BR: Aplique as alterações introduzidas por todos os commits que sejam ancestrais do "maint" ou "next", porém não do "master" ou dos seus ancestrais.  Note que o último não significa que `maint` e tudo entre `master` e `next`; especificamente, `maint` não será usado caso esteja incluso no `master`.

note: type: Plain text
en: Apply the changes introduced by the fifth and third last commits pointed to by master and create 2 new commits with these changes.
pt_BR: Aplique as alterações introduzidas pelo quinto e terceiro últimos commits apontados pelo master e crie 2 novos commits com essas mudanças.

note: type: Plain text
en: Apply to the working tree and the index the changes introduced by the second last commit pointed to by master and by the last commit pointed to by next, but do not create any commit with these changes.
pt_BR: Aplique as alterações na árvore de trabalho e no índice que foram introduzidos pelo segundo último commit apontada pelo "master" e pelo último commit apontada pelo próximo, porém não crie nenhum commit com estas alterações.

note: type: Plain text
en: If history is linear and HEAD is an ancestor of next, update the working tree and advance the HEAD pointer to match next.  Otherwise, apply the changes introduced by those commits that are in next but not HEAD to the current branch, creating a new commit for each new change.
pt_BR: Caso o histórico seja linear e `HEAD` seja um ancestral do próximo, atualize a árvore de trabalho e avance o ponteiro `HEAD` para que coincida com o próximo.  Caso contrário, aplique as alterações introduzidas pelos commits que estão na próxima, mas não o `HEAD`para o ramo atual, criando um novo commit para cada nova alteração.

note: type: Plain text
en: Apply the changes introduced by all commits on the master branch that touched README to the working tree and index, so the result can be inspected and made into a single new commit if suitable.
pt_BR: Aplique as alterações introduzidas por todas as confirmações no ramo principal que tocaram no README para a árvore de trabalho e o índice, para que o resultado possa ser inspecionado e transformado em uma única nova confirmação, se adequado.

note: type: Plain text
en: The following sequence attempts to backport a patch, bails out because the code the patch applies to has changed too much, and then tries again, this time exercising more care about matching up context lines.
pt_BR: A seqüência a seguir tenta retroceder um patch, suspender porque o código ao qual o patch se aplica mudou muito e, em seguida, tenta novamente, desta vez exercendo mais cuidado com as linhas de contexto correspondentes.

note: type: Plain text
en: apply the change that would be shown by `git show topic^`.  In this example, the patch does not apply cleanly, so information about the conflict is written to the index and working tree and no new commit results.
pt_BR: aplique a alteração que seria exibido através do comando `git show topic^`.  Neste exemplo, o patch não se aplica de maneira limpa; portanto, as informações sobre os conflitos são gravadas no índice e na árvore de trabalho, sem nenhum resultado do novo commit.

note: type: Plain text
en: summarize changes to be reconciled
pt_BR: resumir as alterações a serem reconciliadas

note: type: Plain text
en: cancel the cherry-pick.  In other words, return to the pre-cherry-pick state, preserving any local modifications you had in the working tree.
pt_BR: cancela a escolha seletiva.  Em outras palavras, retorne a condição de escolha seletiva anterior, preservando as alterações locais que você teve na árvore de trabalho.

note: type: Plain text
en: try to apply the change introduced by `topic^` again, spending extra time to avoid mistakes based on incorrectly matching context lines.
pt_BR: tente aplicar a mudança introduzida por `topic^` novamente, gastando tempo extra para evitar erros baseados em linhas de contexto correspondentes incorretas.

note: type: Plain text
en: git-cherry - Find commits yet to be applied to upstream
pt_BR: git-cherry - Encontre os commits que ainda serão aplicados na upstream

note: type: Plain text
en: 'git cherry' [-v] [<upstream> [<head> [<limit>]]]
pt_BR: 'git cherry' [-v] [<upstream> [<head> [<limite>]]]

note: type: Plain text
en: Determine whether there are commits in `<head>..<upstream>` that are equivalent to those in the range `<limit>..<head>`.
pt_BR: Determine se há commits em `<head>..<upstream>` que são equivalentes àqueles no intervalo `<limite>..<head>`.

note: type: Plain text
en: The equivalence test is based on the diff, after removing whitespace and line numbers.  git-cherry therefore detects when commits have been "copied" by means of linkgit:git-cherry-pick[1], linkgit:git-am[1] or linkgit:git-rebase[1].
pt_BR: O teste de equivalência tem como base no diff, depois de remover os espaços e os números da linha.  O comando 'git-cherry' portanto, detecta quando os commits foram "copiados" por meio do linkgit:git-cherry-pick[1], linkgit:git-am[1] ou linkgit:git-rebase[1].

note: type: Plain text
en: Outputs the SHA1 of every commit in `<limit>..<head>`, prefixed with `-` for commits that have an equivalent in <upstream>, and `+` for commits that do not.
pt_BR: Gera o SHA1 de cada commit em `<limite>..<head>`, prefixado com `-` para os commits que possuam um equivalente no `<upstream>` e `+` para os commits que não tiverem.

note: type: Plain text
en: Show the commit subjects next to the SHA1s.
pt_BR: Exiba os assuntos dos commits ao lado dos SHA1.

note: type: Plain text
en: Upstream branch to search for equivalent commits.  Defaults to the upstream branch of HEAD.
pt_BR: Ramo "upstream" para procurar os commits equivalentes.  A predefinição retorna para o ramo "upstream" do `HEAD`.

note: type: Plain text
en: Working branch; defaults to HEAD.
pt_BR: Ramo de trabalho; A predefinição retorna para `HEAD`.

note: type: Plain text
en: Do not report commits up to (and including) limit.
pt_BR: Não denuncie commits até (e incluindo) limite.

note: type: Title ~
en: Patch workflows
pt_BR: Fluxos de trabalho de patch

note: type: Plain text
en: git-cherry is frequently used in patch-based workflows (see linkgit:gitworkflows[7]) to determine if a series of patches has been applied by the upstream maintainer.  In such a workflow you might create and send a topic branch like this:
pt_BR: A escolha seletiva é frequentemente utilizado nos fluxos de trabalho com base nos patches (consulte linkgit:gitworkflows[7]) para determinar se uma série de patches foi aplicada pelo mantenedor "upstream".  Neste fluxo de trabalho, você pode criar e enviar o tópico de um ramo como este:

note: type: delimited block -
en: $ git checkout -b topic origin/master
    # work and create some commits
    $ git format-patch origin/master
    $ git send-email ... 00*
pt_BR: $ git checkout -b topic origem/master
    # trabalhe e crie alguns commits
    $ git formato-patch origem/master
    $ git send-email ... 00*

note: type: Plain text
en: Later, you can see whether your changes have been applied by saying (still on `topic`):
pt_BR: Mais tarde, você pode ver se suas alterações foram aplicadas dizendo (ainda em `topic`):

note: type: delimited block -
en: $ git fetch  # update your notion of origin/master
    $ git cherry -v
pt_BR: $ git fetch  # atualize sua noção de origem/master
    $ git cherry -v

note: type: Title ~
en: Concrete example
pt_BR: Exemplo concreto

note: type: Plain text
en: In a situation where topic consisted of three commits, and the maintainer applied two of them, the situation might look like:
pt_BR: Em uma situação em que o tópico consistia em três commits e o mantenedor aplicava dois deles, a situação poderia parecer:

note: type: delimited block -
en: $ git log --graph --oneline --decorate --boundary origin/master...topic
    * 7654321 (origin/master) upstream tip commit
    [... snip some other commits ...]
    * cccc111 cherry-pick of C
    * aaaa111 cherry-pick of A
    [... snip a lot more that has happened ...]
    | * cccc000 (topic) commit C
    | * bbbb000 commit B
    | * aaaa000 commit A
    |/
    o 1234567 branch point
pt_BR: $ git log --graph --oneline --decorate --boundary origin/master...topic
    * 7654321 (origin/master) upstream tip commit
    [... ignora alguns outros commits ...]
    * cccc111 cherry-pick of C
    * aaaa111 cherry-pick of A
    [... ignora muito mais do que aconteceu ...]
    | * cccc000 (topic) commit C
    | * bbbb000 commit B
    | * aaaa000 commit A
    |/
    o 1234567 branch point

note: type: Plain text
en: In such cases, git-cherry shows a concise summary of what has yet to be applied:
pt_BR: Nesses casos, o git-cherry exibe um resumo conciso do que ainda precisa ser aplicado:

note: type: Plain text
en: Here, we see that the commits A and C (marked with `-`) can be dropped from your `topic` branch when you rebase it on top of `origin/master`, while the commit B (marked with `+`) still needs to be kept so that it will be sent to be applied to `origin/master`.
pt_BR: Aqui, vemos que os commits A e C (marcados com `-`) podem ser removidos de sua ramificação` topic` quando você rebase em cima de `origidm/master`, enquanto o commit B (marcado com `+`) ainda precisa ser mantido para que seja enviado para ser aplicado a `origem/ master`.

note: type: Title ~
en: Using a limit
pt_BR: Utilizando um limite

note: type: Plain text
en: The optional <limit> is useful in cases where your topic is based on other work that is not in upstream.  Expanding on the previous example, this might look like:
pt_BR: O <limite> opcional é útil nos casos onde o seu tópico é tem como base em outro trabalho que não está na "upstream".  Expandindo o exemplo anterior, isso pode se parecer com:

note: type: delimited block -
en: $ git log --graph --oneline --decorate --boundary origin/master...topic
    * 7654321 (origin/master) upstream tip commit
    [... snip some other commits ...]
    * cccc111 cherry-pick of C
    * aaaa111 cherry-pick of A
    [... snip a lot more that has happened ...]
    | * cccc000 (topic) commit C
    | * bbbb000 commit B
    | * aaaa000 commit A
    | * 0000fff (base) unpublished stuff F
    [... snip ...]
    | * 0000aaa unpublished stuff A
    |/
    o 1234567 merge-base between upstream and topic
pt_BR: $ git log --graph --oneline --decorate --boundary origin/master...topic
    * 7654321 (origin/master) upstream tip commit
    [... ignora alguns outros commits ...]
    * cccc111 cherry-pick of C
    * aaaa111 cherry-pick of A
    [... ignora muito mais do que aconteceu ...]
    | * cccc000 (topic) commit C
    | * bbbb000 commit B
    | * aaaa000 commit A
    | * 0000fff (base) unpublished stuff F
    [... snip ...]
    | * 0000aaa unpublished stuff A
    |/
    o 1234567 merge-base between upstream and topic

note: type: Plain text
en: By specifying `base` as the limit, you can avoid listing commits between `base` and `topic`:
pt_BR: Especificando `base` como limite, você pode evitar listar commits entre` base` e `topic`:

note: type: delimited block -
en: $ git cherry origin/master topic base
    - cccc000... commit C
    + bbbb000... commit B
    - aaaa000... commit A
pt_BR: $ git cherry origem/master base de tópicos
    - cccc000... commit C
    + bbbb000... commit B
    - aaaa000... commit A

note: type: Plain text
en: git-citool - Graphical alternative to git-commit
pt_BR: git-citool - Alternativa gráfica para git-commit

note: type: Plain text
en: A Tcl/Tk based graphical interface to review modified files, stage them into the index, enter a commit message and record the new commit onto the current branch.  This interface is an alternative to the less interactive 'git commit' program.
pt_BR: Uma interface gráfica com base em Tcl/Tk para revisar os arquivos que foram modificados, colocá-los no índice, inserir uma mensagem no commit e registrar o novo commit no ramo atual.  Essa interface é uma alternativa ao programa menos interativo 'git commit'.

note: type: Plain text
en: 'git citool' is actually a standard alias for `git gui citool`.  See linkgit:git-gui[1] for more details.
pt_BR: O comando 'git citool' é um apelido predefinido para o comando `git gui citool`.  Para mais detalhes, consulte linkgit:git-gui[1].

note: type: Plain text
en: git-clean - Remove untracked files from the working tree
pt_BR: git-clean - Remove arquivos não rastreados da árvore de trabalho

note: type: Plain text
en: 'git clean' [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>...
pt_BR: 'git clean' [-d] [-f] [-i] [-n] [-q] [-e <padrão>] [-x | -X] [--] <caminho>...

note: type: Plain text
en: Cleans the working tree by recursively removing files that are not under version control, starting from the current directory.
pt_BR: Limpa a árvore de trabalho removendo recursivamente arquivos que não estão sob controle de versão, iniciando no diretório atual.

note: type: Plain text
en: Normally, only files unknown to Git are removed, but if the `-x` option is specified, ignored files are also removed. This can, for example, be useful to remove all build products.
pt_BR: Normalmente, apenas os arquivos desconhecidos pelo Git são removidos, porém caso a opção `-x` seja utilizada, os arquivos ignorados também serão removidos. Isso pode, por exemplo, ser útil para remover todos os produtos da compilação.

note: type: Plain text
en: If any optional `<path>...` arguments are given, only those paths are affected.
pt_BR: Se algum argumento opcional `<caminho>...` for dado, somente esses caminhos serão afetados.

note: type: Plain text
en: Normally, when no <path> is specified, git clean will not recurse into untracked directories to avoid removing too much.  Specify -d to have it recurse into such directories as well.  If any paths are specified, -d is irrelevant; all untracked files matching the specified paths (with exceptions for nested git directories mentioned under `--force`) will be removed.
pt_BR: Normalmente, quando nenhum <caminho> for definido, o comando 'git clean' não retornará para os diretórios que não são  monitorados para evitar a remoção excessiva.  Utilize `-d` para que ele recorra a estes diretórios também.  Caso algum caminho seja utilizado, o '-d' é irrelevante; todos os arquivos coincidentes não monitorados nos caminhos informados (com exceções para os diretórios git aninhados mencionados sob `--force`) serão removidos.

note: type: Plain text
en: If the Git configuration variable clean.requireForce is not set to false, 'git clean' will refuse to delete files or directories unless given -f or -i.  Git will refuse to modify untracked nested git repositories (directories with a .git subdirectory)  unless a second -f is given.
pt_BR: Se a variável de configuração do Git `clean.requireForce` não estiver definida como 'false', o `git clean` recusará a exclusão de arquivos ou diretórios a menos que seja utilizado a opção `-f` ou `-i`.  O Git se recusará a modificar repositórios git aninhados e sem lastro (diretórios sem um subdiretório .git) a menos que seja dado um segundo -f.

note: type: Plain text
en: Show what would be done and clean files interactively. See ``Interactive mode'' for details.
pt_BR: Exibe o que seria feito e exclua os arquivos interativamente. Para mais detalhes consulte ``modo interativo''.

note: type: Plain text
en: Don't actually remove anything, just show what would be done.
pt_BR: Na verdade, não remova nada, apenas demonstre o que seria feito.

note: type: Plain text
en: Be quiet, only report errors, but not the files that are successfully removed.
pt_BR: Fique quieto, relate somente erros, mas não os arquivos removidos com sucesso.

note: type: Labeled list
en: -e <pattern>
pt_BR: -e <padrão>

note: type: Labeled list
en: --exclude=<pattern>
pt_BR: --exclude=<padrão>

note: type: Plain text
en: Use the given exclude pattern in addition to the standard ignore rules (see linkgit:gitignore[5]).
pt_BR: Utilize o padrão de exclusão informado além das regras de exclusão predefinidas (consulte linkgit:gitignore[5]).

note: type: Plain text
en: Don't use the standard ignore rules (see linkgit:gitignore[5]), but still use the ignore rules given with `-e` options from the command line.  This allows removing all untracked files, including build products.  This can be used (possibly in conjunction with 'git restore' or 'git reset') to create a pristine working directory to test a clean build.
pt_BR: Não utilize as regras de exclusão predefinidas (see linkgit:gitignore[5]), porém continue a usar as regras de exclusão informadas com a opção `-e` na linha de comando.  Isso permite remover todos os arquivos não rastreados, incluindo produtos de compilação.  Isso pode ser utilizado (possivelmente em conjunto com 'git restore' ou 'git reset') para criar um novo diretório de trabalho para testar uma compilação limpa.

note: type: Plain text
en: Remove only files ignored by Git.  This may be useful to rebuild everything from scratch, but keep manually created files.
pt_BR: Remove apenas os arquivos ignorados pelo Git.  Isto pode ser útil para reconstruir tudo do zero, porém mantém os arquivos que foram criados manualmente.

note: type: Title -
en: Interactive mode
pt_BR: Modo interativo

note: type: Plain text
en: When the command enters the interactive mode, it shows the files and directories to be cleaned, and goes into its interactive command loop.
pt_BR: Quando o comando entra no modo interativo, ele exibe os arquivos e os diretórios que serão limpos entrando em seu loop de comando interativo.

note: type: delimited block -
en:     *** Commands ***
    	1: clean                2: filter by pattern    3: select by numbers
    	4: ask each             5: quit                 6: help
        What now> 1
pt_BR:     *** Comandos ***
    	1: limpa                2: filtra através de um padrão    3: seleciona através dos números
    	4: pergunte a cada      5: encerra                        6: ajuda
        Agora o quê> 1

note: type: Plain text
en: You also could say `c` or `clean` above as long as the choice is unique.
pt_BR: Você também poderia dizer `c` ou` clean` acima, desde que a escolha seja única.

note: type: Plain text
en: The main command loop has 6 subcommands.
pt_BR: O laço de comando principal tem 6 subcomandos.

note: type: Labeled list
en: clean
pt_BR: limpar

note: type: Plain text
en: Start cleaning files and directories, and then quit.
pt_BR: Comece limpando arquivos e diretórios e, em seguida, saia.

note: type: Labeled list
en: filter by pattern
pt_BR: filtrar por padrão

note: type: Plain text
en: This shows the files and directories to be deleted and issues an "Input ignore patterns>>" prompt. You can input space-separated patterns to exclude files and directories from deletion.  E.g. "*.c *.h" will excludes files end with ".c" and ".h" from deletion. When you are satisfied with the filtered result, press ENTER (empty) back to the main menu.
pt_BR: Exibe os arquivos e os diretórios que serão excluídos e emite uma mensagem "Entre com os padrões que serão ignorados >>". Você pode inserir os padrões separados por espaço para tirar os arquivos e os diretórios da exclusão.  Como por exemplo, "*.c *.h" removerá os arquivos que terminem com ".c" e ".h" do processo de exclusão. Quando estiver satisfeito com o resultado filtrado, pressione ENTER (e mais nada) para voltar ao menu principal.

note: type: Labeled list
en: select by numbers
pt_BR: seleciona através dos números

note: type: Plain text
en: This shows the files and directories to be deleted and issues an "Select items to delete>>" prompt. When the prompt ends with double '>>' like this, you can make more than one selection, concatenated with whitespace or comma.  Also you can say ranges.  E.g. "2-5 7,9" to choose 2,3,4,5,7,9 from the list.  If the second number in a range is omitted, all remaining items are selected.  E.g. "7-" to choose 7,8,9 from the list.  You can say '*' to choose everything.  Also when you are satisfied with the filtered result, press ENTER (empty) back to the main menu.
pt_BR: Exibe os arquivos e os diretórios que serão excluídos e emite um prompt "Selecione os itens para serem excluídos>>". Quando o prompt terminar com '>>' duplo, será possível fazer mais de uma seleção concatenada com espaço ou vírgula.  Além disso, você pode utilizar intervalos.  Por exemplo. "2-5 7,9" para escolher o 2,3,4,5,7,9 na lista.  Caso o segundo número de um intervalo seja omitido, todos os itens restantes serão selecionados.  Por exemplo. "7-" para escolher o 7,8,9 na lista.  Você pode utilizar '*' para escolher tudo.  Além disso, quando estiver satisfeito com o resultado que foi filtrado, pressione ENTER  para retornar ao menu principal.

note: type: Labeled list
en: ask each
pt_BR: pergunte a cada

note: type: Plain text
en: This will start to clean, and you must confirm one by one in order to delete items. Please note that this action is not as efficient as the above two actions.
pt_BR: Isso inicia a limpeza e você deve confirmar um por um para que os itens possam ser excluídos. Observe que esta ação não é tão eficiente quanto as duas ações acima.

note: type: Labeled list
en: quit
pt_BR: sair

note: type: Plain text
en: This lets you quit without do cleaning.
pt_BR: Isso permite que você saia sem fazer limpeza.

note: type: Labeled list
en: help
pt_BR: ajuda

note: type: Plain text
en: Show brief usage of interactive git-clean.
pt_BR: Exiba uma breve descrição de utilização do `git-clean` interativo.

note: type: Plain text
en: git-clone - Clone a repository into a new directory
pt_BR: git-clone - Clona um repositório em um novo diretório

note: type: Plain text
en: 'git clone' [--template=<template_directory>]
    	  [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
    	  [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
    	  [--dissociate] [--separate-git-dir <git dir>]
    	  [--depth <depth>] [--[no-]single-branch] [--no-tags]
    	  [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]
    	  [--[no-]remote-submodules] [--jobs <n>] [--sparse]
    	  [--filter=<filter>] [--] <repository>
    	  [<directory>]
pt_BR: 'git clone' [--template=<diretório-modelo>]
    	  [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
    	  [-o <nome>] [-b <nome>] [-u <upload-pack>] [--reference <repositório>]
    	  [--dissociate] [--separate-git-dir <dir git>]
    	  [--depth <profundidade>] [--[no-]single-branch] [--no-tags]
    	  [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]
    	  [--[no-]remote-submodules] [--jobs <n>] [--sparse]
    	  [--filter=<filter>] [--] <repositório>
    	  [<diretório>]

note: type: Plain text
en: Clones a repository into a newly created directory, creates remote-tracking branches for each branch in the cloned repository (visible using `git branch --remotes`), and creates and checks out an initial branch that is forked from the cloned repository's currently active branch.
pt_BR: Clona um repositório em um diretório recém-criado, cria o monitoramento remoto dos ramos para cada ramo no repositório clonado (visível utilizando `git branch --remotes`), cria e verifica um ramo inicial que é bifurcado do ramo ativo atualmente do repositório clonado .

note: type: Plain text
en: After the clone, a plain `git fetch` without arguments will update all the remote-tracking branches, and a `git pull` without arguments will in addition merge the remote master branch into the current master branch, if any (this is untrue when "--single-branch" is given; see below).
pt_BR: Após a clonagem, um simples `git fetch` sem argumentos atualizará todas os ramos remotos e um `git pull` sem argumentos irá além disso, fará a mesclagem do ramo 'master' (mestre) remoto no ramo atual caso haja (isso não se torna verdadeiro quando "--single-branch" é utilizado; veja abaixo).

note: type: Plain text
en: This default configuration is achieved by creating references to the remote branch heads under `refs/remotes/origin` and by initializing `remote.origin.url` and `remote.origin.fetch` configuration variables.
pt_BR: Esta configuração predefinida é obtida através da criação de referências nos cabeçalhos das ramificações remotas em `refs/remotos/origem` e inicializando as variáveis de configuração `remote.origin.url` e `remote.origin.fetch`.

note: type: Plain text
en: When the repository to clone from is on a local machine, this flag bypasses the normal "Git aware" transport mechanism and clones the repository by making a copy of HEAD and everything under objects and refs directories.  The files under `.git/objects/` directory are hardlinked to save space when possible.
pt_BR: Quando o repositório que será clonada está em uma máquina local, esta opção ignora o mecanismo de transporte "compatível com Git" normal e clona o repositório fazendo uma cópia do `HEAD` e tudo sob os diretórios dos objetos e das refs.  Os arquivos sob o diretório `.git / objects /` são vinculados para economizar espaço sempre que possível.

note: type: Plain text
en: If the repository is specified as a local path (e.g., `/path/to/repo`), this is the default, and --local is essentially a no-op.  If the repository is specified as a URL, then this flag is ignored (and we never use the local optimizations).  Specifying `--no-local` will override the default when `/path/to/repo` is given, using the regular Git transport instead.
pt_BR: É predefinido que caso o repositório seja definido como um caminho local (`/path/to/repo` por exemplo) e a opção `--local` não seja operacional.  Caso o repositório seja definido como uma URL, então a opção será ignorada (e as otimizações locais nunca serão utilizadas).  Utilizando a opção `--no-local` irá sobrescrever o valor predefinido quando `/path/to/repo` for informado em vez de utilizar o transporte regular do Git.

note: type: Plain text
en: Force the cloning process from a repository on a local filesystem to copy the files under the `.git/objects` directory instead of using hardlinks. This may be desirable if you are trying to make a back-up of your repository.
pt_BR: Impõem o processo de clonagem a partir de um repositório em um sistema de arquivos local para copiar os arquivos no diretório `.git/objects` em vez de utilizar links físicos. Pode ser desejável caso esteja tentando fazer um backup do seu repositório.

note: type: Plain text
en: When the repository to clone is on the local machine, instead of using hard links, automatically setup `.git/objects/info/alternates` to share the objects with the source repository.  The resulting repository starts out without any object of its own.
pt_BR: Quando o repositório que será clonado estiver na máquina local, em vez de utilizar links físicos, configure automaticamente o `.git/objetos/info/alternates` para compartilhar os objetos com o repositório da origem.  O repositório resultante é iniciado sem nenhum objeto próprio.

note: type: Plain text
en: *NOTE*: this is a possibly dangerous operation; do *not* use
    it unless you understand what it does. If you clone your
    repository using this option and then delete branches (or use any
    other Git command that makes any existing commit unreferenced) in the
    source repository, some objects may become unreferenced (or dangling).
    These objects may be removed by normal Git operations (such as `git commit`)
    which automatically call `git gc --auto`. (See linkgit:git-gc[1].)
    If these objects are removed and were referenced by the cloned repository,
    then the cloned repository will become corrupt.
pt_BR: *OBSERVAÇÃO*: provavelmente está uma operação muito perigosa; *não*
    utilize a menos que compreenda o que ela faz. Caso clone o seu
    repositório utilizando esta opção e em seguida exclua os ramos (ou use qualquer
    outro comando Git que faz qualquer commit existente perder a referência) no
    repositório da origem, alguns objetos podem perder a referência (ou ficarem soltos).
    Estes objetos podem ser removidos através das operações normais do Git (como
    `git commit`) que chama automaticamente o comando `git gc --auto`. (Consulte linkgit:git-gc[1].)
    Caso estes objetos sejam removidos e foram referenciados pelo repositório clonado,
    o repositório clonado se tornará corrompido.

note: type: Plain text
en: Note that running `git repack` without the `--local` option in a repository cloned with `--shared` will copy objects from the source repository into a pack in the cloned repository, removing the disk space savings of `clone --shared`.  It is safe, however, to run `git gc`, which uses the `--local` option by default.
pt_BR: Observe que executar o comando `git repack` sem a opção `--local` em um repositório clonado com `--shared`, este irá copiar os objetos do repositório da origem em um pacote no repositório que foi clonado, removendo a economia de espaço em disco do `clone --shared`.  É seguro, no entanto, executar o comando `git gc`, que por predefinição utiliza a opção `--local`.

note: type: Plain text
en: If you want to break the dependency of a repository cloned with `--shared` on its source repository, you can simply run `git repack -a` to copy all objects from the source repository into a pack in the cloned repository.
pt_BR: Caso queira quebrar a dependência de um repositório clonado com `--shared` no seu repositório de origem, você pode simplesmente executar o comando `git repack -a` para copiar todos os objetos do repositório de origem em um pacote dentro do repositório clonado.

note: type: Labeled list
en: --reference[-if-able] <repository>
pt_BR: --reference[-if-able] <repositório>

note: type: Plain text
en: If the reference repository is on the local machine, automatically setup `.git/objects/info/alternates` to obtain objects from the reference repository.  Using an already existing repository as an alternate will require fewer objects to be copied from the repository being cloned, reducing network and local storage costs.  When using the `--reference-if-able`, a non existing directory is skipped with a warning instead of aborting the clone.
pt_BR: Caso o repositório de referência estiver na máquina local, configure automaticamente o arquivo de configuração `.git/objects/info/alternates` para obter os objetos do repositório de referência.  A utilização de um repositório já existente como alternativa, exigirá que menos objetos sejam copiados do repositório que está sendo clonado, reduzindo as despesas do armazenamento local e da rede.  Ao utilizar o comando `--reference-if-able`, um diretório não existente é ignorado com um aviso em vez de interromper a clonagem.

note: type: Plain text
en: *NOTE*: see the NOTE for the `--shared` option, and also the
    `--dissociate` option.
pt_BR: *OBSERVAÇÃO*: consulte a OBSERVAÇÃO para a opção `--shared` e também
    para a opção `--dissociate`.

note: type: Plain text
en: Borrow the objects from reference repositories specified with the `--reference` options only to reduce network transfer, and stop borrowing from them after a clone is made by making necessary local copies of borrowed objects.  This option can also be used when cloning locally from a repository that already borrows objects from another repository--the new repository will borrow objects from the same repository, and this option can be used to stop the borrowing.
pt_BR: Emprestar os objetos dos repositórios a partir da referência utilizada com as opções `--reference` apenas para reduzir a transferência de rede e parar de tomar emprestado deles após a clonagem, fazendo cópias locais necessárias dos objetos emprestados.  Esta opção também pode ser usada na clonagem local a partir de um repositório que já toma emprestado os objetos de um outro repositório--o novo repositório pegará emprestado os objetos do mesmo repositório, e esta opção pode ser usada para interromper o empréstimo.

note: type: Plain text
en: Operate quietly.  Progress is not reported to the standard error stream.
pt_BR: Operate quietly.  O progresso não é relatado para o fluxo de erro predefinido.

note: type: Plain text
en: Run verbosely. Does not affect the reporting of progress status to the standard error stream.
pt_BR: Executa em modo loquaz. Não afera o relatório da condição geral do progresso para o fluxo de erro padrão.

note: type: Plain text
en: Progress status is reported on the standard error stream by default when it is attached to a terminal, unless `--quiet` is specified. This flag forces progress status even if the standard error stream is not directed to a terminal.
pt_BR: A condição do progresso é relatado no padrão do fluxo de erro por padrão quando ele é anexado em um terminal, a menos que `--quiet` seja utilizado. Esta sinalização impõe a condição geral de progresso mesmo que o fluxo de erro predefinido não seja direcionado para um terminal.

note: type: Plain text
en: No checkout of HEAD is performed after the clone is complete.
pt_BR: Nenhum checkout de HEAD é executado após o clone estar completo.

note: type: Plain text
en: Make a 'bare' Git repository.  That is, instead of creating `<directory>` and placing the administrative files in `<directory>/.git`, make the `<directory>` itself the `$GIT_DIR`. This obviously implies the `--no-checkout` because there is nowhere to check out the working tree.  Also the branch heads at the remote are copied directly to corresponding local branch heads, without mapping them to `refs/remotes/origin/`.  When this option is used, neither remote-tracking branches nor the related configuration variables are created.
pt_BR: Faça um repositório Git 'vazio'.  Ou seja, em vez de criar o `<diretório>` e colocar os arquivos administrativos dentro do `<diretório>/.git`, faça com que o próprio `<diretório>` seja o `$ GIT_DIR`. Por questões óbvias, há a obrigatoriedade da utilização da opção `--no-checkout` porque não há onde averiguar a árvore de trabalho.  Além disso os cabeçalhos do ramo remoto são copiados diretamente para os cabeçalhos locais correspondentes, sem mapeá-los para `refs/remotes/origin/`.  Quando essa opção é utilizada, nem as ramificações monitoradas remotamente tão pouco as variáveis de configuração relacionadas à elas são criadas.

note: type: Plain text
en: Initialize the sparse-checkout file so the working directory starts with only the files in the root of the repository. The sparse-checkout file can be modified to grow the working directory as needed.
pt_BR: Inicialize a averiguação esparsa para que o diretório de trabalho comece apenas com os arquivos na raiz do repositório. O arquivo "checkout esparso" pode ser modificado para aumentar o diretório de trabalho conforme a necessidade.

note: type: Plain text
en: Use the partial clone feature and request that the server sends a subset of reachable objects according to a given object filter.  When using `--filter`, the supplied `<filter-spec>` is used for the partial clone filter. For example, `--filter=blob:none` will filter out all blobs (file contents) until needed by Git. Also, `--filter=blob:limit=<size>` will filter out all blobs of size at least `<size>`. For more details on filter specifications, see the `--filter` option in linkgit:git-rev-list[1].
pt_BR: Utilize o recurso parcial de clonagem e solicite que o servidor envie um subconjunto de objetos acessíveis de acordo com determinados filtros do objeto.  Ao utilizar a opção `--filter`, o `<filter-spec>` fornecido é usado para o filtro de clonagem parcial. Como, por exemplo, a opção `--filter=blob:none` irá filtrar todas as bolhas (conteúdo dos arquivos) até que sejam requisitados pelo Git. A opção `--filter=blob:limit=<tamanho>` também filtrará todas as bolhas com o tamanho de pelo menos `<tamanho>`. Para mais detalhes sobre as especificações dos filtros, consulte a opção `--filter` no linkgit:git-rev-list[1].

note: type: Plain text
en: Set up a mirror of the source repository.  This implies `--bare`.  Compared to `--bare`, `--mirror` not only maps local branches of the source to local branches of the target, it maps all refs (including remote-tracking branches, notes etc.) and sets up a refspec configuration such that all these refs are overwritten by a `git remote update` in the target repository.
pt_BR: Configure um espelho do repositório de origem.  Implica no uso da opção `--bare`.  Comparado com a opção `--bare`, `--mirror` não apenas mapeia as ramificações locais da origem para as ramificações locais do destino, ele mapeia todas as refs (incluindo as ramificações monitoradas remotamente, anotações, etc.) e define uma configuração `refspec` onde todas estas `refs` sejam substituídas através um `git remote update` no repositório do destino.

note: type: Labeled list
en: -o <name>
pt_BR: -o <nome>

note: type: Labeled list
en: --origin <name>
pt_BR: --origin <nome>

note: type: Plain text
en: Instead of using the remote name `origin` to keep track of the upstream repository, use `<name>`.
pt_BR: Em vez de utilizar o nome remoto `origin` para acompanhar o repositório "upstream" utilize o `<nome> `.

note: type: Labeled list
en: -b <name>
pt_BR: -b <nome>

note: type: Labeled list
en: --branch <name>
pt_BR: --branch <nome>

note: type: Plain text
en: Instead of pointing the newly created HEAD to the branch pointed to by the cloned repository's HEAD, point to `<name>` branch instead. In a non-bare repository, this is the branch that will be checked out.  `--branch` can also take tags and detaches the HEAD at that commit in the resulting repository.
pt_BR: Em vez de apontar o recém-criado `HEAD` para um ramo apontado pelo `HEAD` do repositório clonado, em vez disso, aponte para o ramo `<nome>`. Em um repositório não vazio, esse é o ramo que será averiguado.  A opção `--branch` também pode pegar as tags e desanexar o `HEAD` daquele commit no repositório resultante.

note: type: Plain text
en: When given, and the repository to clone from is accessed via ssh, this specifies a non-default path for the command run on the other end.
pt_BR: Quando informado e o repositório a ser clonado for acessível através do ssh, determina que seja executado um caminho fora do padrão na outra extremidade.

note: type: Labeled list
en: --template=<template_directory>
pt_BR: --template=<diretório-modelo>

note: type: Plain text
en: Specify the directory from which templates will be used; (See the "TEMPLATE DIRECTORY" section of linkgit:git-init[1].)
pt_BR: Informe o diretório de onde os modelos serão utilizados; (Consulte a seção "DIRETÓRIO MODELO" do linkgit:git-init[1].)

note: type: Labeled list
en: -c <key>=<value>
pt_BR: -c <chave>=<valor>

note: type: Labeled list
en: --config <key>=<value>
pt_BR: --config <chave>=<valor>

note: type: Plain text
en: Set a configuration variable in the newly-created repository; this takes effect immediately after the repository is initialized, but before the remote history is fetched or any files checked out.  The key is in the same format as expected by linkgit:git-config[1] (e.g., `core.eol=true`). If multiple values are given for the same key, each value will be written to the config file. This makes it safe, for example, to add additional fetch refspecs to the origin remote.
pt_BR: Define uma variável de configuração no repositório recém-criado; isso entra em vigor imediatamente após a inicialização do repositório, antes da captura remota do histórico ou da averiguação de quaisquer arquivos.  Como é esperado, a chave está no mesmo formato de linkgit:git-config[1] (ou seja, `core.eol=true`). Caso vários valores sejam informados para a mesma chave, cada valor será gravado no arquivo de configuração. Isso o torna mais seguro para incluir "fetch refspecs" adicionais ao "origin" remoto por exemplo.

note: type: Plain text
en: Due to limitations of the current implementation, some configuration variables do not take effect until after the initial fetch and checkout.  Configuration variables known to not take effect are: `remote.<name>.mirror` and `remote.<name>.tagOpt`.  Use the corresponding `--mirror` and `--no-tags` options instead.
pt_BR: Devido as limitações da implementação atual, algumas variáveis de configuração não entram em vigor até o próximo "fetch" e "checkout".  As variáveis de configuração que são conhecidas por não terem efeito são: `remote.<nome>.mirror` and `remote.<nome>.tagOpt`.  Em vez disso, utilize as opções correspondentes `--mirror` e `--no-tags`.

note: type: Labeled list
en: --depth <depth>
pt_BR: --depth <profundidade>

note: type: Plain text
en: Create a 'shallow' clone with a history truncated to the specified number of commits. Implies `--single-branch` unless `--no-single-branch` is given to fetch the histories near the tips of all branches. If you want to clone submodules shallowly, also pass `--shallow-submodules`.
pt_BR: Crie um clone 'raso' com um histórico truncado para uma quantidade determinada de revisões. Implica no uso da opção `--single-branch` a menos que `--no-single-branch` seja utilizado para resgatar os históricos próximos às pontas de todos os ramos. Caso queira clonar os submódulos superficialmente, utilize também `--shallow-submodules`.

note: type: Plain text
en: Create a shallow clone with a history after the specified time.
pt_BR: Crie um clone superficial com um histórico após o tempo especificado.

note: type: Plain text
en: Create a shallow clone with a history, excluding commits reachable from a specified remote branch or tag.  This option can be specified multiple times.
pt_BR: Crie um clone superficial com um histórico, excluindo os commits acessíveis a partir de um ramo remoto ou tag específica.  Esta opção pode ser utilizada várias vezes.

note: type: Plain text
en: Clone only the history leading to the tip of a single branch, either specified by the `--branch` option or the primary branch remote's `HEAD` points at.  Further fetches into the resulting repository will only update the remote-tracking branch for the branch this option was used for the initial cloning.  If the HEAD at the remote did not point at any branch when `--single-branch` clone was made, no remote-tracking branch is created.
pt_BR: Clone apenas o histórico que leva à ponta de uma única ramificação, especificada pela opção `--branch` ou pelo ramo primário remoto onde `HEAD` aponta.  As outras capturas feitas no repositório resultante, atualizarão apenas as ramificações monitoradas  remotamente onde esta opção foi utilizada para a clonagem inicial.  Caso o `HEAD` remoto não aponte para nenhuma ramificação quando o clone `--single-branch` foi feito, nenhuma ramificação de rastreamento remoto é criado.

note: type: Plain text
en: Don't clone any tags, and set `remote.<remote>.tagOpt=--no-tags` in the config, ensuring that future `git pull` and `git fetch` operations won't follow any tags. Subsequent explicit tag fetches will still work, (see linkgit:git-fetch[1]).
pt_BR: Não clone nenhuma tag e defina `remote.<remoto>.tagOpt=--no-tags` na configuração, garantindo que futuras operações do comando `git pull` e do comando `git fetch` não sigam nenhuma tag. As buscas explícitas subsequentes das tags ainda funcionarão (consulte linkgit:git-fetch[1]).

note: type: Plain text
en: Can be used in conjunction with `--single-branch` to clone and maintain a branch with no references other than a single cloned branch. This is useful e.g. to maintain minimal clones of the default branch of some repository for search indexing.
pt_BR: Pode ser utilizado em conjunto com o `--single-branch` para clonar e manter um ramo sem referências além de um único ramo clonado. É útil para manter uma quantidade mínima dos clones do ramo predefinido de algum repositório para a indexação da pesquisa por exemplo.

note: type: Plain text
en: After the clone is created, initialize and clone submodules within based on the provided pathspec.  If no pathspec is provided, all submodules are initialized and cloned.  This option can be given multiple times for pathspecs consisting of multiple entries.  The resulting clone has `submodule.active` set to the provided pathspec, or "." (meaning all submodules) if no pathspec is provided.
pt_BR: Depois que o clone é criado, inicialize e clone os submódulos com base no `pathspec` informado.  Caso nenhum `pathspec` seja informado, todos serão inicializados e clonados.  Esta opção pode ser utilizada várias vezes para a consulta de diversas entradas `pathspec`.  O clone resultante de `submodule.active` define o pathspec informado ou "." (significa todos os submódulos) caso nenhum pathspec seja provido.

note: type: Plain text
en: Submodules are initialized and cloned using their default settings. This is equivalent to running `git submodule update --init --recursive <pathspec>` immediately after the clone is finished. This option is ignored if the cloned repository does not have a worktree/checkout (i.e. if any of `--no-checkout`/`-n`, `--bare`, or `--mirror` is given)
pt_BR: Os submódulos são inicializados e clonados utilizando as suas respectivas configurações predefinidas. Este é o equivalente a executar o comando `git submodule update --init --recursive <pathspec>` imediatamente após que a clonagem for finalizada. Esta opção é ignorada caso o repositório clonado não tenha uma árvore de trabalho/verificação (ou seja quaisquer dos comandos `--no-checkout`/`-n`, `--bare`, ou `--mirror` seja utilizado)

note: type: Plain text
en: All submodules which are cloned will be shallow with a depth of 1.
pt_BR: Todos os submódulos clonados serão rasos e com uma profundidade 1.

note: type: Plain text
en: All submodules which are cloned will use the status of the submodule's remote-tracking branch to update the submodule, rather than the superproject's recorded SHA-1. Equivalent to passing `--remote` to `git submodule update`.
pt_BR: Todos os submódulos que forem clonados, para realizar a atualização os submódulos usarão a condição remota do ramo do submódulo de rastreamento em vez do SHA-1 registrado no superprojeto. Equivale encaminhar `--remote` para `git submodule update`.

note: type: Labeled list
en: --separate-git-dir=<git dir>
pt_BR: --separate-git-dir=<dir git>

note: type: Plain text
en: Instead of placing the cloned repository where it is supposed to be, place the cloned repository at the specified directory, then make a filesystem-agnostic Git symbolic link to there.  The result is Git repository can be separated from working tree.
pt_BR: Em vez de colocar o repositório clonado onde deveria estar, coloque o repositório clonado no diretório especificado e em seguida, faça um link simbólico Git independente do sistema de arquivos para lá.  O resultado é que o repositório Git pode ser separado da árvore de trabalho.

note: type: Plain text
en: The number of submodules fetched at the same time.  Defaults to the `submodule.fetchJobs` option.
pt_BR: A quantidade de submódulos que foram recuperados ao mesmo tempo.  A predefinição retorna para a opção `submodule.fetchJobs`.

note: type: Labeled list
en: <repository>
pt_BR: <repositório>

note: type: Plain text
en: The (possibly remote) repository to clone from.  See the <<URLS,GIT URLS>> section below for more information on specifying repositories.
pt_BR: Os repositórios que serão clonados (possivelmente remotos).  Consulte a seção <<URLS,GIT URLS>> abaixo para mais informações sobre as especificidades dos repositórios.

note: type: Labeled list
en: <directory>
pt_BR: <diretório>

note: type: Plain text
en: The name of a new directory to clone into.  The "humanish" part of the source repository is used if no directory is explicitly given (`repo` for `/path/to/repo.git` and `foo` for `host.xz:foo/.git`).  Cloning into an existing directory is only allowed if the directory is empty.
pt_BR: O nome de um novo diretório que será clonado.  A parte "humanística" do repositório de origem é utilizada caso nenhum diretório seja explicitamente informado (`repo` para `/path/to/repo.git` e `foo` para `host.xz:foo/.git`).  A clonagem em um diretório existente é permitida apenas caso o diretório esteja vazio.

note: type: Plain text
en: Clone from upstream:
pt_BR: Clonando a partir de um "upstream":

note: type: Plain text
en: Make a local clone that borrows from the current directory, without checking things out:
pt_BR: Faça uma clonagem local que pegue emprestado do diretório atual sem realizar uma averiguação:

note: type: Plain text
en: Clone from upstream while borrowing from an existing local directory:
pt_BR: Clone a partir de um "upstream" enquanto pega emprestado de um diretório local já existente:

note: type: Plain text
en: Create a bare repository to publish your changes to the public:
pt_BR: Crie um repositório simples para publicar as suas alterações para o público:

note: type: Plain text
en: git-column - Display data in columns
pt_BR: git-column - Exibe os dados em colunas

note: type: Plain text
en: 'git column' [--command=<name>] [--[raw-]mode=<mode>] [--width=<width>]
    	     [--indent=<string>] [--nl=<string>] [--padding=<n>]
pt_BR: 'git column' [--command=<nome>] [--[raw-]mode=<modo>] [--width=<largura>]
    	     [--indent=<texto>] [--nl=<texto>] [--padding=<n>]

note: type: Plain text
en: This command formats the lines of its standard input into a table with multiple columns. Each input line occupies one cell of the table. It is used internally by other git commands to format output into columns.
pt_BR: Este comando formata as linhas de sua entrada padrão em uma tabela com várias colunas. Cada linha de entrada ocupa uma célula na tabela. É utilizado internamente por outros comandos git para formatar a saída em colunas.

note: type: Labeled list
en: --command=<name>
pt_BR: --command=<nome>

note: type: Plain text
en: Look up layout mode using configuration variable column.<name> and column.ui.
pt_BR: Consulta o modo de layout utilizando a coluna da variável de configuração column.<nome> e column.ui.

note: type: Labeled list
en: --mode=<mode>
pt_BR: --mode=<modo>

note: type: Plain text
en: Specify layout mode. See configuration variable column.ui for option syntax in linkgit:git-config[1].
pt_BR: Especifica o modo de layout. Veja a variável de configuração `column.ui` para a sintaxe da opção em linkgit:git-config[1].

note: type: Plain text
en: Same as --mode but take mode encoded as a number. This is mainly used by other commands that have already parsed layout mode.
pt_BR: O mesmo que `--mode`, porém usa o modo codificado como um número. Isso é utilizado principalmente por outros comandos que já analisaram o modo de layout.

note: type: Labeled list
en: --width=<width>
pt_BR: --width=<largura>

note: type: Plain text
en: Specify the terminal width. By default 'git column' will detect the terminal width, or fall back to 80 if it is unable to do so.
pt_BR: Especifica a largura do terminal. É predefinido que `git column` detectará a largura do terminal ou voltará ao valor 80 predefinido, caso não seja possível.

note: type: Labeled list
en: --indent=<string>
pt_BR: --indent=<texto>

note: type: Plain text
en: String to be printed at the beginning of each line.
pt_BR: Uma série de caracteres (strings) que serão impressas no inicio de cada linha.

note: type: Plain text
en: String to be printed at the end of each line, including newline character.
pt_BR: Uma série de caracteres a ser impressa no final de cada linha, incluindo caracteres de nova linha.

note: type: Plain text
en: The number of spaces between columns. One space by default.
pt_BR: A quantidade de espaços entre as colunas. A predefinição é um espaço.

note: type: Plain text
en: Format data by columns:
pt_BR: Formata os dados por colunas:

note: type: Plain text
en: Format data by rows:
pt_BR: Formata os dados por linhas:

note: type: Plain text
en: List some tags in a table with unequal column widths:
pt_BR: Liste algumas tags em uma tabela com larguras desiguais das colunas:

note: type: Plain text
en: git-commit-tree - Create a new commit object
pt_BR: git-commit-tree - Cria um novo objeto commit

note: type: Plain text
en: 'git commit-tree' <tree> [(-p <parent>)...]
    'git commit-tree' [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]
    		  [(-F <file>)...] <tree>
pt_BR: 'git commit-tree' <tree> [(-p <origem>)...]
    'git commit-tree' [(-p <origem>)...] [-S[<keyid>]] [(-m <mensagem>)...]
    		  [(-F <arquivo>)...] <árvore>

note: type: Plain text
en: This is usually not what an end user wants to run directly.  See linkgit:git-commit[1] instead.
pt_BR: Normalmente não é o que um usuário final gostaria de usar diretamente.  Em vez disso consulte linkgit:git-commit[1].

note: type: Plain text
en: Creates a new commit object based on the provided tree object and emits the new commit object id on stdout. The log message is read from the standard input, unless `-m` or `-F` options are given.
pt_BR: Cria um novo objeto commit com base no objeto da árvore informada e emite a nova ID do objeto commit no stdout. A mensagem do registro log é lido na entrada padrão a não ser que as opções `-m` ou `-F` sejam utilizadas.

note: type: Plain text
en: The `-m` and `-F` options can be given any number of times, in any order. The commit log message will be composed in the order in which the options are given.
pt_BR: As opções `-m` e `-F` podem ser utilizadas várias vezes e em qualquer ordem. A mensagem do registro log do commit será composta na ordem em que as opções forem utilizadas.

note: type: Plain text
en: A commit object may have any number of parents. With exactly one parent, it is an ordinary commit. Having more than one parent makes the commit a merge between several lines of history. Initial (root)  commits have no parents.
pt_BR: Um objeto commit pode ter uma quantidade qualquer de pais. Com exatamente um pai, é um commit comum. Ter mais de um pai torna o commit uma mesclagem entre as várias linhas do histórico. As confirmações iniciais (raiz) não têm pais.

note: type: Plain text
en: While a tree represents a particular directory state of a working directory, a commit represents that state in "time", and explains how to get there.
pt_BR: Enquanto uma árvore representa a condição de um diretório de trabalho em específico, um commit representa esta condição em "hora" e explica como chegar até lá.

note: type: Plain text
en: Normally a commit would identify a new "HEAD" state, and while Git doesn't care where you save the note about that state, in practice we tend to just write the result to the file that is pointed at by `.git/HEAD`, so that we can always see what the last committed state was.
pt_BR: Normalmente, um commit identifica uma nova condição "HEAD" e embora o Git não se importe onde você salva a nota sobre esse estado, na prática, tendemos apenas a escrever o resultado no arquivo apontado por `.git / HEAD` para que possamos sempre ver como estava a última condição do commit.

note: type: Labeled list
en: <tree>
pt_BR: <árvore>

note: type: Plain text
en: An existing tree object.
pt_BR: Um objeto árvore já existente.

note: type: Labeled list
en: -p <parent>
pt_BR: -p <origem>

note: type: Plain text
en: Each `-p` indicates the id of a parent commit object.
pt_BR: Cada `-p` indica o id de uma origem do objeto commit.

note: type: Labeled list
en: -m <message>
pt_BR: -m <mensagem>

note: type: Plain text
en: A paragraph in the commit log message. This can be given more than once and each <message> becomes its own paragraph.
pt_BR: Um parágrafo no registro log da mensagem de commit. Isto pode ser usado mais de uma vez, e cada <mensagem> se torna o seu próprio parágrafo.

note: type: Labeled list
en: -F <file>
pt_BR: -F <arquivo>

note: type: Plain text
en: Read the commit log message from the given file. Use `-` to read from the standard input. This can be given more than once and the content of each file becomes its own paragraph.
pt_BR: Leia a mensagem do registro log do commit de um arquivo informado. Utilize `-` para ler a entrada padrão. Isso pode ser dado mais de uma vez e o conteúdo de cada arquivo se torna seu próprio parágrafo.

note: type: Plain text
en: GPG-sign commits. The `keyid` argument is optional and defaults to the committer identity; if specified, it must be stuck to the option without a space. `--no-gpg-sign` is useful to countermand a `--gpg-sign` option given earlier on the command line.
pt_BR: Commits assinados com o GPG O argumento `keyid` é opcional e a predefinição retorna para a identidade de quem fez o commit; se utilizado, deve estar anexado a opção sem espaço. `--no-gpg-sign` is useful to countermand a `--gpg-sign` option given earlier on the command line.

note: type: Title -
en: Commit Information
pt_BR: Informação do commit

note: type: Plain text
en: A commit encapsulates:
pt_BR: Os encapsulamentos de um commit:

note: type: Plain text
en: all parent object ids
pt_BR: ids de todos os objetos da origem

note: type: Plain text
en: author name, email and date
pt_BR: nome do autor, email e data

note: type: Plain text
en: committer name and email and the commit time.
pt_BR: nome e o endereço de email da pessoa que faz o commit e o momento em que foi feito.

note: type: Plain text
en: A commit comment is read from stdin. If a changelog entry is not provided via "<" redirection, 'git commit-tree' will just wait for one to be entered and terminated with ^D.
pt_BR: Um comentário de um commit é lido no stdin. Se uma entrada no changelog não for informada através do redirecionamento "<", o comando `git commit-tree` esperará apenas que um seja inserido e termine com um '^D'.

note: type: Title -
en: Discussion
pt_BR: Discussão

note: type: Title -
en: FILES
pt_BR: ARQUIVOS

note: type: Plain text
en: git-commit - Record changes to the repository
pt_BR: git-commit - Grava as alterações feitas no repositório

note: type: Plain text
en: 'git commit' [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]
    	   [--dry-run] [(-c | -C | --fixup | --squash) <commit>]
    	   [-F <file> | -m <msg>] [--reset-author] [--allow-empty]
    	   [--allow-empty-message] [--no-verify] [-e] [--author=<author>]
    	   [--date=<date>] [--cleanup=<mode>] [--[no-]status]
    	   [-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]
    	   [-S[<keyid>]] [--] [<pathspec>...]
pt_BR: 'git commit' [-a | --interactive | --patch] [-s] [-v] [-u<modo>] [--amend]
    	   [--dry-run] [(-c | -C | --fixup | --squash) <commit>]
    	   [-F <arquivo> | -m <msg>] [--reset-author] [--allow-empty]
    	   [--allow-empty-message] [--no-verify] [-e] [--author=<autor>]
    	   [--date=<data>] [--cleanup=<modo>] [--[no-]status]
    	   [-i | -o] [--pathspec-from-file=<arquivo> [--pathspec-file-nul]]
    	   [-S[<keyid>]] [--] [<pathspec>...]

note: type: Plain text
en: Create a new commit containing the current contents of the index and the given log message describing the changes. The new commit is a direct child of HEAD, usually the tip of the current branch, and the branch is updated to point to it (unless no branch is associated with the working tree, in which case HEAD is "detached" as described in linkgit:git-checkout[1]).
pt_BR: Cria um novo commit que tenha todos os conteúdos atuais do índice e a mensagem informada no registro log descrevendo as alterações. Um novo commit é um herdeiro direto do `HEAD` que em geral é o topo do ramo atual e o ramo é atualizado para apontar para ele (a menos que nenhum ramo seja associado com a árvore de trabalho onde no caso o `HEAD` esteja desanexado como descrito em linkgit:git-checkout[1]).

note: type: Plain text
en: The content to be committed can be specified in several ways:
pt_BR: O conteúdo a ser feito o commit pode ser definido de diferente maneiras:

note: type: Plain text
en: by using linkgit:git-add[1] to incrementally "add" changes to the index before using the 'commit' command (Note: even modified files must be "added");
pt_BR: ao usar linkgit:git-add[1] para ir incrementando mudanças com "add" para o índice antes de usar o comando (Nota: devem ser "adicionados" até mesmo os arquivos modificados);

note: type: Plain text
en: by using linkgit:git-rm[1] to remove files from the working tree and the index, again before using the 'commit' command;
pt_BR: ao usar linkgit:git-rm[1] para remover os arquivos da árvore de trabalho em do índice, novamente, antes de usar o comando 'commit';

note: type: Plain text
en: by listing files as arguments to the 'commit' command (without --interactive or --patch switch), in which case the commit will ignore changes staged in the index, and instead record the current content of the listed files (which must already be known to Git);
pt_BR: ao listar os arquivos como argumentos para o comando 'commit' (sem usar as opções --interactive ou --patch), nesse caso, o commit ignorará as alterações organizadas no índice e em vez disso registrará o conteúdo atual dos arquivos listados (que já devem ser informados pelo Git );

note: type: Plain text
en: by using the -a switch with the 'commit' command to automatically "add" changes from all known files (i.e. all files that are already listed in the index) and to automatically "rm" files in the index that have been removed from the working tree, and then perform the actual commit;
pt_BR: ao usar a opção -a com o comando 'commit' para "adicionar" automaticamente as alterações de todos os arquivos informados (ou seja, todos os arquivos que já estão listados no índice) e "rm" para remover os arquivos automaticamente da árvore de trabalho e assim executar o commit de fato;

note: type: Plain text
en: by using the --interactive or --patch switches with the 'commit' command to decide one by one which files or hunks should be part of the commit in addition to contents in the index, before finalizing the operation. See the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate these modes.
pt_BR: usando as opções `--interactive` ou `--patch` com o comando 'commit' para decidir um por um quais os arquivos ou os blocos devem fazer parte do commit além do conteúdo do índice, antes de finalizar a operação. Consulte a seção ``Modo Interativo'' do linkgit:git-add[1] para aprender como operar estes modos.

note: type: Plain text
en: The `--dry-run` option can be used to obtain a summary of what is included by any of the above for the next commit by giving the same set of parameters (options and paths).
pt_BR: A opção `--dry-run` pode ser utilizada para obter um resumo do que está incluído em qualquer uma das opções acima para o próximo commit, fornecendo o mesmo conjunto de parâmetros (opções e caminhos).

note: type: Plain text
en: If you make a commit and then find a mistake immediately after that, you can recover from it with 'git reset'.
pt_BR: Caso faça um commit e imediatamente encontre um erro logo em seguida, é possível recuperá-lo com o comando 'git reset'.

note: type: Plain text
en: Tell the command to automatically stage files that have been modified and deleted, but new files you have not told Git about are not affected.
pt_BR: Diz ao comando para preparar automaticamente os arquivos que foram modificados e excluídos, porém os novos arquivos que você não informou ao Git não são afetados.

note: type: Plain text
en: Use the interactive patch selection interface to chose which changes to commit. See linkgit:git-add[1] for details.
pt_BR: Utilize a interface interativa do patch para selecionar quais as alterações serão aplicadas ao commit. Para mais detalhes, consulte linkgit:git-add[1].

note: type: Plain text
en: Take an existing commit object, and reuse the log message and the authorship information (including the timestamp)  when creating the commit.
pt_BR: Pega um objeto commit existente e o reutiliza na mensagem do registro log, assim como as informações da autoria (incluindo o registro de data e hora)  durante a criação de um commit.

note: type: Plain text
en: Like '-C', but with `-c` the editor is invoked, so that the user can further edit the commit message.
pt_BR: Como `-C`, porém com `-c` o editor é chamado para que o usuário possa editar ainda mais a mensagem do commit.

note: type: Plain text
en: Construct a commit message for use with `rebase --autosquash`.  The commit message will be the subject line from the specified commit with a prefix of "fixup! ".  See linkgit:git-rebase[1] for details.
pt_BR: Constrói a mensagem de um commit para utilizar com `rebase --autosquash`.  A mensagem do commit será o assunt da linha a partir de um determinado commit com um prefixo "fixup! ".  Para mais detalhes, consulte linkgit:git-rebase[1].

note: type: Plain text
en: Construct a commit message for use with `rebase --autosquash`.  The commit message subject line is taken from the specified commit with a prefix of "squash! ".  Can be used with additional commit message options (`-m`/`-c`/`-C`/`-F`). See linkgit:git-rebase[1] for details.
pt_BR: Constrói a mensagem de um commit para utilizar com `rebase --autosquash`.  A linha do assunto da mensagem do commit é retirada de um determinado commit com um prefixo "squash! ".  Pode ser usado com as opções adicionais das mensagens dos commits (`-m`/`-c`/`-C`/`-F`). Para mais detalhes, consulte linkgit:git-rebase[1].

note: type: Plain text
en: When used with -C/-c/--amend options, or when committing after a conflicting cherry-pick, declare that the authorship of the resulting commit now belongs to the committer. This also renews the author timestamp.
pt_BR: Quando utilizado com as opções '-C/-c/--amend', ou ao fazer o commit após uma escolha seletiva conflitante, declare que a autoria do commit resultante agora pertence a quem fez o commit. Isso também renova o registro de data e hora do autor.

note: type: Plain text
en: When doing a dry-run, give the output in the short-format. See linkgit:git-status[1] for details. Implies `--dry-run`.
pt_BR: Ao executar um ensaio, informe a saída no formato curto. Para mais detalhes, consulte linkgit:git-status[1]. Implica no uso da opção `--dry-run`.

note: type: Plain text
en: Show the branch and tracking info even in short-format.
pt_BR: Exibe o ramo e a informação de rastreio quando estiver em formato curto.

note: type: Plain text
en: When doing a dry-run, give the output in a porcelain-ready format. See linkgit:git-status[1] for details. Implies `--dry-run`.
pt_BR: Ao executar um ensaio, informe a saída no formato porcelana. Para mais detalhes, consulte linkgit:git-status[1]. Implica no uso da opção `--dry-run`.

note: type: Plain text
en: When doing a dry-run, give the output in the long-format.  Implies `--dry-run`.
pt_BR: Ao executar um ensaio, informe a saída no formato curto.  Implica no uso da opção `--dry-run`.

note: type: Plain text
en: When showing `short` or `porcelain` status output, print the filename verbatim and terminate the entries with NUL, instead of LF.  If no format is given, implies the `--porcelain` output format.  Without the `-z` option, filenames with "unusual" characters are quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]).
pt_BR: Ao exibir a condição de saída `short` ou `porcelain`, imprima o nome do arquivo literalmente e termine as entradas com um `NUL`, em vez do `LF`.  Caso nenhum formato de saída seja informado, implica no uso da opção `--porcelain`.  Sem a opção `-z`, os nomes dos arquivos com caracteres "incomuns" serão citados conforme explicado nas variáveis de configuração `core.quotePath` (consulte linkgit:git-config[1]).

note: type: Labeled list
en: --file=<file>
pt_BR: --file=<arquivo>

note: type: Plain text
en: Take the commit message from the given file.  Use '-' to read the message from the standard input.
pt_BR: Pega a mensagem de commit vindo de um determinado arquivo.  Utilize '-' para ler a mensagem da entrada padrão.

note: type: Labeled list
en: --author=<author>
pt_BR: --author=<autor>

note: type: Plain text
en: Override the commit author. Specify an explicit author using the standard `A U Thor <author@example.com>` format. Otherwise <author> is assumed to be a pattern and is used to search for an existing commit by that author (i.e. rev-list --all -i --author=<author>); the commit author is then copied from the first such commit found.
pt_BR: Sobrescreva o commit do autor. Defina o autor de forma explicita usando o formato padrão `Chiquinha <chiquinha@examplo.com>`. Caso contrário, assume-se que a predefinição seja <autor> que é usado para localizar um commit já existente feito através deste autor (ou seja, `rev-list --all -i --author=<autor>`); o autor do commit é copiado a partir do primeiro commit que for encontrado.

note: type: Labeled list
en: --date=<date>
pt_BR: --date=<data>

note: type: Plain text
en: Override the author date used in the commit.
pt_BR: Substitua a data do autor que foi utilizada no commit.

note: type: Plain text
en: Use the given <msg> as the commit message.  If multiple `-m` options are given, their values are concatenated as separate paragraphs.
pt_BR: Usa a <msg> como a mensagem de commit.  Caso múltiplas opções `-m` sejam usadas, o seu conteúdo será disposto em parágrafos separados.

note: type: Plain text
en: The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.
pt_BR: A opção `-m` é utilizado em conjunto exclusivamente com `-c`, `-C` e `-F`.

note: type: Labeled list
en: -t <file>
pt_BR: -t <arquivo>

note: type: Labeled list
en: --template=<file>
pt_BR: --template=<arquivo>

note: type: Plain text
en: When editing the commit message, start the editor with the contents in the given file.  The `commit.template` configuration variable is often used to give this option implicitly to the command.  This mechanism can be used by projects that want to guide participants with some hints on what to write in the message in what order.  If the user exits the editor without editing the message, the commit is aborted.  This has no effect when a message is given by other means, e.g. with the `-m` or `-F` options.
pt_BR: Ao editar a mensagem do commit, inicie o editor com o conteúdo do arquivo informado.  A variável de configuração `commit.template` é frequentemente utilizada para fornecer esta opção de forma implícita ao comando.  Esse mecanismo pode ser utilizado por projetos que desejam orientar os participantes com algumas dicas sobre o que escrever na mensagem e em qual ordem.  Aborte o commit caso o usuário saia do editor sem editar a mensagem.  Não qualquer efeito quando uma mensagem é dada por outros meios, por exemplo, com as opções `-m` ou `-F`.

note: type: Plain text
en: Add Signed-off-by line by the committer at the end of the commit log message.  The meaning of a signoff depends on the project, but it typically certifies that committer has the rights to submit this work under the same license and agrees to a Developer Certificate of Origin (see http://developercertificate.org/ for more information).
pt_BR: Adicionar uma linha assinado pela pessoa que fez o commit no final do registro log do commit assinado.  O significado de uma aprovação depende do projeto, porém normalmente certifica que a pessoa que fez o commit tem o direito de enviar este trabalho sob a mesma licença e concorda com um Certificado de Origem do Desenvolvedor (consulte http://developercertificate.org/ para obter mais informações).

note: type: Plain text
en: This option bypasses the pre-commit and commit-msg hooks.  See also linkgit:githooks[5].
pt_BR: Esta opção ignora os ganchos dos commits anteriores e os ganchos das mensagens de commit.  Consulte também linkgit:githooks[5].

note: type: Plain text
en: Usually recording a commit that has the exact same tree as its sole parent commit is a mistake, and the command prevents you from making such a commit.  This option bypasses the safety, and is primarily for use by foreign SCM interface scripts.
pt_BR: Geralmente, ao gravar um commit que tenha exatamente a mesma árvore como se fosse a sua origem, é um erro, o comando impede que você faça um commit desta natureza.  Esta opção ignora a segurança e deve ser utilizada principalmente por scripts SCM externos.

note: type: Plain text
en: Like --allow-empty this command is primarily for use by foreign SCM interface scripts. It allows you to create a commit with an empty commit message without using plumbing commands like linkgit:git-commit-tree[1].
pt_BR: Como a opção `--allow-empty`, este comando é principalmente para uso por scripts de interface SCM externos. Permite criar um commit com uma mensagem vazia sem usar os comandos de "encanamento" como linkgit:git-commit-tree[1].

note: type: Plain text
en: This option determines how the supplied commit message should be cleaned up before committing.  The '<mode>' can be `strip`, `whitespace`, `verbatim`, `scissors` or `default`.
pt_BR: Esta opção determina como a mensagem que foi informada ao commit deve ser limpa antes do commit ser feito.  O '<modo>' pode ser `strip`, `whitespace`, `verbatim`, `scissors` ou `default`.

note: type: Labeled list
en: strip
pt_BR: strip (tirar/remover)

note: type: Plain text
en: Strip leading and trailing empty lines, trailing whitespace, commentary and collapse consecutive empty lines.
pt_BR: Retira as linhas vazias no inicio e no final, e os rastros dos espaços finais, os comentários e reduza as linhas vazias consecutivamente.

note: type: Labeled list
en: whitespace
pt_BR: whitespace (espaço)

note: type: Plain text
en: Same as `strip` except #commentary is not removed.
pt_BR: O mesmo que `strip`, exceto que o `#comentário` não é removido.

note: type: Labeled list
en: verbatim
pt_BR: verbatim (íntegra)

note: type: Plain text
en: Do not change the message at all.
pt_BR: Não altera a mensagem de forma alguma.

note: type: Labeled list
en: scissors
pt_BR: scissors (tesouras)

note: type: Plain text
en: Same as `whitespace` except that everything from (and including)  the line found below is truncated, if the message is to be edited.  "`#`" can be customized with core.commentChar.
pt_BR: O mesmo que `whitespace` (espaço), exceto que tudo incluindo a linha encontrada abaixo seja truncada caso a mensagem precise ser editada.  "`#`" pode ser personalizada com `core.commentChar`.

note: type: Plain text
en: Same as `strip` if the message is to be edited.  Otherwise `whitespace`.
pt_BR: O mesmo que `strip` caso a mensagem esteja para ser editada.  Caso contrário, `whitespace` (espaço).

note: type: Plain text
en: The default can be changed by the `commit.cleanup` configuration variable (see linkgit:git-config[1]).
pt_BR: A predefinição pode ser alterada através da variável de configuração `commit.cleanup` (consulte linkgit:git-config[1]).

note: type: Plain text
en: The message taken from file with `-F`, command line with `-m`, and from commit object with `-C` are usually used as the commit log message unmodified. This option lets you further edit the message taken from these sources.
pt_BR: A mensagem obtida do arquivo com a opção `-F`, da linha de comando com a opção `-m` e do objeto commit com `C` é normalmente utilizada como a mensagem de registro log do commit não modificado. Esta opção permite editar ainda mais a mensagem retirada destas fontes.

note: type: Plain text
en: Use the selected commit message without launching an editor.  For example, `git commit --amend --no-edit` amends a commit without changing its commit message.
pt_BR: Utilize a mensagem do commit selecionado sem rodar um editor.  Por exemplo, `git commit --amend --no-edit` altera um commit sem alterar o conteúdo da mensagem do mesmo.

note: type: Plain text
en: Replace the tip of the current branch by creating a new commit. The recorded tree is prepared as usual (including the effect of the `-i` and `-o` options and explicit pathspec), and the message from the original commit is used as the starting point, instead of an empty message, when no other message is specified from the command line via options such as `-m`, `-F`, `-c`, etc.  The new commit has the same parents and author as the current one (the `--reset-author` option can countermand this).
pt_BR: Substitua o cume do ramo atual criando um novo commit. A árvore gravada é preparada como de costume (incluindo a aplicação das opções `-i` e `-o`; e `pathspec` explicitamente), a mensagem do commit original é utilizada como um ponto de partida, em vez de uma mensagem vazia. Quando nenhuma outra mensagem é utilizada na linha de comando através de opções como `-m`, `-F`, `-c`, etc. O novo commit possuirá as mesmas origens e seu respectivo autor como o atual (a opção `--reset-author` pode ser utilizada para mudar isso).

note: type: Plain text
en: It is a rough equivalent for:
pt_BR: É grosseiramente um equivalente para:

note: type: delimited block -
en: 	$ git reset --soft HEAD^
    	$ ... do something else to come up with the right tree ...
    	$ git commit -c ORIG_HEAD
pt_BR: 	$ git reset --soft HEAD^
    	$ ... faça qualquer outra coisa para encontrar a árvore certa ...
    	$ git commit -c ORIG_HEAD

note: type: Plain text
en: but can be used to amend a merge commit.
pt_BR: mas pode ser utilizado para corrigir a mesclagem de um commit.

note: type: Plain text
en: You should understand the implications of rewriting history if you amend a commit that has already been published.  (See the "RECOVERING FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].)
pt_BR: Você deve entender as implicações de sobrescrever o histórico caso corrija um commit que já tenha sido publicado.  (Consulte a seção "RECUPERANDO DO UPSTREAM REBASE" no linkgit:git-rebase[1].)

note: type: Plain text
en: Bypass the post-rewrite hook.
pt_BR: Ignore o gancho de reescrita de postagem.

note: type: Plain text
en: Before making a commit out of staged contents so far, stage the contents of paths given on the command line as well.  This is usually not what you want unless you are concluding a conflicted merge.
pt_BR: Antes de fazer um commit dos conteúdos preparados até o momento, prepare também o conteúdo dos caminhos utilizados na linha de comando.  Isso geralmente não é o que você quer, a menos que esteja concluindo um mesclagem conflitante.

note: type: Plain text
en: Make a commit by taking the updated working tree contents of the paths specified on the command line, disregarding any contents that have been staged for other paths. This is the default mode of operation of 'git commit' if any paths are given on the command line, in which case this option can be omitted.  If this option is specified together with `--amend`, then no paths need to be specified, which can be used to amend the last commit without committing changes that have already been staged. If used together with `--allow-empty` paths are also not required, and an empty commit will be created.
pt_BR: Faça um commit utilizando o conteúdo atualizado da árvore de trabalho dos caminhos definidos na linha de comando, desconsiderando qualquer outro conteúdo que tenha sido preparado para os outros caminhos. Essa é a maneira predefinida de operação do comando `git commit` caso algum outro caminho tenha sido informado na linha de comando; nesse caso, essa opção poderá ser omitida.  Caso esta opção seja utilizada junto com `--amend`, nenhum outro caminho precisará ser informado, o que pode ser utilizado para alterar o último commit sem confirmar as alterações que já foram preparadas. Se utilizado junto com a opção`--allow empty` também não são necessários e um commit vazio será criado.

note: type: Labeled list
en: -u[<mode>]
pt_BR: -u[<modo>]

note: type: Labeled list
en: --untracked-files[=<mode>]
pt_BR: --untracked-files[=<modo>]

note: type: Plain text
en: Show untracked files.
pt_BR: Exibe arquivos sem rastreamento.

note: type: Plain text
en: The mode parameter is optional (defaults to 'all'), and is used to specify the handling of untracked files; when -u is not used, the default is 'normal', i.e. show untracked files and directories.
pt_BR: O parâmetro `<modo>` é opcional, a predefinição retorna para `all` (todos), sendo utilizado para determinar a manipulação dos arquivos que não foram rastreados; quando a opção `-u` não é utilizada a predefinição retorna para `normal`, ou seja, exibe os arquivos e diretórios que não foram rastreados.

note: type: Plain text
en: The possible options are:
pt_BR: As opções disponíveis são:

note: type: Plain text
en: 'no'     - Show no untracked files
pt_BR: 'no'     - Não exibe qualquer arquivo que não tenham sido rastreados

note: type: Plain text
en: 'normal' - Shows untracked files and directories
pt_BR: 'normal' - Exibe todos os arquivo e diretórios que não foram rastreados

note: type: Plain text
en: 'all'    - Also shows individual files in untracked directories.
pt_BR: 'all'    - Exibe todos os arquivos individualmente nos diretórios não rastreados.

note: type: Plain text
en: The default can be changed using the status.showUntrackedFiles configuration variable documented in linkgit:git-config[1].
pt_BR: A predefinição pode ser alterada utilizando a variável de configuração `status.showUntrackedFiles` documentada em linkgit:git-config[1].

note: type: Plain text
en: Show unified diff between the HEAD commit and what would be committed at the bottom of the commit message template to help the user describe the commit by reminding what changes the commit has.  Note that this diff output doesn't have its lines prefixed with '#'. This diff will not be a part of the commit message. See the `commit.verbose` configuration variable in linkgit:git-config[1].
pt_BR: Exibe as diferenças unificadas entre o commit no `HEAD` e o que seria feito o commit na parte inferior do modelo da mensagem do commit para ajudar o usuário a descrever o commit lembrando quais as alterações que o commit possui.  Note que esta saída "diff" não tem suas linhas prefixadas com '#'. Este "diff" não fará parte da mensagem do commit. Consulte a configuração da variável `commit.verbose` em linkgit:git-config[1].

note: type: Plain text
en: If specified twice, show in addition the unified diff between what would be committed and the worktree files, i.e. the unstaged changes to tracked files.
pt_BR: Caso seja utilizado duas vezes exibirá além do diferencial unificado entre o que seriam feitos os commits e os arquivos da árvore de trabalho, ou seja, as alterações não-estáticas nos arquivos rastreados.

note: type: Plain text
en: Suppress commit summary message.
pt_BR: Suprimir a mensagem de resumo do commit.

note: type: Plain text
en: Do not create a commit, but show a list of paths that are to be committed, paths with local changes that will be left uncommitted and paths that are untracked.
pt_BR: Não crie um commit porém exiba uma lista dos caminhos onde os commits devem ser feitos, os caminhos com as alterações locais onde os commits serão deixados de lado e os caminhos que não serão rastreados.

note: type: Plain text
en: Include the output of linkgit:git-status[1] in the commit message template when using an editor to prepare the commit message.  Defaults to on, but can be used to override configuration variable commit.status.
pt_BR: Inclua a saída do linkgit:git-status[1] na mensagem do commit ao usar um editor para preparar a mensagem do commit.  A predefinição retorna para ligado, porém pode ser utilizado para substituir a variável de configuração `commit.status`.

note: type: Plain text
en: Do not include the output of linkgit:git-status[1] in the commit message template when using an editor to prepare the default commit message.
pt_BR: Não inclua a saída do linkgit:git-status[1] no modelo da mensagem do commit ao utilizar um editor para preparar a mensagem predefinida do commit.

note: type: Plain text
en: When pathspec is given on the command line, commit the contents of the files that match the pathspec without recording the changes already added to the index. The contents of these files are also staged for the next commit on top of what have been staged before.
pt_BR: Quando o `pathspec` é utilizado na linha de comando, faça o commit do conteúdo dos arquivos que correspondem ao `pathspec` sem registrar as alterações já adicionadas ao índice. O conteúdo desses arquivos também é preparado para o próximo commit, além do que já foi preparado anteriormente.

note: type: Plain text
en: When recording your own work, the contents of modified files in your working tree are temporarily stored to a staging area called the "index" with 'git add'.  A file can be reverted back, only in the index but not in the working tree, to that of the last commit with `git restore --staged <file>`, which effectively reverts 'git add' and prevents the changes to this file from participating in the next commit.  After building the state to be committed incrementally with these commands, `git commit` (without any pathname parameter) is used to record what has been staged so far.  This is the most basic form of the command.  An example:
pt_BR: Ao gravar o seu próprio trabalho, o conteúdo dos arquivos modificados na sua árvore de trabalho é temporariamente armazenado em uma área intermediária chamada "índice" com `git add`.  Um arquivo pode ser revertido para o último commit com `git restore staged` apenas no índice mas não na árvore de trabalho, que reverte efetivamente o `git add` e impede que as alterações nesse arquivo façam parte do próximo commit.  Após criar a condição a ser feito o commit incrementalmente com esses comandos, o `git commit` (sem nenhum parâmetro `pathname`) é utilizado para registrar o que foi preparado até o momento.  Essa é a forma mais básica do comando.  Um exemplo:

note: type: Plain text
en: Instead of staging files after each individual change, you can tell `git commit` to notice the changes to the files whose contents are tracked in your working tree and do corresponding `git add` and `git rm` for you.  That is, this example does the same as the earlier example if there is no other change in your working tree:
pt_BR: Em vez de disponibilizar arquivos após cada alteração individual, você pode dizer ao `git commit` para observar as alterações nos arquivos cujo conteúdo é rastreado na sua árvore de trabalho e faz os comandos correspondentes` git add` e `git rm` para você.  Ou seja, este exemplo faz o mesmo que o exemplo anterior, se não houver outra alteração na sua árvore de trabalho:

note: type: Plain text
en: The command `git commit -a` first looks at your working tree, notices that you have modified hello.c and removed goodbye.c, and performs necessary `git add` and `git rm` for you.
pt_BR: O comando `git commit -a` primeiro olha para a sua árvore de trabalho, nota que você modificou o hello.c e removeu o goodbye.c e executa os comandos necessários `git add` e `git rm` para você.

note: type: Plain text
en: After staging changes to many files, you can alter the order the changes are recorded in, by giving pathnames to `git commit`.  When pathnames are given, the command makes a commit that only records the changes made to the named paths:
pt_BR: Após preparar as mudanças em muitos arquivos, você pode alterar a ordem em que as alterações são registradas ao encaminhar `pathnames` para `git commit`.  Quando `pathnames` são utilizados, o comando faz um commit que registra apenas as alterações feitas nos caminhos informados:

note: type: Plain text
en: This makes a commit that records the modification to `Makefile`.  The changes staged for `hello.c` and `hello.h` are not included in the resulting commit.  However, their changes are not lost -- they are still staged and merely held back.  After the above sequence, if you do:
pt_BR: Isso faz um commit que registra a modificação no arquivo `Makefile`.  As mudanças preparadas para `hello.c` e `hello.h` não são incluídas no commit resultante.  No entanto as suas mudanças não se perdem, elas ainda são preparadas e meramente retidas.  Após a sequência acima, se fizer:

note: type: Plain text
en: this second commit would record the changes to `hello.c` and `hello.h` as expected.
pt_BR: este segundo commit registraria as alterações em `hello.c` e `hello.h` conforme o esperado.

note: type: Plain text
en: After a merge (initiated by 'git merge' or 'git pull') stops because of conflicts, cleanly merged paths are already staged to be committed for you, and paths that conflicted are left in unmerged state.  You would have to first check which paths are conflicting with 'git status' and after fixing them manually in your working tree, you would stage the result as usual with 'git add':
pt_BR: Depois que uma mesclagem (iniciada pelo comando `git merge` ou `git pull`) é interrompida por causa de conflitos, os caminhos mesclados de maneira limpa já são preparados para serem confirmados para você, e os caminhos em conflito são deixados em um estado inalterado.  Você precisaria primeiro verificar quais são os caminhos que estão em conflito com o comando `git status` e depois de corrigi-los manualmente em sua árvore de trabalho, você prepararia o resultado como de costume com o comando `git add`:

note: type: Plain text
en: After resolving conflicts and staging the result, `git ls-files -u` would stop mentioning the conflicted path.  When you are done, run `git commit` to finally record the merge:
pt_BR: Após resolver os conflitos e organizar o resultado, o `git ls-files -u` deixaria de mencionar o caminho conflitado.  Quando terminar, execute `git commit` para finalmente registrar a mesclagem:

note: type: Plain text
en: As with the case to record your own changes, you can use `-a` option to save typing.  One difference is that during a merge resolution, you cannot use `git commit` with pathnames to alter the order the changes are committed, because the merge should be recorded as a single commit.  In fact, the command refuses to run when given pathnames (but see `-i` option).
pt_BR: Como no caso de registrar as suas próprias alterações, você pode usar a opção `-a` para salvar a digitação.  Uma diferença é que durante uma resolução da mesclagem, você não pode utilizar o comando `git commit` com o `pathnames` para alterar a ordem onde as alterações dos commits foram realizados porque a mesclagem deve ser registrada como um commit.  De fato, o comando se recusa a ser executado quando recebem os nomes do caminho (consulte a opção `-i`).

note: type: Title -
en: COMMIT INFORMATION
pt_BR: INFORMAÇÃO DO COMMIT

note: type: Plain text
en: Author and committer information is taken from the following environment variables, if set:
pt_BR: A informação do autor e de quem fez o commit são extraídas das seguintes variáveis do ambiente, se definido:

note: type: Plain text
en: (nb "<", ">" and "\n"s are stripped)
pt_BR: (nb "<", ">" e "\n"s serão removidos)

note: type: Plain text
en: The author and committer names are by convention some form of a personal name (that is, the name by which other humans refer to you), although Git does not enforce or require any particular form. Arbitrary Unicode may be used, subject to the constraints listed above. This name has no effect on authentication; for that, see the `credential.username` variable in linkgit:git-config[1].
pt_BR: É de praxe usar um nome pessoa como os nomes dos autores e de quem fez os commits (isto é, um nome pela qual outros humanos usam para se referir a você), no entanto o Git não impõem ou requer qualquer forma em particular. Um unicode arbitrário pode ser utilizado e é sujeito às restrições listadas acima. Este nome não tem nenhum efeito na autenticação; para isso consulte a variável `credential.username` em linkgit:git-config[1].

note: type: Plain text
en: In case (some of) these environment variables are not set, the information is taken from the configuration items `user.name` and `user.email`, or, if not present, the environment variable EMAIL, or, if that is not set, system user name and the hostname used for outgoing mail (taken from `/etc/mailname` and falling back to the fully qualified hostname when that file does not exist).
pt_BR: Caso (algumas dessas) variáveis de ambiente não sejam definidas, as informações são obtidas dos itens da configuração `user.name` e `user.email` ou caso não haja, na variável de ambiente `EMAIL` ou se também não existir ou tenha sido definida, o nome de usuário do sistema e nome do host (hostname) utilizado pelo email enviado (extraído de `/etc/mailname` e retornando ao nome completo do host quando esse arquivo não existir).

note: type: Plain text
en: The `author.name` and `committer.name` and their corresponding email options override `user.name` and `user.email` if set and are overridden themselves by the environment variables.
pt_BR: O `author.name` e `committer.name` e suas respectivas opções de email correspondentes substituem o `user.name` e `user.email` caso sejam configurados e são substituídos pelas variáveis do ambiente.

note: type: Plain text
en: The typical usage is to set just the `user.name` and `user.email` variables; the other options are provided for more complex use cases.
pt_BR: O uso típico é definir apenas as variáveis `user.name` e `user.email`; as outras opções são informadas para casos de uso mais complexos.

note: type: Plain text
en: Though not required, it's a good idea to begin the commit message with a single short (less than 50 character) line summarizing the change, followed by a blank line and then a more thorough description.  The text up to the first blank line in a commit message is treated as the commit title, and that title is used throughout Git.  For example, linkgit:git-format-patch[1] turns a commit into email, and it uses the title on the Subject line and the rest of the commit in the body.
pt_BR: Embora não seja obrigatório, é uma boa ideia iniciar a mensagem do commit com uma única linha curta (com menos de 50 caracteres) resumindo a alteração, seguida por uma linha em branco e em seguida, uma descrição mais completa.  O texto até a primeira linha em branco em uma mensagem do commit é tratado como o título do commit e esse título é utilizado através de todo o Git.  Por exemplo, o linkgit:git-format-patch[1] transforma um commit em um email e usa o título na linha de assunto e o restante do commit no corpo da mensagem.

note: type: Title -
en: ENVIRONMENT AND CONFIGURATION VARIABLES
pt_BR: VARIÁVEIS DE AMBIENTE E CONFIGURAÇÃO

note: type: Plain text
en: The editor used to edit the commit log message will be chosen from the `GIT_EDITOR` environment variable, the core.editor configuration variable, the `VISUAL` environment variable, or the `EDITOR` environment variable (in that order).  See linkgit:git-var[1] for details.
pt_BR: O editor usado para editar a mensagem do registro log do commit que será escolhido entre a variável de ambiente `GIT_EDITOR`, a variável de configuração `core.editor`, a variável de ambiente `VISUAL` ou a variável de ambiente `EDITOR` (nesta ordem).  Para mais detalhes, consulte linkgit:git-var[1].

note: type: Plain text
en: This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`, `post-commit` and `post-rewrite` hooks.  See linkgit:githooks[5] for more information.
pt_BR: Este comando pode executar os ganchos `commit-msg`, `prepare-commit-msg`, `pre-commit`, `post-commit` e `post-rewrite`.  Para mais informações consulte linkgit:githooks[5].

note: type: Plain text
en: This file contains the commit message of a commit in progress.  If `git commit` exits due to an error before creating a commit, any commit message that has been provided by the user (e.g., in an editor session) will be available in this file, but will be overwritten by the next invocation of `git commit`.
pt_BR: Este arquivo contém a mensagem do commit de um commit em andamento.  Caso o `git commit` encerre devido a um erro antes da criação do commit, qualquer mensagem do commit que tenha sido utilizada pelo usuário (por exemplo, em uma sessão do editor) estará disponível neste arquivo, mas será substituída pela próxima invocação do comando `git commit`.

note: type: Plain text
en: git-config - Get and set repository or global options
pt_BR: git-config - Obtenha e defina opções globais ou do repositório

note: type: Plain text
en: 'git config' [<file-option>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] name [value [value_regex]]
    'git config' [<file-option>] [--type=<type>] --add name value
    'git config' [<file-option>] [--type=<type>] --replace-all name value [value_regex]
    'git config' [<file-option>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] --get name [value_regex]
    'git config' [<file-option>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] --get-all name [value_regex]
    'git config' [<file-option>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] [--name-only] --get-regexp name_regex [value_regex]
    'git config' [<file-option>] [--type=<type>] [-z|--null] --get-urlmatch name URL
    'git config' [<file-option>] --unset name [value_regex]
    'git config' [<file-option>] --unset-all name [value_regex]
    'git config' [<file-option>] --rename-section old_name new_name
    'git config' [<file-option>] --remove-section name
    'git config' [<file-option>] [--show-origin] [--show-scope] [-z|--null] [--name-only] -l | --list
    'git config' [<file-option>] --get-color name [default]
    'git config' [<file-option>] --get-colorbool name [stdout-is-tty]
    'git config' [<file-option>] -e | --edit
pt_BR: 'git config' [<opção-do-arquivo>] [--type=<tipo>] [--show-origin] [--show-scope] [-z|--null] nome [valor [value_regex]]
    'git config' [<opção-do-arquivo>] [--type=<tipo>] --add nome valor
    'git config' [<opção-do-arquivo>] [--type=<tipo>] --replace-all nome valor [value_regex]
    'git config' [<opção-do-arquivo>] [--type=<tipo>] [--show-origin] [--show-scope] [-z|--null] --get nome [value_regex]
    'git config' [<opção-do-arquivo>] [--type=<tipo>] [--show-origin] [--show-scope] [-z|--null] --get-all nome [value_regex]
    'git config' [<opção-do-arquivo>] [--type=<tipo>] [--show-origin] [--show-scope] [-z|--null] [--name-only] --get-regexp name_regex [value_regex]
    'git config' [<opção-do-arquivo>] [--type=<tipo>] [-z|--null] --get-urlmatch nome URL
    'git config' [<opção-do-arquivo>] --unset nome [value_regex]
    'git config' [<opção-do-arquivo>] --unset-all nome [value_regex]
    'git config' [<opção-do-arquivo>] --rename-section nome_antigo novo_nome
    'git config' [<opção-do-arquivo>] --remove-section nome
    'git config' [<opção-do-arquivo>] [--show-origin] [--show-scope] [-z|--null] [--name-only] -l | --list
    'git config' [<opção-do-arquivo>] --get-color nome [default]
    'git config' [<opção-do-arquivo>] --get-colorbool nome [stdout-is-tty]
    'git config' [<opção-do-arquivo>] -e | --edit

note: type: Plain text
en: You can query/set/replace/unset options with this command. The name is actually the section and the key separated by a dot, and the value will be escaped.
pt_BR: Você pode consultar, definir, substituir e remover opções com este comando. Na verdade o nome é a seção e a chave são separadas por um ponto, e seu valor será escapado.

note: type: Plain text
en: Multiple lines can be added to an option by using the `--add` option.  If you want to update or unset an option which can occur on multiple lines, a POSIX regexp `value_regex` needs to be given.  Only the existing values that match the regexp are updated or unset.  If you want to handle the lines that do *not* match the regex, just prepend a single exclamation mark in front (see also <<EXAMPLES>>).
pt_BR: Várias linhas podem ser adicionadas a uma opção utilizando a opção `--add`.  Caso queira atualizar ou remover alguma opção que pode ocorrer em várias linhas, é necessário usar um POSIX regexp `value_regex`.  Apenas os valores existentes que correspondam à um regexp são atualizados ou não definidos.  Caso queira manipular as linhas que *não* correspondam ao regex, basta colocar um único ponto de exclamação na frente (consulte também <<EXEMPLOS>>).

note: type: Plain text
en: The `--type=<type>` option instructs 'git config' to ensure that incoming and outgoing values are canonicalize-able under the given <type>.  If no `--type=<type>` is given, no canonicalization will be performed. Callers may unset an existing `--type` specifier with `--no-type`.
pt_BR: A opção `--type=<tipo>` instrui o 'git config' para garantir que os valores que chegam e os que saem sejam canonicamente compatíveis com o <tipo>.  Caso nenhum `--type=<tipo>` seja utilizado, nenhuma canonização será realizada. Os autores dos chamados podem desconfigurar um `--type` existente com a opção `--no-type`.

note: type: Plain text
en: When reading, the values are read from the system, global and repository local configuration files by default, and options `--system`, `--global`, `--local`, `--worktree` and `--file <filename>` can be used to tell the command to read from only that location (see <<FILES>>).
pt_BR: A leitura destes valores são lidos do sistema nos arquivos de configuração global local e do repositório, é predefinido que as opções `system`, `global`, `local`, `worktree` e `file` possam ser utilizadas para dizer ao comando para ler somente deste local (consulte <<ARQUIVOS>>).

note: type: Plain text
en: When writing, the new value is written to the repository local configuration file by default, and options `--system`, `--global`, `--worktree`, `--file <filename>` can be used to tell the command to write to that location (you can say `--local` but that is the default).
pt_BR: Durante a escrita, é predefinido que o novo valor é gravado no arquivo de configuração local do repositório e as opções `system`, `global`, `worktree`, `file` possam ser utilizadas para dizer ao comando para gravar nesse local (você pode dizer `--local`, porém esta é a predefinição).

note: type: Plain text
en: This command will fail with non-zero status upon error.  Some exit codes are:
pt_BR: Este comando falhará com uma condição diferente de zero em caso de erro.  Alguns códigos de saída são:

note: type: Plain text
en: The section or key is invalid (ret=1),
pt_BR: A seção ou chave é inválida (`ret=1`),

note: type: Plain text
en: no section or name was provided (ret=2),
pt_BR: nenhuma seção ou nome foi informado (`ret=2`),

note: type: Plain text
en: the config file is invalid (ret=3),
pt_BR: o arquivo de configuração é inválido (`ret=3`),

note: type: Plain text
en: the config file cannot be written (ret=4),
pt_BR: o arquivo de configuração não pode ser gravado (`ret=4`),

note: type: Plain text
en: you try to unset an option which does not exist (ret=5),
pt_BR: você tenta desmarcar uma opção que não existe (`ret=5`),

note: type: Plain text
en: you try to unset/set an option for which multiple lines match (ret=5), or
pt_BR: você tenta desmarcar ou definir uma opção para a qual várias linhas coincidem (`ret=5`) ou

note: type: Plain text
en: you try to use an invalid regexp (ret=6).
pt_BR: você tenta usar um regexp inválido (`ret=6`).

note: type: Plain text
en: On success, the command returns the exit code 0.
pt_BR: Em casos bem sucedidos o comando retorna o código 0.

note: type: Plain text
en: Default behavior is to replace at most one line. This replaces all lines matching the key (and optionally the value_regex).
pt_BR: O comportamento predefinido é substituir pelo menos uma linha. Isso substitui todas as linhas que coincidam com a chave (e opcionalmente ao "value_regex").

note: type: Plain text
en: Adds a new line to the option without altering any existing values.  This is the same as providing '^$' as the value_regex in `--replace-all`.
pt_BR: Adiciona uma nova linha à opção, sem alterar nenhum valor já existente.  É o mesmo que informar '^$' como o `valor_regex` na opção `--replace-all`.

note: type: Plain text
en: Get the value for a given key (optionally filtered by a regex matching the value). Returns error code 1 if the key was not found and the last value if multiple key values were found.
pt_BR: Obtenha o valor para uma determinada chave (opcionalmente filtrada por uma expressão regular que coincida com o valor). Retorna o código de erro '1' caso a chave não seja encontrada e o último valor caso vários valores da chave sejam encontrados.

note: type: Plain text
en: Like get, but returns all values for a multi-valued key.
pt_BR: Como get, mas retorna todos os valores para uma chave com vários valores.

note: type: Plain text
en: Like --get-all, but interprets the name as a regular expression and writes out the key names.  Regular expression matching is currently case-sensitive and done against a canonicalized version of the key in which section and variable names are lowercased, but subsection names are not.
pt_BR: Como a opção `--get-all`, porém interpreta o nome como uma expressão regular e escreve os nomes das chaves.  A coincidência comum da expressão regular é sensível a maiúsculas e minúsculas, é feita contra uma versão canonizado da chave onde a seção e os nomes das variáveis são minúsculas, porém os nomes das subseções não são.

note: type: Labeled list
en: --get-urlmatch name URL
pt_BR: --get-urlmatch nome URL

note: type: Plain text
en: When given a two-part name section.key, the value for section.<url>.key whose <url> part matches the best to the given URL is returned (if no such key exists, the value for section.key is used as a fallback).  When given just the section as name, do so for all the keys in the section and list them.  Returns error code 1 if no value is found.
pt_BR: Quando é utilizado em um nome com duas partes `section.key`, o valor da `section.<url>.key` cuja parte da <url> coincida para o retorno da melhor URL informada (caso essa chave não exista, o valor do `section.key` será usado como substituto).  Quando receber apenas a seção como nome, faça-o para todas as chaves da seção e liste-as.  Retorna o código de erro 1 caso nenhum valor seja encontrado.

note: type: Plain text
en: For writing options: write to global `~/.gitconfig` file rather than the repository `.git/config`, write to `$XDG_CONFIG_HOME/git/config` file if this file exists and the `~/.gitconfig` file doesn't.
pt_BR: Para escrever opções: escreva para o arquivo global `~/.gitconfig` em vez do repositório `.git/config`, escreva para o arquivo `$XDG_CONFIG_HOME/git/config` se este arquivo existir e o arquivo `~/.gitconfig` não faz.

note: type: Plain text
en: For reading options: read only from global `~/.gitconfig` and from `$XDG_CONFIG_HOME/git/config` rather than from all available files.
pt_BR: Para opções de leitura: leia somente do global `~/.gitconfig` e de` $XDG_CONFIG_HOME/git/config` ao invés de todos os arquivos disponíveis.

note: type: Plain text
en: See also <<FILES>>.
pt_BR: Consulte também <<ARQUIVOS>>.

note: type: Plain text
en: For writing options: write to system-wide `$(prefix)/etc/gitconfig` rather than the repository `.git/config`.
pt_BR: Para opções de escrita: escreva para o `$(prefixo)/etc/gitconfig` do sistema em vez do repositório `.git/config`.

note: type: Plain text
en: For reading options: read only from system-wide `$(prefix)/etc/gitconfig` rather than from all available files.
pt_BR: Para opções de leitura: leia somente do `$(prefixo)/etc/gitconfig` em todo o sistema, e não de todos os arquivos disponíveis.

note: type: Plain text
en: For writing options: write to the repository `.git/config` file.  This is the default behavior.
pt_BR: Para as opções de escrita: escreva no arquivo do repositório `.git/config`.  Este é  o comportamento predefinido.

note: type: Plain text
en: For reading options: read only from the repository `.git/config` rather than from all available files.
pt_BR: Para as opções da leitura: leia somente no repositório `.git/config` em vez de todos os arquivos disponíveis.

note: type: Plain text
en: Similar to `--local` except that `.git/config.worktree` is read from or written to if `extensions.worktreeConfig` is present. If not it's the same as `--local`.
pt_BR: Semelhante a opção `--local`, exceto que o a opção de configuração `.git/config.worktree` é lido ou gravado caso `extensions.worktreeConfig` existir. Caso não seja, é o mesmo que a opção `--local`.

note: type: Labeled list
en: -f config-file
pt_BR: -f arquivo-config

note: type: Labeled list
en: --file config-file
pt_BR: --file arquivo-config

note: type: Plain text
en: Use the given config file instead of the one specified by GIT_CONFIG.
pt_BR: Utilize o arquivo de configuração informado em vez daquele especificado por GIT_CONFIG.

note: type: Plain text
en: Similar to `--file` but use the given blob instead of a file. E.g.  you can use 'master:.gitmodules' to read values from the file '.gitmodules' in the master branch. See "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7] for a more complete list of ways to spell blob names.
pt_BR: É semelhante a opção `--file` porém utilize a bolha informada em vez de um arquivo. Como por exemplo, é possível utilizar 'master:.gitmodules' para ler os valores de um arquivo '.gitmodules' no ramo "master". Para conhecer uma lista completa das diferentes maneiras de soletrar os nomes das bolhas, consulte a seção "DEFININDO AS REVISÕES" em linkgit:gitrevisions[7].

note: type: Plain text
en: Remove the given section from the configuration file.
pt_BR: Remova a seção dada do arquivo de configuração.

note: type: Plain text
en: Rename the given section to a new name.
pt_BR: Renomeie a seção dada para um novo nome.

note: type: Plain text
en: Remove the line matching the key from config file.
pt_BR: Remova a linha correspondente à chave do arquivo de configuração.

note: type: Plain text
en: Remove all lines matching the key from config file.
pt_BR: Remova todas as linhas que correspondam à chave do arquivo de configuração.

note: type: Plain text
en: List all variables set in config file, along with their values.
pt_BR: Lista todas as variáveis definidas no arquivo de configuração, junto com seus valores.

note: type: Labeled list
en: --type <type>
pt_BR: --type <tipo>

note: type: Plain text
en: 'git config' will ensure that any input or output is valid under the given type constraint(s), and will canonicalize outgoing values in `<type>`'s canonical form.
pt_BR: 'git config' irá assegurar que qualquer entrada ou saída é válida sob a(s) restrição(ões) de tipo dada, e irá canonicalizar os valores de saída na forma canônica do `<tipo>`'s.

note: type: Plain text
en: Valid `<type>`'s include:
pt_BR: Os `<tipo>`'s válidos incluem:

note: type: Plain text
en: 'bool': canonicalize values as either "true" or "false".
pt_BR: 'bool': canoniza os valores como 'true' ou 'false'.

note: type: Plain text
en: 'int': canonicalize values as simple decimal numbers. An optional suffix of 'k', 'm', or 'g' will cause the value to be multiplied by 1024, 1048576, or 1073741824 upon input.
pt_BR: 'int': canoniza os valores como números decimais simples. Um sufixo opcional com 'k', 'm' ou 'g' fará com que o valor seja multiplicado por 1024, 1048576 ou 1073741824 na entrada.

note: type: Plain text
en: 'bool-or-int': canonicalize according to either 'bool' or 'int', as described above.
pt_BR: 'bool-or-int': canoniza de acordo com 'bool' ou 'int', como descrito acima.

note: type: Plain text
en: 'path': canonicalize by adding a leading `~` to the value of `$HOME` and `~user` to the home directory for the specified user. This specifier has no effect when setting the value (but you can use `git config section.variable ~/` from the command line to let your shell do the expansion.)
pt_BR: 'path': canonize ao adicionar um sinal `~` no começo para o valor `$HOME` e `~user` no diretório home do usuário especificado. Este especificador não tem efeito durante a definição do valor (porém você pode utilizar o comando `git config section.variable ~ /` na linha de comando para permitir que o seu shell faça a expansão.)

note: type: Plain text
en: 'expiry-date': canonicalize by converting from a fixed or relative date-string to a timestamp. This specifier has no effect when setting the value.
pt_BR: 'data validade': canoniza convertendo a partir de uma cadeia com data fixa ou relativa a um registro de data e hora. Este especificador não tem efeito quando for definir o valor.

note: type: Plain text
en: 'color': When getting a value, canonicalize by converting to an ANSI color escape sequence. When setting a value, a sanity-check is performed to ensure that the given value is canonicalize-able as an ANSI color, but it is written as-is.
pt_BR: 'color': Quando obtiver um valor, canonize através da conversão para uma sequência no padrão ANSI de cor. Ao definir um valor, uma verificação é realizada para garantir que o valor informado seja canonizável como uma cor ANSI, porém será escrito como estiver.

note: type: Plain text
en: Historical options for selecting a type specifier. Prefer instead `--type` (see above).
pt_BR: Opções históricas para selecionar um especificador de tipo. Em vez disso, prefira opção `--type` (veja acima).

note: type: Plain text
en: Un-sets the previously set type specifier (if one was previously set). This option requests that 'git config' not canonicalize the retrieved variable.  `--no-type` has no effect without `--type=<type>` or `--<type>`.
pt_BR: Indetermine o tipo do especificador definido anteriormente (caso tenha sido definido anteriormente). Esta opção solicita que o comando 'git config' não canonize a variável recuperada.  A opção `--no-type` não tem qualquer efeito sem a opção `--type=<tipo>` ou `--<tipo>`.

note: type: Plain text
en: For all options that output values and/or keys, always end values with the null character (instead of a newline). Use newline instead as a delimiter between key and value. This allows for secure parsing of the output without getting confused e.g. by values that contain line breaks.
pt_BR: Para todas as opções que gerem valores e/ou chaves, sempre finalize os valores com o caractere nulo (em vez de uma nova linha). Utilize a nova linha como um delimitador entre chave e valor. Isso permite uma análise segura do que for gerado sem se confundir, como por exemplo, através de valores que tenham quebras de linha.

note: type: Plain text
en: Output only the names of config variables for `--list` or `--get-regexp`.
pt_BR: Gere apenas os nomes das variáveis de configuração para `--list` ou `--get-regexp`.

note: type: Plain text
en: Augment the output of all queried config options with the origin type (file, standard input, blob, command line) and the actual origin (config file path, ref, or blob id if applicable).
pt_BR: Aumente a geração de todas as opções de configuração consultadas com o tipo da origem (arquivo, entrada padrão, blob, linha de comando) e a origem real (o caminho do arquivo de configuração, da "ref" ou a ID da bolha, caso seja aplicável).

note: type: Plain text
en: Similar to `--show-origin` in that it augments the output of all queried config options with the scope of that value (local, global, system, command).
pt_BR: Semelhante a opção `--show-origin`, na medida em que aumenta a saída de todas as opções de configuração consultadas com o escopo deste valor (`local`, `global`, `system`, `command`).

note: type: Labeled list
en: --get-colorbool name [stdout-is-tty]
pt_BR: --get-colorbool nome [stdout-is-tty]

note: type: Plain text
en: Find the color setting for `name` (e.g. `color.diff`) and output "true" or "false".  `stdout-is-tty` should be either "true" or "false", and is taken into account when configuration says "auto".  If `stdout-is-tty` is missing, then checks the standard output of the command itself, and exits with status 0 if color is to be used, or exits with status 1 otherwise.  When the color setting for `name` is undefined, the command uses `color.ui` as fallback.
pt_BR: Encontre a configuração das cores para `nome` (por exemplo, `color.diff`) e gere 'true' ou 'false'.  O `stdout-is-tty` deve ser 'true' ou 'false' e é levado em consideração quando a configuração diz "auto".  Caso `stdout-is-tty` esteja ausente, verifique a saída padrão do próprio comando e encerre com a condição '0' caso a cor deva ser utilizada, ou caso contrário, encerre com a condição '1'.  Quando a configuração das cores para `nome` for indefinida, o comando retroage e em vez disso usa `color.ui`.

note: type: Labeled list
en: --get-color name [default]
pt_BR: --get-color nome [default]

note: type: Plain text
en: Find the color configured for `name` (e.g. `color.diff.new`) and output it as the ANSI color escape sequence to the standard output.  The optional `default` parameter is used instead, if there is no color configured for `name`.
pt_BR: Localize a cor configurada para `nome` (`color.diff.new` por exemplo) e gere a sequência no padrão ANSI de cor.  Em vez disso o parâmetro opcional `default` é utilizado, caso não haja uma cor configurada para `nome`.

note: type: Plain text
en: `--type=color [--default=<default>]` is preferred over `--get-color` (but note that `--get-color` will omit the trailing newline printed by `--type=color`).
pt_BR: `--type=color [--default=<default>]` é preferível em vez de `--get-color` (porém repare que a opção `--get-color` omitirá a nova linha impressa por `--type=color`).

note: type: Plain text
en: Opens an editor to modify the specified config file; either `--system`, `--global`, or repository (default).
pt_BR: Abre um editor para alterar o arquivo de configuração informado; ou `--system`,` --global` ou repositório (predefinido).

note: type: Plain text
en: Respect `include.*` directives in config files when looking up values. Defaults to `off` when a specific file is given (e.g., using `--file`, `--global`, etc) and `on` when searching all config files.
pt_BR: Respeite as diretivas `include.*` nos arquivos de configuração ao procurar pelos valores. A predefinição retorna para `off` quando determinado arquivo seja informado (como por exemplo, usando os comandos `--file`, `--global`, etc) e ao pesquisar por todos os arquivos de configuração.

note: type: Labeled list
en: --default <value>
pt_BR: --default <valor>

note: type: Plain text
en: When using `--get`, and the requested variable is not found, behave as if <value> were the value assigned to the that variable.
pt_BR: Ao usar `--get` e a variável solicitada não for encontrada, comportar-se como se o <valor> fosse o valor atribuído à variável.

note: type: Plain text
en: `pager.config` is only respected when listing configuration, i.e., when using `--list` or any of the `--get-*` which may return multiple results.  The default is to use a pager.
pt_BR: O `pager.config` somente é respeitado durante a listagem da configuração, ou seja, ao utilizar a opção `--list` ou qualquer um dos `--get-*` que podem retornar diversos resultados.  A predefinição é utilizar um pager.

note: type: Plain text
en: If not set explicitly with `--file`, there are four files where 'git config' will search for configuration options:
pt_BR: Caso não seja definido de forma explicita com a opção `--file`, existem quatro arquivos onde o 'git config' irá procurar as opções de configuração:

note: type: Labeled list
en: $(prefix)/etc/gitconfig
pt_BR: $(prefixo)/etc/gitconfig

note: type: Plain text
en: System-wide configuration file.
pt_BR: Arquivo de configuração do sistema.

note: type: Plain text
en: Second user-specific configuration file. If $XDG_CONFIG_HOME is not set or empty, `$HOME/.config/git/config` will be used. Any single-valued variable set in this file will be overwritten by whatever is in `~/.gitconfig`.  It is a good idea not to create this file if you sometimes use older versions of Git, as support for this file was added fairly recently.
pt_BR: Segundo arquivo de configuração específico do usuário. Caso $XDG_CONFIG_HOME não esteja definido ou esteja vazio , a opção de configuração `$HOME/.config/git/config` será utilizada. Qualquer variável com valor único definido neste arquivo será substituída pelo que estiver em `~/.gitconfig`.  É uma boa ideia não criar este arquivo no caso de você às vezes usar versões mais antigas do Git, pois o suporte para este arquivo foi adicionado recentemente.

note: type: Plain text
en: User-specific configuration file. Also called "global" configuration file.
pt_BR: Arquivo de configuração específico do usuário. Também chamado de arquivo de configuração "global".

note: type: Plain text
en: Repository specific configuration file.
pt_BR: Arquivo de configuração específico do repositório.

note: type: Plain text
en: This is optional and is only searched when `extensions.worktreeConfig` is present in $GIT_DIR/config.
pt_BR: Isso é opcional e só é pesquisado quando o arquivo `extensions.worktreeConfig` está presente em $GIT_DIR/config.

note: type: Plain text
en: If no further options are given, all reading options will read all of these files that are available. If the global or the system-wide configuration file are not available they will be ignored. If the repository configuration file is not available or readable, 'git config' will exit with a non-zero error code. However, in neither case will an error message be issued.
pt_BR: Caso nenhuma outra opção seja utilizada, todas as opções de leitura irão ler todos estes arquivos que estiverem disponíveis. Caso o arquivo global ou o arquivo de configuração global inteiro não esteja disponível, eles serão ignorados. Caso o arquivo de configuração do repositório não estiver disponível ou legível, o comando 'git config' encerrará com um código de erro diferente de zero. No entanto, em nenhum dos casos será emitida uma mensagem de erro.

note: type: Plain text
en: The files are read in the order given above, with last value found taking precedence over values read earlier.  When multiple values are taken then all values of a key from all files will be used.
pt_BR: Os arquivos são lidos na ordem dada acima, com o último valor encontrado tendo precedência sobre os valores lidos anteriormente.  Quando vários valores são obtidos, então todos os valores de uma chave de todos os arquivos, serão usados.

note: type: Plain text
en: You may override individual configuration parameters when running any git command by using the `-c` option. See linkgit:git[1] for details.
pt_BR: Você pode substituir os parâmetros da configuração dos parâmetros individuais ao executar qualquer comando git utilizando a opção `-c`. Para mais detalhes, consulte linkgit:git[1].

note: type: Plain text
en: All writing options will per default write to the repository specific configuration file. Note that this also affects options like `--replace-all` and `--unset`. *'git config' will only ever change one file at a time*.
pt_BR: É predefinido que todas as opções de gravação sejam gravadas no arquivo de configuração específico do repositório. Observe que isso também afeta opções como `--replace-all` e `--sunset`. *O comando 'git config' sempre irá alterar um arquivo por vez*.

note: type: Plain text
en: You can override these rules either by command-line options or by environment variables. The `--global`, `--system` and `--worktree` options will limit the file used to the global, system-wide or per-worktree file respectively.  The `GIT_CONFIG` environment variable has a similar effect, but you can specify any filename you want.
pt_BR: Estas regras podem ser substituídas através da linha de comando ou através das variáveis de ambiente. As opções `--global`, `--system` e `--worktree` limitarão o arquivo utilizado ao arquivo global, em todo o sistema ou por árvore de trabalho, respectivamente.  A variável de ambiente `GIT_CONFIG` environment variable has a similar effecttem um efeito similar, porém é possível definir um nome do arquivo caso queira.

note: type: Title -
en: ENVIRONMENT
pt_BR: VARIÁVEIS DO AMBIENTE

note: type: Plain text
en: Take the configuration from the given file instead of .git/config.  Using the "--global" option forces this to ~/.gitconfig. Using the "--system" option forces this to $(prefix)/etc/gitconfig.
pt_BR: Pegue a configuração do arquivo informado em vez de .git/config. Usar a opção "--global" força isso para ~/.gitconfig. Usar a opção "--system" força isso para $(prefixo)/etc/gitconfig.

note: type: Plain text
en: Whether to skip reading settings from the system-wide $(prefix)/etc/gitconfig file. See linkgit:git[1] for details.
pt_BR: Independente se você vai ignorar as configurações de leitura do arquivo `$(prefix)/etc/gitconfig` do sistema. Para mais detalhes, consulte linkgit:git[1].

note: type: Plain text
en: Given a .git/config like this:
pt_BR: Dado um .git/config como este:

note: type: delimited block -
en: #
    # This is the config file, and
    # a '#' or ';' character indicates
    # a comment
    #
pt_BR: #
    # Este é o arquivo de configuração e
    # um caractere '#' ou ';' serve como
    # um comentário
    #

note: type: delimited block -
en: ; core variables
    [core]
    	; Don't trust file modes
    	filemode = false
pt_BR: ; variáveis principais
    [core]
    	; Não confie nos modos dos arquivos
    	filemode = false

note: type: delimited block -
en: ; Our diff algorithm
    [diff]
    	external = /usr/local/bin/diff-wrapper
    	renames = true
pt_BR: ; Nosso próprio algorítimo diff
    [diff]
    	external = /usr/local/bin/diff-wrapper
    	renames = true

note: type: delimited block -
en: ; Proxy settings
    [core]
    	gitproxy=proxy-command for kernel.org
    	gitproxy=default-proxy ; for all the rest
pt_BR: ; Configurações de proxy
    [core]
    	gitproxy=proxy-command for kernel.org
    	gitproxy=default-proxy ; for all the rest

note: type: Plain text
en: you can set the filemode to true with
pt_BR: você pode definir o `filemode` como 'true' com

note: type: Plain text
en: The hypothetical proxy command entries actually have a postfix to discern what URL they apply to. Here is how to change the entry for kernel.org to "ssh".
pt_BR: As hipotéticas entradas de comando do proxy realmente têm um postfix para discernir a qual URL elas se aplicam. Aqui um exemplo de como alterar a entrada do kernel.org para "ssh".

note: type: Plain text
en: This makes sure that only the key/value pair for kernel.org is replaced.
pt_BR: Isso garante que apenas o par de chave/valor do kernel.org seja substituído.

note: type: Plain text
en: To delete the entry for renames, do
pt_BR: Para excluir a entrada para renomear, faça

note: type: Plain text
en: If you want to delete an entry for a multivar (like core.gitproxy above), you have to provide a regex matching the value of exactly one line.
pt_BR: Caso queira excluir uma entrada para um "multivar" (como `core.gitproxy` acima), é necessário fornecer um `regex` que coincida com o valor exato de uma linha.

note: type: Plain text
en: To query the value for a given key, do
pt_BR: Para consultar o valor para uma determinada chave, faça

note: type: Plain text
en: or
pt_BR: ou

note: type: Plain text
en: or, to query a multivar:
pt_BR: ou, para consultar um `multivar`:

note: type: Plain text
en: If you want to know all the values for a multivar, do:
pt_BR: Caso queira conhecer todos os valores de um `multivar`, faça:

note: type: Plain text
en: If you like to live dangerously, you can replace *all* core.gitproxy by a new one with
pt_BR: Caso queira viver perigosamente, é possível substituir *all* `core.gitproxy` por um novo com

note: type: Plain text
en: However, if you really only want to replace the line for the default proxy, i.e. the one without a "for ..." postfix, do something like this:
pt_BR: No entanto, caso queira realmente substituir apenas a linha pelo proxy predefinido, ou seja, aquele sem um "for ..." `postfix`, faça algo assim:

note: type: Plain text
en: To actually match only values with an exclamation mark, you have to
pt_BR: Para que haja a real coincidência apenas com os valores de um ponto de exclamação, é necessário

note: type: Plain text
en: To add a new proxy, without altering any of the existing ones, use
pt_BR: Para adicionar um novo proxy, sem alterar qualquer outro já existente, utilize

note: type: Plain text
en: An example to use customized color from the configuration in your script:
pt_BR: Um exemplo para usar cores personalizadas da configuração em seu script:

note: type: Plain text
en: For URLs in `https://weak.example.com`, `http.sslVerify` is set to false, while it is set to `true` for all others:
pt_BR: Para URLSs em `https://weak.example.com`, `http.sslVerify` está definido como `false`, enquanto está definido para `true` para todos os outros:

note: type: Plain text
en: When using the deprecated `[section.subsection]` syntax, changing a value will result in adding a multi-line key instead of a change, if the subsection is given with at least one uppercase character. For example when the config looks like
pt_BR: Ao utilizar a sintaxe já obsoleta `[section.subsection]`, alterando um valor, resultará na adição de uma chave com várias linhas em vez de uma alteração apenas, caso a subseção seja informada com pelo menos um caractere em maiúsculo. Por exemplo, quando a configuração se parece

note: type: Plain text
en: and running `git config section.Subsection.key value2` will result in
pt_BR: e executando `git config section.Subsection.key value2` resultará em

note: type: delimited block -
en:   [section.subsection]
        key = value1
        key = value2
pt_BR:   [section.subsection]
        key = valor1
        key = valor2

note: type: Plain text
en: git-count-objects - Count unpacked number of objects and their disk consumption
pt_BR: git-count-objects - Conta a quantidade dos objetos não empacotados e o seu consumo no disco

note: type: Plain text
en: This counts the number of unpacked object files and disk space consumed by them, to help you decide when it is a good time to repack.
pt_BR: Conta a quantidade de arquivos dos objetos descompactados e o espaço em disco consumido por eles, para ajudá-lo a decidir quando é um bom momento para re-empacotar.

note: type: Plain text
en: Report in more detail:
pt_BR: Relatório com mais detalhes:

note: type: Plain text
en: count: the number of loose objects
pt_BR: count: a quantidade de objetos soltos

note: type: Plain text
en: size: disk space consumed by loose objects, in KiB (unless -H is specified)
pt_BR: size: espaço em disco consumido por pacotes soltos, em KiB (a menos que -H seja utilizado)

note: type: Plain text
en: in-pack: the number of in-pack objects
pt_BR: in-pack: a quantidade de objetos no pacote

note: type: Plain text
en: size-pack: disk space consumed by the packs, in KiB (unless -H is specified)
pt_BR: size-pack: espaço em disco consumido pelos pacotes, em KiB (a menos que -H seja utilizado)

note: type: Plain text
en: prune-packable: the number of loose objects that are also present in the packs. These objects could be pruned using `git prune-packed`.
pt_BR: prune-packable: a quantidade de objetos soltos que também estão presentes nos pacotes. Esses objetos podem ser cortados utilizando o `git ameixa-embalada`.

note: type: Plain text
en: garbage: the number of files in object database that are neither valid loose objects nor valid packs
pt_BR: garbage: a quantidade dos arquivos no banco de dados do objeto que não são nem válidos como objetos perdidos ou tão pouco como pacotes válidos

note: type: Plain text
en: size-garbage: disk space consumed by garbage files, in KiB (unless -H is specified)
pt_BR: size-garbage: espaço em disco consumido por arquivos lixo, em KiB (a menos que -H seja utilizado)

note: type: Plain text
en: alternate: absolute path of alternate object databases; may appear multiple times, one line per path. Note that if the path contains non-printable characters, it may be surrounded by double-quotes and contain C-style backslashed escape sequences.
pt_BR: alternate: caminho absoluto do objeto alternativo no banco de dados; pode aparecer várias vezes, uma linha por caminho. Observe que, caso o caminho tenha caracteres não imprimíveis, ele poderá estar entre aspas duplas e conter sequências de escape com barra invertida no estilo C.

note: type: Plain text
en: Print sizes in human readable format
pt_BR: Tamanhos de impressão em formato legível

note: type: Plain text
en: git-credential-cache--daemon - Temporarily store user credentials in memory
pt_BR: git-credential-cache--daemon - Armazene temporariamente as credenciais do usuário na memória

note: type: Plain text
en: You probably don't want to invoke this command yourself; it is started automatically when you use linkgit:git-credential-cache[1].
pt_BR: É bem provável que você não queira usar este comando; ele é iniciado automaticamente quando você usa linkgit:git-credential-cache[1].

note: type: Plain text
en: This command listens on the Unix domain socket specified by `<socket>` for `git-credential-cache` clients. Clients may store and retrieve credentials. Each credential is held for a timeout specified by the client; once no credentials are held, the daemon exits.
pt_BR: Este comando escuta no "socket" do domínio Unix determinado por `<socket>` para clientes do `git-credential-cache`. Os clientes podem armazenar e recuperar credenciais. Cada credencial é mantida por um tempo específico que é determinado pelo cliente; depois que nenhuma credencial for mais mantida, o daemon encerra.

note: type: Plain text
en: If the `--debug` option is specified, the daemon does not close its stderr stream, and may output extra diagnostics to it even after it has begun listening for clients.
pt_BR: Caso a opção `--debug` seja utilizada, o daemon não fechará o fluxo `stderr` e poderá gerar diagnósticos extras, mesmo depois de começar a ouvir os clientes.

note: type: Plain text
en: git-credential-cache - Helper to temporarily store passwords in memory
pt_BR: git-credential-cache - Assistente para armazenar temporariamente as senhas na memória

note: type: delimited block -
en: git config credential.helper 'cache [<options>]'
pt_BR: git config credential.helper 'cache [<opções>]'

note: type: Plain text
en: This command caches credentials in memory for use by future Git programs. The stored credentials never touch the disk, and are forgotten after a configurable timeout.  The cache is accessible over a Unix domain socket, restricted to the current user by filesystem permissions.
pt_BR: Este comando armazena em cache as credenciais na memória para uso futuro dos programas Git. As credenciais armazenadas jamais são armazenadas em disco e são esquecidas após um tempo determinado por configuração.  O cache está acessível em um "socket" de domínio Unix, restrito ao usuário atual por permissões do sistema de arquivos.

note: type: Plain text
en: You probably don't want to invoke this command directly; it is meant to be used as a credential helper by other parts of Git. See linkgit:gitcredentials[7] or `EXAMPLES` below.
pt_BR: Provavelmente você não vai querer invocar este comando diretamente; Ele deve ser utilizado pelas outras partes como um auxiliar da credencial do Git. See linkgit:gitcredentials[7] or `EXAMPLES` below.

note: type: Labeled list
en: --timeout <seconds>
pt_BR: --timeout <segundos>

note: type: Plain text
en: Number of seconds to cache credentials (default: 900).
pt_BR: Quantidade de segundos para armazenar as credenciais em cache (Predefinição: 900).

note: type: Labeled list
en: --socket <path>
pt_BR: --socket <caminho>

note: type: Plain text
en: Use `<path>` to contact a running cache daemon (or start a new cache daemon if one is not started).  Defaults to `$XDG_CACHE_HOME/git/credential/socket` unless `~/.git-credential-cache/` exists in which case `~/.git-credential-cache/socket` is used instead.  If your home directory is on a network-mounted filesystem, you may need to change this to a local filesystem. You must specify an absolute path.
pt_BR: Utilize o `<caminho>` para entrar em contato com um daemon de cache em execução (ou inicie um novo, cache daemon caso nenhum tenha sido iniciado).  A predefinição retorna para `$XDG_CACHE_HOME/git/credential/socket` a menos que `~/.git-credential-cache/` exista, neste caso `~/.git-credential-cache/socket` é utilizado.  Se o diretório inicial estiver em um sistema de arquivos montado via rede, pode ser necessário alterá-lo para um sistema de arquivos local. Você deve usar um caminho absoluto.

note: type: Title -
en: CONTROLLING THE DAEMON
pt_BR: CONTROLANDO O DAEMON

note: type: Plain text
en: If you would like the daemon to exit early, forgetting all cached credentials before their timeout, you can issue an `exit` action:
pt_BR: Se você deseja que o daemon encerre antes esquecendo todas as credenciais em cache antes do tempo limite, você pode emitir uma ação `exit`:

note: type: Plain text
en: The point of this helper is to reduce the number of times you must type your username or password. For example:
pt_BR: O objetivo deste auxiliar é reduzir a quantidade de vezes que você deve digitar o seu nome de usuário ou senha. Por exemplo:

note: type: delimited block -
en: $ git config credential.helper cache
    $ git push http://example.com/repo.git
    Username: <type your username>
    Password: <type your password>
pt_BR: $ git config credential.helper cache
    $ git push http://exemplo.com/repo.git
    Username: <digite o seu nome de usuário>
    Password: <digite a sua senha>

note: type: delimited block -
en: [work for 5 more minutes]
    $ git push http://example.com/repo.git
    [your credentials are used automatically]
pt_BR: [funcione por mais 5 minutos]
    $ git push http://example.com/repo.git
    [as suas credenciais serão utilizadas automaticamente]

note: type: Plain text
en: You can provide options via the credential.helper configuration variable (this example drops the cache time to 5 minutes):
pt_BR: Você pode utilizar as opções através da variável de configuração `credential.helper` (este exemplo descarta o cache a cada 5 minutos):

note: type: Plain text
en: git-credential-store - Helper to store credentials on disk
pt_BR: git-credential-store - Auxiliar para o armazenamento de credenciais em disco

note: type: delimited block -
en: git config credential.helper 'store [<options>]'
pt_BR: git config credential.helper 'store [<opções>]'

note: type: Plain text
en: Using this helper will store your passwords unencrypted on disk, protected only by filesystem permissions. If this is not an acceptable security tradeoff, try linkgit:git-credential-cache[1], or find a helper that integrates with secure storage provided by your operating system.
pt_BR: Ao usar este auxiliar as suas senhas são armazenadas de forma criptografada no disco, protegida apenas pelas permissões do sistema de arquivos. Caso essa não seja uma troca aceitável de segurança, tente o linkgit:git-credential-cache[1] ou encontre um auxiliar que se integre ao armazenamento seguro informado pelo seu sistema operacional.

note: type: Plain text
en: This command stores credentials indefinitely on disk for use by future Git programs.
pt_BR: Este comando armazena as credenciais indefinidamente no disco para uso futuro dos programas Git.

note: type: Plain text
en: You probably don't want to invoke this command directly; it is meant to be used as a credential helper by other parts of git. See linkgit:gitcredentials[7] or `EXAMPLES` below.
pt_BR: Provavelmente você não vai querer invocar este comando diretamente; Ele deve ser utilizado pelas outras partes como um auxiliar da credencial do git. See linkgit:gitcredentials[7] or `EXAMPLES` below.

note: type: Labeled list
en: --file=<path>
pt_BR: --file=<caminho>

note: type: Plain text
en: Use `<path>` to lookup and store credentials. The file will have its filesystem permissions set to prevent other users on the system from reading it, but will not be encrypted or otherwise protected. If not specified, credentials will be searched for from `~/.git-credentials` and `$XDG_CONFIG_HOME/git/credentials`, and credentials will be written to `~/.git-credentials` if it exists, or `$XDG_CONFIG_HOME/git/credentials` if it exists and the former does not. See also <<FILES>>.
pt_BR: Utilize `<caminho>` para localizar e armazenar as credenciais. O arquivo terá suas as permissões do sistema de arquivos definidos para impedir que os outros usuários no sistema o leiam, mas não serão criptografados ou protegidos. Caso não seja utilizado, as credenciais serão pesquisadas em `~/.git-credentials` e `$XDG_CONFIG_HOME/git/credentials`, as credenciais serão salvas em `~/.git-credentials` caso exista, ou `$XDG_CONFIG_HOME/git/credentials` caso exista e o primeiro não. Consulte também <<ARQUIVOS>>.

note: type: Plain text
en: If not set explicitly with `--file`, there are two files where git-credential-store will search for credentials in order of precedence:
pt_BR: Caso não seja definido explicitamente com a opção `--file`, existem dois arquivos nos quais o comando `git-credential-store` procurará por credenciais em ordem de precedência:

note: type: Plain text
en: User-specific credentials file.
pt_BR: Arquivo de credenciais específicas do usuário.

note: type: Plain text
en: Second user-specific credentials file. If '$XDG_CONFIG_HOME' is not set or empty, `$HOME/.config/git/credentials` will be used. Any credentials stored in this file will not be used if `~/.git-credentials` has a matching credential as well. It is a good idea not to create this file if you sometimes use older versions of Git that do not support it.
pt_BR: Arquivo de credenciais secundário específicas do usuário. Caso '$XDG_CONFIG_HOME' não seja utilizado ou esteja vazio, o `$HOME/.config/git/credentials` será utilizado. Quaisquer credenciais armazenadas neste arquivo não serão utilizadas caso `~/.git-credentials` também tiver uma credencial coincidente. É uma boa pratica não criar este arquivo caso você às vezes utilize versões mais antigas do Git que não são compatíveis.

note: type: Plain text
en: For credential lookups, the files are read in the order given above, with the first matching credential found taking precedence over credentials found in files further down the list.
pt_BR: Para pesquisas das credenciais, os arquivos são lidos na ordem acima, com a primeira credencial coincidente que for encontrada tendo precedência sobre as credenciais encontradas nos arquivos mais abaixo na lista.

note: type: Plain text
en: Credential storage will by default write to the first existing file in the list. If none of these files exist, `~/.git-credentials` will be created and written to.
pt_BR: Por predefinição o armazenamento das credenciais será gravado no primeiro arquivo existente na lista. Caso nenhum destes arquivos exista, serão criadas e gravadas em `~/.git-credentials`.

note: type: Plain text
en: When erasing credentials, matching credentials will be erased from all files.
pt_BR: Ao apagar as credenciais, aquelas que forem coincidentes serão apagadas de todos os arquivos.

note: type: delimited block -
en: $ git config credential.helper store
    $ git push http://example.com/repo.git
    Username: <type your username>
    Password: <type your password>
pt_BR: $ git config credential.helper store
    $ git push http://example.com/repo.git
    Username: <digite o seu nome de usuário>
    Password: <digite a sua senha>

note: type: delimited block -
en: [several days later]
    $ git push http://example.com/repo.git
    [your credentials are used automatically]
pt_BR: [alguns dias depois]
    $ git push http://example.com/repo.git
    [as suas credenciais são utilizadas de forma automática]

note: type: Title -
en: STORAGE FORMAT
pt_BR: FORMATO DE ARMAZENAMENTO

note: type: Plain text
en: The `.git-credentials` file is stored in plaintext. Each credential is stored on its own line as a URL like:
pt_BR: O arquivo `.git credentials` é armazenado em texto puro sem formatação. Cada credencial é armazenada em sua própria linha como uma URL:

note: type: delimited block -
en: https://user:pass@example.com
pt_BR: https://usuário:senha@example.com

note: type: Plain text
en: No other kinds of lines (e.g. empty lines or comment lines) are allowed in the file, even though some may be silently ignored. Do not view or edit the file with editors.
pt_BR: Nenhum outro tipo de linha (como por exemplo, as linhas vazias ou as linhas dos comentários) é permitido no arquivo, mesmo que algumas possam ser ignoradas silenciosamente. Não exiba ou edite o arquivo com editores.

note: type: Plain text
en: When Git needs authentication for a particular URL context, credential-store will consider that context a pattern to match against each entry in the credentials file.  If the protocol, hostname, and username (if we already have one) match, then the password is returned to Git. See the discussion of configuration in linkgit:gitcredentials[7] for more information.
pt_BR: Quando o Git precisa de autenticação para um contexto URL específico, o armazenamento de credenciais considerará o padrão deste contexto para coincidir com cada entrada no arquivo de credenciais.  Caso o protocolo, o nome do host e o nome do usuário (caso tenhamos um) coincidam, a senha será retornada ao Git. Consulte a discussão da configuração em linkgit:gitcredentials[7] para mais informações.

note: type: Plain text
en: git-credential - Retrieve and store user credentials
pt_BR: git-credential - Recupere e armazene as credenciais do usuário

note: type: Plain text
en: Git has an internal interface for storing and retrieving credentials from system-specific helpers, as well as prompting the user for usernames and passwords. The git-credential command exposes this interface to scripts which may want to retrieve, store, or prompt for credentials in the same manner as Git. The design of this scriptable interface models the internal C API; see credential.h for more background on the concepts.
pt_BR: O Git possui uma interface interna para armazenar e recuperar as credenciais dos ajudantes específicos do sistema, além de solicitar ao usuário os nomes dos usuários e as suas respectivas senhas. O comando `git-credential` expõe essa interface a scripts que podem recuperar, armazenar ou solicitar credenciais da mesma maneira que o Git. O design dessa interface programável modela ao API C interno; consulte o `credential.h` para obter mais informações sobre os conceitos.

note: type: Plain text
en: git-credential takes an "action" option on the command-line (one of `fill`, `approve`, or `reject`) and reads a credential description on stdin (see <<IOFMT,INPUT/OUTPUT FORMAT>>).
pt_BR: O `git-credential` usa uma "ação" como opção na linha de comando (uma das opções `fill`, `aprove` ou `reject`) e lê uma descrição da credencial no "stdin" (consulte <<IOFMT,INPUT/OUTPUT FORMAT>>).

note: type: Plain text
en: If the action is `fill`, git-credential will attempt to add "username" and "password" attributes to the description by reading config files, by contacting any configured credential helpers, or by prompting the user. The username and password attributes of the credential description are then printed to stdout together with the attributes already provided.
pt_BR: Caso a ação seja `fill`, o comando tentará adicionar os atributos "username" e "password" à descrição lendo os arquivos de configuração ao contactar qualquer auxiliar de credencial configurado ou solicitando ao usuário. Os atributos de nome de usuário e senha da descrição da credencial são impressos para "stdout" junto com os atributos já informados.

note: type: Plain text
en: If the action is `approve`, git-credential will send the description to any configured credential helpers, which may store the credential for later use.
pt_BR: Caso a ação for `approve` (aprovar), o comando `git-credential` enviará a descrição a todos os auxiliares de credenciais configurados, que poderão armazenar a credencial para uso posterior.

note: type: Plain text
en: If the action is `reject`, git-credential will send the description to any configured credential helpers, which may erase any stored credential matching the description.
pt_BR: Caso a ação seja `reject`, o comando `git-credential` enviará a descrição para qualquer auxiliar de credencial configurado, o que poderá apagar quaisquer credenciais armazenadas que coincidam com a descrição.

note: type: Plain text
en: If the action is `approve` or `reject`, no output should be emitted.
pt_BR: Caso a ação seja `approve` ou `reject`, nenhum alerta será emitido.

note: type: Title -
en: TYPICAL USE OF GIT CREDENTIAL
pt_BR: UTILIZAÇÃO TÍPICA DO GIT CREDENTIAL

note: type: Plain text
en: An application using git-credential will typically use `git credential` following these steps:
pt_BR: Um aplicativo que utilize o comando `git-credential` normalmente usa `git credential` seguindo estas etapas:

note: type: Plain text
en: Generate a credential description based on the context.
pt_BR: Gere um descritivo da credencial com base no contexto.

note: type: Plain text
en: For example, if we want a password for `https://example.com/foo.git`, we might generate the following credential description (don't forget the blank line at the end; it tells `git credential` that the application finished feeding all the information it has):
pt_BR: Por exemplo, caso queira uma senha para `https://example.com/foo.git`, poderemos gerar o seguinte descritivo para a credencial (não se esqueça da linha em branco no final; informa `git credential` que o aplicativo terminou de encaminhar todas as informações que ele tinha):

note: type: Plain text
en: 	 protocol=https
    	 host=example.com
    	 path=foo.git
pt_BR: 	 protocol=https
    	 host=exemplo.com.br
    	 path=foo.git

note: type: Plain text
en: Ask git-credential to give us a username and password for this description. This is done by running `git credential fill`, feeding the description from step (1) to its standard input. The complete credential description (including the credential per se, i.e. the login and password) will be produced on standard output, like:
pt_BR: Peça à `git-credential` para nos fornecer um nome de usuário e senha para esta descrição. Isso é feito executando o comando `git credential fill`, alimentando a descrição da etapa (1) para a sua entrada predefinido. O descritivo completo da credencial (incluindo a credencial em si, ou seja, o login e a senha) será produzida como:

note: type: Plain text
en: protocol=https
    host=example.com
    username=bob
    password=secr3t
pt_BR: protocol=https
    host=exemplo.com.br
    username=bob
    password=secr3t

note: type: Plain text
en: In most cases, this means the attributes given in the input will be repeated in the output, but Git may also modify the credential description, for example by removing the `path` attribute when the protocol is HTTP(s) and `credential.useHttpPath` is false.
pt_BR: Na maioria dos casos, isso significa que os atributos informados na entrada serão repetidos na saída, mas o Git também poderá modificar a descrição da credencial, por exemplo, removendo o atributo `path` quando o protocolo for HTTP(s) e a variável `credential.useHttpPath` seja falsa.

note: type: Plain text
en: If the `git credential` knew about the password, this step may not have involved the user actually typing this password (the user may have typed a password to unlock the keychain instead, or no user interaction was done if the keychain was already unlocked) before it returned `password=secr3t`.
pt_BR: Caso o comando `git credential` saiba sobre a senha, esta etapa pode não ter o envolvimento do usuário que esteja digitando esta senha (o usuário pode ter digitado uma senha para desbloquear o chaveiro ou nenhuma interação do usuário foi feita caso o chaveiro já tenha sido desbloqueado) antes de retornar `password=secr3t`.

note: type: Plain text
en: Use the credential (e.g., access the URL with the username and password from step (2)), and see if it's accepted.
pt_BR: Utilize a credencial (por exemplo, acesse a URL com o nome de usuário e a senha da etapa (2)) e verifique se ela é aceita.

note: type: Plain text
en: Report on the success or failure of the password. If the credential allowed the operation to complete successfully, then it can be marked with an "approve" action to tell `git credential` to reuse it in its next invocation. If the credential was rejected during the operation, use the "reject" action so that `git credential` will ask for a new password in its next invocation. In either case, `git credential` should be fed with the credential description obtained from step (2) (which also contain the ones provided in step (1)).
pt_BR: Relate o sucesso ou falha da senha. Caso a credencial permita que a operação seja concluída com sucesso, ela pode ser marcada com uma ação "approve" para passar ao `git credential` para ser reutilizada na próxima invocação. Caso a credencial seja rejeitada durante a operação, utilize a ação "reject" para que o comando `git credential` solicite uma nova senha na próxima invocação. Em qualquer um dos casos, o comando `git credential` deve ser alimentado com o descritivo da credencial obtida na etapa (2) (que também contém aquelas informada na etapa (1)).

note: type: Title -
en: INPUT/OUTPUT FORMAT
pt_BR: FORMATO DE ENTRADA/SAÍDA

note: type: Plain text
en: `git credential` reads and/or writes (depending on the action used)  credential information in its standard input/output. This information can correspond either to keys for which `git credential` will obtain the login information (e.g. host, protocol, path), or to the actual credential data to be obtained (username/password).
pt_BR: O comando `git credential` lê ou grava (dependendo da ação utilizada) as informações da credencial na sua entrada e saída padrão. Esta informação pode corresponder às chaves pelas quais o comando `git credential` obterá as informações de login e senha (por exemplo, host, protocolo, caminho) ou aos dados da credencial real a serem obtidos (login e senha).

note: type: Plain text
en: The credential is split into a set of named attributes, with one attribute per line. Each attribute is specified by a key-value pair, separated by an `=` (equals) sign, followed by a newline.
pt_BR: A credencial é dividida em um conjunto de atributos informados, com um atributo por linha. Cada atributo é especificado por um par de valores-chave, separado por um sinal de `=` (igual), seguido por uma nova linha.

note: type: Plain text
en: The key may contain any bytes except `=`, newline, or NUL. The value may contain any bytes except newline or NUL.
pt_BR: A chave pode conter quaisquer bytes, exceto `=`, nova linha ou NUL. O valor pode conter quaisquer bytes, exceto uma nova linha ou NUL.

note: type: Plain text
en: In both cases, all bytes are treated as-is (i.e., there is no quoting, and one cannot transmit a value with newline or NUL in it). The list of attributes is terminated by a blank line or end-of-file.
pt_BR: Nos dois casos, todos os bytes são tratados como estão (ou seja, não há aspas e não é possível transmitir um valor com nova linha ou NUL nela). A lista de atributos é finalizada por uma linha em branco ou no final do arquivo.

note: type: Plain text
en: Git understands the following attributes:
pt_BR: O Git entende os seguintes atributos:

note: type: Plain text
en: The protocol over which the credential will be used (e.g., `https`).
pt_BR: O protocolo sobre o qual a credencial será utilizada (por exemplo, `https`).

note: type: Plain text
en: The remote hostname for a network credential.  This includes the port number if one was specified (e.g., "example.com:8088").
pt_BR: O nome do host remoto para uma credencial de rede.  Incluí o número da porta caso nenhuma seja informada("example.com:8088" por exemplo).

note: type: Plain text
en: The path with which the credential will be used. E.g., for accessing a remote https repository, this will be the repository's path on the server.
pt_BR: O caminho com o qual a credencial será utilizada. Por exemplo, para acessar um repositório https remoto, este será o caminho do repositório no servidor.

note: type: Plain text
en: The credential's username, if we already have one (e.g., from a URL, the configuration, the user, or from a previously run helper).
pt_BR: O nome de usuário da credencial, caso já tenhamos um (por exemplo, de uma URL, da configuração do usuário ou de um auxiliar executado anteriormente).

note: type: Plain text
en: The credential's password, if we are asking it to be stored.
pt_BR: A senha da credencial, caso estejamos solicitando o seu armazenamento.

note: type: Plain text
en: When this special attribute is read by `git credential`, the value is parsed as a URL and treated as if its constituent parts were read (e.g., `url=https://example.com` would behave as if `protocol=https` and `host=example.com` had been provided). This can help callers avoid parsing URLs themselves.
pt_BR: Quando esse atributo especial é lido através do `git credential`, o valor é analisado como uma URL e tratado como se as suas partes constituintes fossem lidas (como por exemplo, `url=https://example.com` se comportaria como se o `protocol = https` e `host=example.com` tenham sido fornecidos). Isso pode ajudar quem chama a evitar a análise das URLs eles mesmos.

note: type: Plain text
en: Note that specifying a protocol is mandatory and if the URL doesn't specify a hostname (e.g., "cert:///path/to/file") the credential will contain a hostname attribute whose value is an empty string.
pt_BR: Observe que a definição de um protocolo é obrigatório e caso a URL não informe o nome do host ("cert:///caminho/para/o/arquivo") o conteúdo da credencial terá o atributo do nome do host cujo valor seja vazio.

note: type: Plain text
en: Components which are missing from the URL (e.g., there is no username in the example above) will be left unset.
pt_BR: Os componentes ausentes na URL (não há um nome de usuário no exemplo acima por exemplo) serão deixados por sem uma definição.

note: type: Plain text
en: git-cvsexportcommit - Export a single commit to a CVS checkout
pt_BR: git-cvsexportcommit - Exportar um único commit para uma averiguação do CVS

note: type: Plain text
en: Exports a commit from Git to a CVS checkout, making it easier to merge patches from a Git repository into a CVS repository.
pt_BR: Exporta um commit do Git para um checkout do CVS, facilitando a mesclagem de patches de um repositório Git em um repositório CVS.

note: type: Plain text
en: Specify the name of a CVS checkout using the -w switch or execute it from the root of the CVS working copy. In the latter case GIT_DIR must be defined. See examples below.
pt_BR: Especifique o nome de uma verificação geral do CVS utilizando a opção `-w` ou execute uma cópia do trabalho a partir da raiz do CVS. No último caso, o `GIT_DIR` deve ser definido. Veja os exemplos abaixo.

note: type: Plain text
en: It does its best to do the safe thing, it will check that the files are unchanged and up to date in the CVS checkout, and it will not autocommit by default.
pt_BR: Ele faz o possível para garantir a segurança, verificará se os arquivos estão inalterados e atualizados no "checkout" do CVS e por predefinição, os commits não serão feitos automaticamente.

note: type: Plain text
en: Supports file additions, removals, and commits that affect binary files.
pt_BR: Oferece suporte a adições, remoções e commits que afetem os arquivos binários.

note: type: Plain text
en: If the commit is a merge commit, you must tell 'git cvsexportcommit' what parent the changeset should be done against.
pt_BR: Caso o commit seja um commit mesclado, informe ao `git cvsexportcommit` de qual origem o "changeset" deve ser feito.

note: type: Plain text
en: Commit automatically if the patch applied cleanly. It will not commit if any hunks fail to apply or there were other problems.
pt_BR: Faça o commit automaticamente caso o patch seja aplicado sem erros. O commit não será feito caso algum bloco falhe durante na aplicação ou caso haja outros problemas.

note: type: Plain text
en: Be pedantic (paranoid) when applying patches. Invokes patch with --fuzz=0
pt_BR: Seja paranoico ao aplicar os patches. Invoca o patch com a opção `--fuzz=0`

note: type: Plain text
en: Add authorship information. Adds Author line, and Committer (if different from Author) to the message.
pt_BR: Adicionar informações de autoria. Adiciona a linha do autor e de quem fez o commit (caso seja diferente do autor) na mensagem.

note: type: Plain text
en: Set an alternative CVSROOT to use.  This corresponds to the CVS -d parameter.  Usually users will not want to set this, except if using CVS in an asymmetric fashion.
pt_BR: Defina um CVSROOT alternativo para ser utilizado.  Isso corresponde ao parâmetro CVS `-d`.  Geralmente, os usuários não vão querer definir isso, exceto caso utilize o CVS de maneira assimétrica.

note: type: Plain text
en: Force the merge even if the files are not up to date.
pt_BR: Imponha a mesclagem mesmo que os arquivos não estejam atualizados.

note: type: Plain text
en: Force the parent commit, even if it is not a direct parent.
pt_BR: Imponha o commit da origem, ainda que não seja direto dela.

note: type: Plain text
en: Prepend the commit message with the provided prefix.  Useful for patch series and the like.
pt_BR: Anexe a mensagem do commit com o prefixo informado.  Útil para patches em série e similares.

note: type: Plain text
en: Update affected files from CVS repository before attempting export.
pt_BR: Atualize os arquivos afetados do repositório CVS antes de tentar exportar.

note: type: Plain text
en: Reverse CVS keyword expansion (e.g. $Revision: 1.2.3.4$ becomes $Revision$) in working CVS checkout before applying patch.
pt_BR: Reverta a expansão das palavras-chave do CVS (por exemplo, $Revision: 1.2.3.4$ se torna $Revision$) no CVS de trabalho antes de aplicar o patch.

note: type: Plain text
en: Specify the location of the CVS checkout to use for the export. This option does not require GIT_DIR to be set before execution if the current directory is within a Git repository.  The default is the value of 'cvsexportcommit.cvsdir'.
pt_BR: Especifique o local do checkout do CVS a ser utilizado para a exportação. Esta opção não requer que `GIT_DIR` seja definido antes da execução caso o diretório atual esteja dentro de um repositório Git.  O valor predefinido é o que está na variável `cvsexportcommit.cvsdir`.

note: type: Plain text
en: Tell cvsexportcommit that the current working directory is not only a Git checkout, but also the CVS checkout.  Therefore, Git will reset the working directory to the parent commit before proceeding.
pt_BR: Diga ao `cvsexportcommit` que o diretório de trabalho atual não é apenas um checkout do Git, mas também o checkout do CVS.  Portanto, o Git redefinirá o diretório de trabalho para o commit da origem antes de continuar.

note: type: Plain text
en: Verbose.
pt_BR: Loquaz.

note: type: Plain text
en: The default location of the CVS checkout to use for the export.
pt_BR: O local predefinido utilizado pelo checkout do CVS para a exportação.

note: type: Labeled list
en: Merge one patch into CVS
pt_BR: Mesclar um patch no CVS

note: type: delimited block -
en: $ export GIT_DIR=~/project/.git
    $ cd ~/project_cvs_checkout
    $ git cvsexportcommit -v <commit-sha1>
    $ cvs commit -F .msg <files>
pt_BR: $ export GIT_DIR=~/project/.git
    $ cd ~/project_cvs_checkout
    $ git cvsexportcommit -v <commit-sha1>
    $ cvs commit -F .msg <arquivos>

note: type: Labeled list
en: Merge one patch into CVS (-c and -w options). The working directory is within the Git Repo
pt_BR: Mescle um patch no CVS (as opções `-c` e `-w`). O diretório de trabalho está dentro do Git Repo

note: type: Labeled list
en: Merge pending patches into CVS automatically -- only if you really know what you are doing
pt_BR: Mesclar os patches pendentes no CVS automaticamente -- somente se você realmente souber o que está fazendo

note: type: Plain text
en: git-cvsimport - Salvage your data out of another SCM people love to hate
pt_BR: git-cvsimport - Recupere seus dados de outro SCM que as pessoas amam odiar

note: type: Plain text
en: 'git cvsimport' [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>]
    	      [-A <author-conv-file>] [-p <options-for-cvsps>] [-P <file>]
    	      [-C <git_repository>] [-z <fuzz>] [-i] [-k] [-u] [-s <subst>]
    	      [-a] [-m] [-M <regex>] [-S <regex>] [-L <commitlimit>]
    	      [-r <remote>] [-R] [<CVS_module>]
pt_BR: 'git cvsimport' [-o <ramo-para-o-HEAD>] [-h] [-v] [-d <CVSROOT>]
    	      [-A <arquivos-conv-do-autor>] [-p <opções-para-o-cvsps>] [-P <arquivo>]
    	      [-C <repositório-git>] [-z <fuzz>] [-i] [-k] [-u] [-s <subst>]
    	      [-a] [-m] [-M <expressão-regular>] [-S <expressão-regular>] [-L <commitlimit>]
    	      [-r <remoto>] [-R] [<módulo-CVS>]

note: type: Plain text
en: *WARNING:* `git cvsimport` uses cvsps version 2, which is considered
    deprecated; it does not work with cvsps version 3 and later.  If you are
    performing a one-shot import of a CVS repository consider using
    http://cvs2svn.tigris.org/cvs2git.html[cvs2git] or
    http://www.catb.org/esr/cvs-fast-export/[cvs-fast-export].
pt_BR: *ADVERTÊNCIA* o comando `git cvsimport` usa o cvsps versão 2 já descontinuada;
    não funciona com o vcsps versão 3 e posteriores.  Caso esteja
    executando uma importação única de um repositório CVS ,considere usar
    http://cvs2svn.tigris.org/cvs2git.html[cvs2git] ou
    http://www.catb.org/esr/cvs-fast-export/[cvs-fast-export].

note: type: Plain text
en: Imports a CVS repository into Git. It will either create a new repository, or incrementally import into an existing one.
pt_BR: Importa um repositório CVS para o Git. Ele criará um novo repositório ou o importará incrementalmente para um já existente.

note: type: Plain text
en: Splitting the CVS log into patch sets is done by 'cvsps'.  At least version 2.1 is required.
pt_BR: A divisão do registro log do CVS em conjuntos de patches é feito por `cvsps`.  É necessário usar no mínimo a versão 2.1.

note: type: Plain text
en: *WARNING:* for certain situations the import leads to incorrect results.
    Please see the section <<issues,ISSUES>> for further reference.
pt_BR: *ADVERTÊNCIA:* em determinadas situações, a importação leva a resultados incorretos.
    Consulte a seção <<issues,ISSUES>> para futuras referências.

note: type: Plain text
en: You should *never* do any work of your own on the branches that are created by 'git cvsimport'.  By default initial import will create and populate a "master" branch from the CVS repository's main branch which you're free to work with; after that, you need to 'git merge' incremental imports, or any CVS branches, yourself.  It is advisable to specify a named remote via -r to separate and protect the incoming branches.
pt_BR: Você nunca *deve* fazer qualquer trabalho seu nos ramos criados pelo `git cvsimport`.  É predefinido que a importação inicial criará e irá preencher uma ramificação "master" a partir do ramo principal do repositório CVS, com a qual você poderá trabalhar livremente; depois disso, você precisará fazer uma importação incremental com o comando `git merge` ou quaisquer outras ramificações do CVS você mesmo.  É aconselhável determinar um nome remoto através de `-r` para separar e proteger as ramificações recebidas.

note: type: Plain text
en: If you intend to set up a shared public repository that all developers can read/write, or if you want to use linkgit:git-cvsserver[1], then you probably want to make a bare clone of the imported repository, and use the clone as the shared repository.  See linkgit:gitcvs-migration[7].
pt_BR: Caso a sua intenção seja configurar um repositório público compartilhado para que todos os desenvolvedores tenham permissão de leitura e escrita ou caso queiram utilizar o linkgit:git-cvsserver[1], então é preferível que você crie um clone simples do seu repositório importado para que seja utilizado como um repositório compartilhado.  Consulte linkgit:gitcvs-migration[7].

note: type: Plain text
en: Verbosity: let 'cvsimport' report what it is doing.
pt_BR: Loquaz: permita que `cvsimport` relate o que está fazendo.

note: type: Plain text
en: The root of the CVS archive. May be local (a simple path) or remote; currently, only the :local:, :ext: and :pserver: access methods are supported. If not given, 'git cvsimport' will try to read it from `CVS/Root`. If no such file exists, it checks for the `CVSROOT` environment variable.
pt_BR: A raiz do arquivo CVS. Pode ser local (um caminho simples) ou remoto; atualmente, são compatíveis apenas o :local:, :ext: e :pserver: access. Caso não seja utilizado, o comando `git cvsimport` tentará a ler do `CVS/Root`. No caso de tal arquivo não existir, verifica a existência da variável de ambiente `CVSROOT`.

note: type: Labeled list
en: <CVS_module>
pt_BR: <módulo-CVS>

note: type: Plain text
en: The CVS module you want to import. Relative to <CVSROOT>.  If not given, 'git cvsimport' tries to read it from `CVS/Repository`.
pt_BR: O módulo CVS que deseja importar. Relativo ao <CVSROOT>.  Caso não seja utilizado, o comando `git cvsimport` tenta ler do `CVS/Repository`.

note: type: Labeled list
en: -C <target-dir>
pt_BR: -C <diretório-de-destino>

note: type: Plain text
en: The Git repository to import to.  If the directory doesn't
pt_BR: O repositório Git para o qual irá importar.  Se o diretório não

note: type: Plain text
en: exist, it will be created.  Default is the current directory.
pt_BR: existir, ele será criado.  A predefinição é o diretório atual.

note: type: Labeled list
en: -r <remote>
pt_BR: -r <remoto>

note: type: Plain text
en: The Git remote to import this CVS repository into.  Moves all CVS branches into remotes/<remote>/<branch> akin to the way 'git clone' uses 'origin' by default.
pt_BR: O Git remoto para importar este repositório CVS.  Move todas as ramificações do CVS nos ramos remotos/<remoto>/<ramo>, semelhante a maneira predefinida como o comando 'git clone' usa 'origin'.

note: type: Labeled list
en: -o <branch-for-HEAD>
pt_BR: -o <ramo-para-o-HEAD>

note: type: Plain text
en: When no remote is specified (via -r) the `HEAD` branch from CVS is imported to the 'origin' branch within the Git repository, as `HEAD` already has a special meaning for Git.  When a remote is specified the `HEAD` branch is named remotes/<remote>/master mirroring 'git clone' behaviour.  Use this option if you want to import into a different branch.
pt_BR: Quando nenhum ponto remoto definido (via `-r`), o ramo `HEAD` do CVS é importado para o ramo 'origin' dentro do repositório Git, pois o` HEAD` já possui um significado especial para o Git.  Quando um ponto remoto é especificado, o ramo `HEAD` é chamado de remotes/<remoto>/master espelhando-se no comportamento do comando `git clone`.  Utilize esta opção caso queira importar para uma ramificação diferente.

note: type: Plain text
en: Use '-o master' for continuing an import that was initially done by the old cvs2git tool.
pt_BR: Utilize `-o master` para continuar uma importação que foi inicialmente feita pela antiga ferramenta `cvs2git`.

note: type: Plain text
en: Import-only: don't perform a checkout after importing.  This option ensures the working directory and index remain untouched and will not create them if they do not exist.
pt_BR: Import-only: não realize o "checkout" após a importação.  Esta opção garante que o diretório e o índice de trabalho permaneçam intocados e não os criará caso eles não existam.

note: type: Plain text
en: Kill keywords: will extract files with '-kk' from the CVS archive to avoid noisy changesets. Highly recommended, but off by default to preserve compatibility with early imported trees.
pt_BR: Kill keywords: extrairá arquivos com `-kk` do arquivo CVS para evitar atritos com o `changesets`. Altamente recomendado, a sua predefinição retorna para desativado visando preservar a compatibilidade com as árvores importadas anteriormente.

note: type: Plain text
en: Convert underscores in tag and branch names to dots.
pt_BR: Converta sublinhados nos nomes das tags e das ramificações em pontos.

note: type: Plain text
en: Substitute the character "/" in branch names with <subst>
pt_BR: Substitua o caractere "/" nos nomes dos ramos com `<subs>`

note: type: Labeled list
en: -p <options-for-cvsps>
pt_BR: -p <opções-para-o-cvsps>

note: type: Plain text
en: Additional options for cvsps.  The options `-u` and '-A' are implicit and should not be used here.
pt_BR: Opções adicionais para o cvsps.  As opções `-u` e `-A` estão implícitas e não devem ser utilizadas aqui.

note: type: Plain text
en: If you need to pass multiple options, separate them with a comma.
pt_BR: Caso precise usar várias opções, separe-as com uma vírgula.

note: type: Plain text
en: Pass the timestamp fuzz factor to cvsps, in seconds. If unset, cvsps defaults to 300s.
pt_BR: Encaminhe o registro de data e hora do fato "fuzz" ao cvsps em segundos. Caso não esteja definido, o cvsps retorna para a predefinição 300s.

note: type: Labeled list
en: -P <cvsps-output-file>
pt_BR: -P <arquivo-cvsps-gerado>

note: type: Plain text
en: Instead of calling cvsps, read the provided cvsps output file. Useful for debugging or when cvsps is being handled outside cvsimport.
pt_BR: Em vez de chamar o cvsps, leia o arquivo cvsps fornecido. Útil para a depuração ou quando o cvsps está sendo manuseado fora do `cvsimport`.

note: type: Plain text
en: Attempt to detect merges based on the commit message. This option will enable default regexes that try to capture the source branch name from the commit message.
pt_BR: Tente detectar as mesclagens com base na mensagem do commit. Esta opção ativará as expressões regulares que tentam capturar o nome da origem do ramo na mensagem do commit.

note: type: Labeled list
en: -M <regex>
pt_BR: -M <expressão-regular>

note: type: Plain text
en: Attempt to detect merges based on the commit message with a custom regex. It can be used with `-m` to enable the default regexes as well. You must escape forward slashes.
pt_BR: Tenta detectar as mesclagens com base na mensagem do commit com um regex personalizado. Ele pode ser utilizado com a opção `-m` para ativar os regexes já predefinidos. Você deve escapar as barras inclinadas.

note: type: Plain text
en: The regex must capture the source branch name in $1.
pt_BR: O regex deve capturar o nome da origem do ramo em $1.

note: type: Plain text
en: This option can be used several times to provide several detection regexes.
pt_BR: Esta opção pode ser utilizada várias vezes para fornecer vários regexes de detecção.

note: type: Labeled list
en: -S <regex>
pt_BR: -S <expressão-regular>

note: type: Plain text
en: Skip paths matching the regex.
pt_BR: Ignore os caminhos que correspondam ao regex.

note: type: Plain text
en: Import all commits, including recent ones. cvsimport by default skips commits that have a timestamp less than 10 minutes ago.
pt_BR: importe todos os commits, incluindo os mais recentes. Por predefinição o `cvsimport` ignora os commits que têm o registro de data e hora menor que 10 minutos.

note: type: Labeled list
en: -L <limit>
pt_BR: -L <limite>

note: type: Plain text
en: Limit the number of commits imported. Workaround for cases where cvsimport leaks memory.
pt_BR: Limita a quantidade de commit a serem importados. Solução alternativa para os casos em que o `cvsimport` vaza memória.

note: type: Labeled list
en: -A <author-conv-file>
pt_BR: -A <arquivos-conv-do-autor>

note: type: Plain text
en: CVS by default uses the Unix username when writing its commit logs. Using this option and an author-conv-file maps the name recorded in CVS to author name, e-mail and optional time zone:
pt_BR: Por predefinição o CVS utiliza nome de usuário em formato Unix ao escrever os registros log dos commits. O uso desta opção e de um arquivo `conv` do autor mapeia o nome registrado no CVS para o nome do autor, endereço de email e o fuso horário opcional:

note: type: delimited block -
en: 	exon=Andreas Ericsson <ae@op5.se>
    	spawn=Simon Pawn <spawn@frog-pond.org> America/Chicago
pt_BR: 	exon=José Antônio <ja@enois.br>
    	spawn=Paulo Roberto <parob@empresa.org> America/Sao_Paulo

note: type: Plain text
en: 'git cvsimport' will make it appear as those authors had their GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly all along.  If a time zone is specified, GIT_AUTHOR_DATE will have the corresponding offset applied.
pt_BR: O `git cvsimport` fará com que estes autores apareçam como se sempre tivessem as variáveis `GIT_AUTHOR_NAME` e `GIT_AUTHOR_EMAIL` corretamente definidas o tempo todo.  Se um fuso horário for utilizado, a variável `GIT_AUTHOR_DATE` terá a correção do fuso horário correspondente devidamente ajustado.

note: type: Plain text
en: For convenience, this data is saved to `$GIT_DIR/cvs-authors` each time the '-A' option is provided and read from that same file each time 'git cvsimport' is run.
pt_BR: Por conveniência, esses dados são salvos em `$GIT_DIR/cvs-authors` sempre que a opção `-A` for utilizada e lidos deste mesmo arquivo sempre que o comando `git cvsimport` for executado.

note: type: Plain text
en: It is not recommended to use this feature if you intend to export changes back to CVS again later with 'git cvsexportcommit'.
pt_BR: Não é recomendável usar esse recurso caso você queira exportar as alterações novamente para o CVS mais tarde com o comando `git cvsexportcommit`.

note: type: Plain text
en: Generate a `$GIT_DIR/cvs-revisions` file containing a mapping from CVS revision numbers to newly-created Git commit IDs.  The generated file will contain one line for each (filename, revision) pair imported; each line will look like
pt_BR: Gere um arquivo `$GIT_DIR/cvs-revisions` contendo um mapeamento dos números da revisão do CVS para os IDs dos commits do Git recém-criados.  O arquivo gerado conterá uma linha para cada par (nome do arquivo, revisão) importado; cada linha será semelhante a

note: type: Plain text
en: The revision data is appended to the file if it already exists, for use when doing incremental imports.
pt_BR: Os dados da revisão são anexados ao arquivo, para uso ao fazer as importações incrementais, caso já exista.

note: type: Plain text
en: This option may be useful if you have CVS revision numbers stored in commit messages, bug-tracking systems, email archives, and the like.
pt_BR: Esta opção pode ser útil caso tenha os números da revisão do CVS armazenados nas mensagens do commit, sistemas de rastreamento de erros, arquivos de email e similares.

note: type: Plain text
en: Print a short usage message and exit.
pt_BR: Imprima uma mensagem curta de uso e encerre.

note: type: Plain text
en: If `-v` is specified, the script reports what it is doing.
pt_BR: Caso `-v` seja utilizado, o script informa o quê está fazendo.

note: type: Plain text
en: Otherwise, success is indicated the Unix way, i.e. by simply exiting with a zero exit status.
pt_BR: Caso contrário, o sucesso é indicado da maneira Unix, ou seja, simplesmente saindo com um status de saída zero.

note: type: Title -
en: ISSUES
pt_BR: PROBLEMAS

note: type: Plain text
en: Problems related to timestamps:
pt_BR: Problemas relacionados aos registro de data e hora:

note: type: Plain text
en: If timestamps of commits in the CVS repository are not stable enough to be used for ordering commits changes may show up in the wrong order.
pt_BR: Caso os registro de data e hora dos commits no repositório CVS não forem estáveis o suficiente para serem utilizados para ordenar os commits, estes poderão aparecer na ordem errada.

note: type: Plain text
en: If any files were ever "cvs import"ed more than once (e.g., import of more than one vendor release) the HEAD contains the wrong content.
pt_BR: Caso algum arquivo seja "importado por cvs" mais de uma vez (por exemplo, a importação de mais de uma versão do fornecedor), o conteúdo do `HEAD` estará errado.

note: type: Plain text
en: If the timestamp order of different files cross the revision order within the commit matching time window the order of commits may be wrong.
pt_BR: Caso a ordem do registro de data e hora dos diferentes arquivos cruze com a ordem da revisão dentro do commit que concida com a janela de tempo do commit, a ordem dos commits poderá estar incorreta.

note: type: Plain text
en: Problems related to branches:
pt_BR: Problemas relacionados com os ramos:

note: type: Plain text
en: Branches on which no commits have been made are not imported.
pt_BR: As ramificações não são importadas quando nenhum commit tenha sido for feito neles.

note: type: Plain text
en: All files from the branching point are added to a branch even if never added in CVS.
pt_BR: Todos os arquivos do ponto de ramificação são adicionados a um ramo, mesmo que nunca sejam adicionados ao CVS.

note: type: Plain text
en: This applies to files added to the source branch *after* a daughter branch was created: if previously no commit was made on the daughter branch they will erroneously be added to the daughter branch in git.
pt_BR: Isso aplica-se aos arquivos adicionados ao ramo de origem *após* a criação de uma ramificação filha tenha sido criada: no caso de nenhum commit anterior ter sido feito nesta ramificação filha, esta será erroneamente adicionada ao git.

note: type: Plain text
en: Problems related to tags:
pt_BR: Problemas relacionados com as tags:

note: type: Plain text
en: Multiple tags on the same revision are not imported.
pt_BR: Caso a mesma revisão tenha várias tags, elas não serão importadas.

note: type: Plain text
en: If you suspect that any of these issues may apply to the repository you want to import, consider using cvs2git:
pt_BR: Se você suspeitar que algum desses problemas possa se aplicar ao repositório que você deseja importar, considere usar o cvs2git:

note: type: Plain text
en: git-cvsserver - A CVS server emulator for Git
pt_BR: git-cvsserver - Um emulador CVS para o Git

note: type: Plain text
en: Usage:
pt_BR: Uso:

note: type: Plain text
en: 'git-cvsserver' [<options>] [pserver|server] [<directory> ...]
pt_BR: 'git-cvsserver' [<opções>] [pserver|server] [<diretório> ...]

note: type: Plain text
en: All these options obviously only make sense if enforced by the server side.  They have been implemented to resemble the linkgit:git-daemon[1] options as closely as possible.
pt_BR: Obviamente, todas essas opções só fazem sentido se aplicadas pelo lado do servidor.  Eles foram implementados para se parecerem o mais próximo possível com as opções linkgit:git-daemon[1].

note: type: Labeled list
en: --base-path <path>
pt_BR: --base-path <caminho>

note: type: Plain text
en: Prepend 'path' to requested CVSROOT
pt_BR: Acrescente o `caminho` para o CVSROOT solicitado

note: type: Plain text
en: Don't allow recursing into subdirectories
pt_BR: Não permitir a recorrência em subdiretórios

note: type: Plain text
en: Don't check for `gitcvs.enabled` in config. You also have to specify a list of allowed directories (see below) if you want to use this option.
pt_BR: Não verifique por `gitcvs.enabled` na configuração. Caso queira usar esta opção você também precisa especificar uma lista de diretórios permitidos (veja abaixo).

note: type: Plain text
en: Print version information and exit
pt_BR: Imprima a informação da versão e encerre

note: type: Plain text
en: Print usage information and exit
pt_BR: Imprima a informação de uso e encerre

note: type: Plain text
en: You can specify a list of allowed directories. If no directories are given, all are allowed. This is an additional restriction, gitcvs access still needs to be enabled by the `gitcvs.enabled` config option unless `--export-all` was given, too.
pt_BR: Você pode especificar uma lista de diretórios permitidos. Caso nenhum diretório seja informado, todos serão permitidos. Esta é uma restrição adicional, o acesso ao `gitcvs` ainda precisa ser ativado pela opção da configuração do `gitcvs.enabled`, a menos que o `--export=all` também tenha sido utilizado.

note: type: Plain text
en: This application is a CVS emulation layer for Git.
pt_BR: Esta aplicação é uma camada de emulação do CVS para o Git.

note: type: Plain text
en: It is highly functional. However, not all methods are implemented, and for those methods that are implemented, not all switches are implemented.
pt_BR: É altamente funcional. No entanto, nem todos os métodos são implementados e para os métodos já implementados, nem todos as chaves estão implementadas.

note: type: Plain text
en: Testing has been done using both the CLI CVS client, and the Eclipse CVS plugin. Most functionality works fine with both of these clients.
pt_BR: O teste foi realizado utilizando o cliente CLI CVS e o plug-in Eclipse CVS. A maioria das funcionalidades funciona bem com esses dois clientes.

note: type: Title -
en: LIMITATIONS
pt_BR: LIMITAÇÕES

note: type: Plain text
en: CVS clients cannot tag, branch or perform Git merges.
pt_BR: Os clientes CVS não podem marcar, ramificar ou executar mesclagens do Git.

note: type: Plain text
en: 'git-cvsserver' maps Git branches to CVS modules. This is very different from what most CVS users would expect since in CVS modules usually represent one or more directories.
pt_BR: O comando `git-cvsserver` mapeia as ramificações do Git para os módulos CVS. Isso é muito diferente do que a maioria dos usuários do CVS esperariam, uma vez que nos módulos do CVS geralmente representam um ou mais diretórios.

note: type: Title -
en: INSTALLATION
pt_BR: INSTALAÇÃO

note: type: Plain text
en: If you are going to offer CVS access via pserver, add a line in /etc/inetd.conf like
pt_BR: Caso queira oferecer acesso ao CVS via `pserver`, adicione uma linha no `/etc/inetd.conf`, exemplo

note: type: Plain text
en: Note: Some inetd servers let you specify the name of the executable independently of the value of argv[0] (i.e. the name the program assumes it was executed with). In this case the correct line in /etc/inetd.conf looks like
pt_BR: Alguns servidores `inetd` permite especificar o nome do executável independentemente do valor de `argv[0]` (ou seja, o nome com o qual o programa assume que foi executado). Nesse caso, a linha correta no `/etc/inetd.conf` se parece com

note: type: Plain text
en: Only anonymous access is provided by pserve by default. To commit you will have to create pserver accounts, simply add a gitcvs.authdb setting in the config file of the repositories you want the cvsserver to allow writes to, for example:
pt_BR: Por predefinição, o `pserve` oferece apenas o acesso anônimo. Para fazer o commit, você precisará criar contas `pserver`, basta adicionar uma configuração `gitcvs.authdb` no arquivo de configuração dos repositórios nos quais você deseja que o `cvsserver` tenha permissão de gravação, por exemplo:

note: type: Plain text
en: The format of these files is username followed by the encrypted password, for example:
pt_BR: O formato destes arquivos é o nome do usuário seguido pela senha criptografada, por exemplo:

note: type: Plain text
en: You can use the 'htpasswd' facility that comes with Apache to make these files, but Apache's MD5 crypt method differs from the one used by most C library's crypt() function, so don't use the -m option.
pt_BR: Você pode usar o recurso `htpasswd` que acompanha o Apache para criar estes arquivos, mas o método MD5 de criptografia do Apache difere daquele utilizado pela maioria das funções `crypt()` da biblioteca C, portanto, não utilize a opção `-m`.

note: type: Plain text
en: Alternatively you can produce the password with perl's crypt() operator:
pt_BR: Como alternativa, você pode produzir a senha com o operador `crypt()` do perl:

note: type: Plain text
en: Then provide your password via the pserver method, for example:
pt_BR: Em seguida, forneça sua senha pelo método `pserver`, por exemplo:

note: type: delimited block -
en:    cvs -d:pserver:someuser:somepassword <at> server/path/repo.git co <HEAD_name>
pt_BR:    cvs -d:pserver:algum-usuário:alguma-senha <at> server/path/repo.git co <HEAD_name>

note: type: Plain text
en: No special setup is needed for SSH access, other than having Git tools in the PATH. If you have clients that do not accept the CVS_SERVER environment variable, you can rename 'git-cvsserver' to `cvs`.
pt_BR: Nenhuma configuração especial é necessária para o acesso SSH, além de ter as ferramentas Git no PATH. Caso tenha clientes que não aceitam a variável de ambiente `CVS_SERVER`, é possível renomear o `git-cvsserver` para `cvs`.

note: type: Plain text
en: Note: Newer CVS versions (>= 1.12.11) also support specifying CVS_SERVER directly in CVSROOT like
pt_BR: Observação: As versões mais recentes do CVS (>= 1.12.11) também é compatível a especificação do `CVS_SERVER` diretamente no `CVSROOT`, como

note: type: Plain text
en: This has the advantage that it will be saved in your 'CVS/Root' files and you don't need to worry about always setting the correct environment variable.  SSH users restricted to 'git-shell' don't need to override the default with CVS_SERVER (and shouldn't) as 'git-shell' understands `cvs` to mean 'git-cvsserver' and pretends that the other end runs the real 'cvs' better.
pt_BR: Isso tem a vantagem de ser salvo nos arquivos `CVS/Root` e você não precisa se preocupar em sempre definir a variável do ambiente corretamente.  Os usuários SSH restritos ao `git shell` não precisam substituir a predefinição com `CVS_SERVER` (e não deveriam), pois o `git shell` entende o `cvs` como `git-cvsserver` e finge que a outra extremidade executa melhor o `cvs` real.

note: type: Plain text
en: For each repo that you want accessible from CVS you need to edit config in the repo and add the following section.
pt_BR: Para cada repositório que você queira acessar no CVS, é necessário editar a configuração no repositório e adicionar a seção a seguir.

note: type: delimited block -
en:    [gitcvs]
            enabled=1
            # optional for debugging
    	logFile=/path/to/logfile
pt_BR:    [gitcvs]
            enabled=1
            # optional for debugging
    	logFile=/caminho/para/o/logfile

note: type: Plain text
en: Note: you need to ensure each user that is going to invoke 'git-cvsserver' has write access to the log file and to the database (see <<dbbackend,Database Backend>>. If you want to offer write access over SSH, the users of course also need write access to the Git repository itself.
pt_BR: Observação: você precisa garantir que cada usuário que invoque o comando `git-cvsserver` tenha acesso de gravação ao arquivo de registro log e ao banco de dados (consulte <<dbbackend,Database Backend>>. Caso queira oferecer acesso de gravação via SSH, é óbvio que os usuários também precisam ter acesso de gravação ao próprio repositório Git.

note: type: Plain text
en: You also need to ensure that each repository is "bare" (without a Git index file) for `cvs commit` to work. See linkgit:gitcvs-migration[7].
pt_BR: Você também precisa garantir que cada repositório seja "simples" (sem um arquivo do índice do Git) para que o comando `cvs commit` funcione. Consulte linkgit:gitcvs-migration[7].

note: type: Plain text
en: All configuration variables can also be overridden for a specific method of access. Valid method names are "ext" (for SSH access) and "pserver". The following example configuration would disable pserver access while still allowing access over SSH.
pt_BR: Todas as variáveis de configuração também podem ser substituídas por um método específico de acesso. Os nomes para os métodos válidos são `ext` (para acesso SSH) e `pserver`. O exemplo da configuração a seguir desabilitaria o acesso ao `pserver` enquanto ainda permita o acesso pelo SSH.

note: type: Plain text
en: If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout command, automatically saving it in your 'CVS/Root' files, then you need to set them explicitly in your environment.  CVSROOT should be set as per normal, but the directory should point at the appropriate Git repo.  As above, for SSH clients _not_ restricted to 'git-shell', CVS_SERVER should be set to 'git-cvsserver'.
pt_BR: Caso não tenha especificado o `CVSROOT/CVS_SERVER` diretamente no comando do checkout, salvando-o automaticamente nos arquivos 'CVS/Root', então é necessário defini-los de forma explicita na sua variável de ambiente.  O `CVSROOT` deve ser definido normalmente, mas o diretório deve apontar para o repositório Git apropriado.  Como acima, os clientes SSH _não_ estão restritos ao `git-shell`, o `CVS_SERVER` deve ser definido com o comando `git cvsserver`.

note: type: Plain text
en: For SSH clients that will make commits, make sure their server-side .ssh/environment files (or .bashrc, etc., according to their specific shell)  export appropriate values for GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, GIT_COMMITTER_NAME, and GIT_COMMITTER_EMAIL.  For SSH clients whose login shell is bash, .bashrc may be a reasonable alternative.
pt_BR: Para clientes SSH que efetuam commits, verifique se os arquivos `.ssh/environment` do lado do servidor (ou `.bashrc`, etc., de acordo com o seu ambiente shell da sia distro) exportam os valores apropriados para `GIT_AUTHOR_NAME`, `GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_NAME` e `GIT_COMMITTER_EMAIL`.  Para clientes SSH cujo shell de login seja o bash, o `.bashrc` pode ser uma alternativa razoável.

note: type: Plain text
en: Clients should now be able to check out the project. Use the CVS 'module' name to indicate what Git 'head' you want to check out.  This also sets the name of your newly checked-out directory, unless you tell it otherwise with `-d <dir_name>`.  For example, this checks out 'master' branch to the `project-master` directory:
pt_BR: Os clientes agora devem conseguir fazer a averiguação no projeto. Utilize o nome do 'module' do CVS para indicar qual 'head' do Git você deseja fazer a averiguação.  Isso também define o nome do diretório que foi feito a averiguação recentemente, a menos que você diga o contrário com a opção `-d`. Por exemplo, isso faz check-out do ramo 'master' no diretório `master do projeto`:  Por exemplo, é verificado o ramo 'master' no diretório `project-master`:

note: type: Title -
en: DATABASE BACKEND
pt_BR: ESTRUTURA DO BANCO DE DADOS

note: type: Plain text
en: 'git-cvsserver' uses one database per Git head (i.e. CVS module) to store information about the repository to maintain consistent CVS revision numbers. The database needs to be updated (i.e. written to) after every commit.
pt_BR: O comando `git-cvsserver` utiliza um banco de dados por cabeçalho Git (ou seja, módulo CVS) para armazenar as informações sobre o repositório, para manter números de revisão do CVS consistentes. O banco de dados precisa ser atualizado após cada commit.

note: type: Plain text
en: If the commit is done directly by using `git` (as opposed to using 'git-cvsserver') the update will need to happen on the next repository access by 'git-cvsserver', independent of access method and requested operation.
pt_BR: Caso o commit seja feito diretamente utilizando o `git` (em vez de usar o `git-cvsserver`), a atualização precisará ocorrer no próximo acesso ao repositório pelo `git-cvsserver`, independentemente do método de acesso e da operação solicitada.

note: type: Plain text
en: That means that even if you offer only read access (e.g. by using the pserver method), 'git-cvsserver' should have write access to the database to work reliably (otherwise you need to make sure that the database is up to date any time 'git-cvsserver' is executed).
pt_BR: Isso significa que, mesmo que você ofereça apenas o acesso de leitura (utilizando o método `pserver` por exemplo), o comando `git-cvsserver` deve ter acesso de gravação ao banco de dados para funcionar de maneira correta (caso contrário, você precisa garantir que o banco de dados esteja atualizado a qualquer momento quando o `git-cvsserver` for executado).

note: type: Plain text
en: By default it uses SQLite databases in the Git directory, named `gitcvs.<module_name>.sqlite`. Note that the SQLite backend creates temporary files in the same directory as the database file on write so it might not be enough to grant the users using 'git-cvsserver' write access to the database file without granting them write access to the directory, too.
pt_BR: Por predefinição no diretório Git é utilizado o banco de dados SQLite com nome `gitcvs.<nome_do_módulo>.sqlite`. Observe que a estrutura do SQLite cria arquivos temporários no mesmo diretório que o arquivo de banco de dados durante a gravação, portanto, pode não ser suficiente conceder aos usuários que usam o `vgit-cvsserver` o acesso de gravação ao arquivo do banco de dados sem conceder a eles também o acesso de gravação ao diretório.

note: type: Plain text
en: The database cannot be reliably regenerated in a consistent form after the branch it is tracking has changed.  Example: For merged branches, 'git-cvsserver' only tracks one branch of development, and after a 'git merge' an incrementally updated database may track a different branch than a database regenerated from scratch, causing inconsistent CVS revision numbers. `git-cvsserver` has no way of knowing which branch it would have picked if it had been run incrementally pre-merge. So if you have to fully or partially (from old backup) regenerate the database, you should be suspicious of pre-existing CVS sandboxes.
pt_BR: O banco de dados não pode ser regenerado de forma consistente após que uma alteração do ramo que está sendo monitorado foi modificado.  Exemplo: Para as ramificações mescladas, o comando 'git cvsserver' monitora apenas um ramo do desenvolvimento e após o 'git merge', um banco de dados atualizado de forma incremental pode monitorar um ramo diferente do que um banco de dados regenerado do zero, causando números inconsistentes da revisão do CVS. O comando `git-cvsserver` não tem como saber qual ramo ele escolheria caso tivesse sido executado de forma incremental antes da mesclagem. Portanto, caso precise de uma regeneração completa ou parcial (do backup antigo) do banco de dados, desconfie das caixas de proteção do CVS pré-existentes.

note: type: Plain text
en: You can configure the database backend with the following configuration variables:
pt_BR: Você pode configurar a estrutura do banco de dados com as seguintes variáveis de configuração:

note: type: Title ~
en: Configuring database backend
pt_BR: Configurando a estrutura do banco de dados

note: type: Plain text
en: 'git-cvsserver' uses the Perl DBI module. Please also read its documentation if changing these variables, especially about `DBI->connect()`.
pt_BR: O 'git-cvsserver' utiliza o módulo Perl DBI. Leia também a sua documentação caso mude essas variáveis, especialmente as relacionadas com `DBI->connect()`.

note: type: Plain text
en: Database name. The exact meaning depends on the selected database driver, for SQLite this is a filename.  Supports variable substitution (see below). May not contain semicolons (`;`).  Default: '%Ggitcvs.%m.sqlite'
pt_BR: Nome do banco de dados. O significado exato depende do driver do banco de dados selecionado; para o SQLite, esse é um nome do arquivo.  É compatível com a reposição da variável (veja abaixo). Não pode conter ponto e vírgula (`;`).  Predefinição: '%Ggitcvs.%m.sqlite'

note: type: Plain text
en: Used DBI driver. You can specify any available driver for this here, but it might not work. cvsserver is tested with 'DBD::SQLite', reported to work with 'DBD::Pg', and reported *not* to work with 'DBD::mysql'.  Please regard this as an experimental feature. May not contain colons (`:`).  Default: 'SQLite'
pt_BR: Driver DBI utilizado. Você pode especificar qualquer driver disponível, mas pode não funcionar. O `cvsserver` é testado com 'DBD::SQLite', foi informado que funciona com 'DBD::Pg' mas *não* com 'DBD::mysql'.  Considere isso como um recurso experimental. Não pode conter ponto e vírgula (`;`).  Predefinição: 'SQLite'

note: type: Plain text
en: Database user. Only useful if setting `dbDriver`, since SQLite has no concept of database users. Supports variable substitution (see below).
pt_BR: O banco de dados do usuário. Útil apenas caso o `dbDriver` esteja configurando, pois o banco de dados SQLite não trabalha com usuários. É compatível com a reposição da variável (veja abaixo).

note: type: Plain text
en: Database password.  Only useful if setting `dbDriver`, since SQLite has no concept of database passwords.
pt_BR: Senha do banco de dados.  Útil apenas caso o  `dbDriver` esteja configurando, pois o banco de dados SQLite não trabalha com senhas.

note: type: Plain text
en: Database table name prefix.  Supports variable substitution (see below).  Any non-alphabetic characters will be replaced with underscores.
pt_BR: Prefixo do nome da tabela do banco de dados.  É compatível com a reposição da variável (veja abaixo).  Quaisquer caracteres não alfabéticos serão substituídos por sublinhados.

note: type: Plain text
en: All variables can also be set per access method, see <<configaccessmethod,above>>.
pt_BR: Todas as variáveis também podem ser definidas através do método de acesso, consulte <<configaccessmethod,above>>.

note: type: Title ^
en: Variable substitution
pt_BR: Substituição de variável

note: type: Plain text
en: In `dbDriver` and `dbUser` you can use the following variables:
pt_BR: Você pode utilizar as seguintes variáveis em `dbDriver` e `dbUser`:

note: type: Plain text
en: Git directory name
pt_BR: Nome do diretório Git

note: type: Plain text
en: Git directory name, where all characters except for alphanumeric ones, `.`, and `-` are replaced with `_` (this should make it easier to use the directory name in a filename if wanted)
pt_BR: O nome do diretório Git onde todos os caracteres exceto os alfanuméricos, `.` e `-`, são substituídos por `_` (isso deve facilitar o uso do nome do diretório em um nome de arquivo, se assim for desejado)

note: type: Plain text
en: access method (one of "ext" or "pserver")
pt_BR: método de acesso (um "ext" ou "pserver")

note: type: Plain text
en: Name of the user running 'git-cvsserver'.  If no name can be determined, the numeric uid is used.
pt_BR: Nome do usuário que está executando o 'git-cvsserver'.  O uid numérico é utilizado caso nenhum nome possa ser determinado.

note: type: Plain text
en: These variables obviate the need for command-line options in some circumstances, allowing easier restricted usage through git-shell.
pt_BR: Essas variáveis evitam a necessidade do uso de opções na linha de comando em algumas circunstâncias, permitindo um uso restrito e mais fácil através do `git-shell`.

note: type: Plain text
en: GIT_CVSSERVER_BASE_PATH takes the place of the argument to --base-path.
pt_BR: `GIT_CVSSERVER_BASE_PATH` substitui o argumento para `--base-path`.

note: type: Plain text
en: GIT_CVSSERVER_ROOT specifies a single-directory whitelist. The repository must still be configured to allow access through git-cvsserver, as described above.
pt_BR: GIT_CVSSERVER_ROOT especifica uma lista branca de diretórios únicos. O repositório ainda deve estar configurado para permitir o acesso através do `git-cvsserver`, conforme descrito acima.

note: type: Plain text
en: When these environment variables are set, the corresponding command-line arguments may not be used.
pt_BR: Quando essas variáveis do ambiente são definidas, os argumentos correspondentes da linha de comando não podem ser utilizados.

note: type: Title -
en: ECLIPSE CVS CLIENT NOTES
pt_BR: OBSERVAÇÕES SOBRE O CLIENTE ECLIPSE CVS

note: type: Plain text
en: To get a checkout with the Eclipse CVS client:
pt_BR: Para conseguir uma averiguação com o cliente Eclipse CVS:

note: type: Plain text
en: Select "Create a new project -> From CVS checkout"
pt_BR: Escolha "Criar um novo projeto -> Do check-ou CVS"

note: type: Plain text
en: Create a new location. See the notes below for details on how to choose the right protocol.
pt_BR: Crie um novo local. Veja as anotações abaixo para obter mais detalhes sobre como escolher o protocolo correto.

note: type: Plain text
en: Browse the 'modules' available. It will give you a list of the heads in the repository. You will not be able to browse the tree from there. Only the heads.
pt_BR: Navegue pelos 'módulos' disponíveis. Ele fornecerá uma lista dos `heads` no repositório. Você não poderá navegar na árvore a partir daí. Apenas os `heads`.

note: type: Plain text
en: Pick `HEAD` when it asks what branch/tag to check out. Untick the "launch commit wizard" to avoid committing the .project file.
pt_BR: Escolha `HEAD` quando perguntar qual o ramo/tag deve ser verificado. Desmarque o "assistente de inicialização do commit" para evitar fazer o commit no arquivo .project.

note: type: Plain text
en: Protocol notes: If you are using anonymous access via pserver, just select that.  Those using SSH access should choose the 'ext' protocol, and configure 'ext' access on the Preferences->Team->CVS->ExtConnection pane. Set CVS_SERVER to "`git cvsserver`". Note that password support is not good when using 'ext', you will definitely want to have SSH keys setup.
pt_BR: Notas sobre o protocolo: Selecione isso caso esteja utilizando o acesso anônimo via pserver.  Aqueles que usam o acesso SSH devem escolher o protocolo 'ext' e configurar o acesso 'ext' no painel "Preferências> Equipe> CVS> ExtConnection". Defina o `CVS_SERVER` para "`git cvsserver`". Observe que o suporte à senha não é bom quando usar o 'ext'; você definitivamente vai preferir usar e ter as chaves SSH configuradas.

note: type: Plain text
en: Alternatively, you can just use the non-standard extssh protocol that Eclipse offer. In that case CVS_SERVER is ignored, and you will have to replace the cvs utility on the server with 'git-cvsserver' or manipulate your `.bashrc` so that calling 'cvs' effectively calls 'git-cvsserver'.
pt_BR: Como alternativa, você pode apenas usar o protocolo não padrão `extssh` que o Eclipse oferece. Neste caso o `CVS_SERVER` é ignorado e você terá que substituir o utilitário cvs no servidor por `git-cvsserver` ou manipular o seu `.bashrc` para que a chamada 'cvs' efetivamente chame o `git-cvsserver`.

note: type: Title -
en: CLIENTS KNOWN TO WORK
pt_BR: CLIENTES CONHECIDOS QUE FUNCIONAM

note: type: Plain text
en: CVS 1.12.9 on Debian
pt_BR: CVS 1.12.9 no Debian

note: type: Plain text
en: CVS 1.11.17 on MacOSX (from Fink package)
pt_BR: CVS 1.11.17 no MacOSX (do pacote Fink)

note: type: Plain text
en: Eclipse 3.0, 3.1.2 on MacOSX (see Eclipse CVS Client Notes)
pt_BR: Eclipse 3.0, 3.1.2 no MacOSX (veja notas do Cliente Eclipse CVS)

note: type: Title -
en: OPERATIONS SUPPORTED
pt_BR: OPERAÇÕES COMPATÍVEIS

note: type: Plain text
en: All the operations required for normal use are supported, including checkout, diff, status, update, log, add, remove, commit.
pt_BR: Todas as operações necessárias para o uso normal são compatíveis, incluindo "checkout", "diff", "status", "update", "log", "add", "remove" e "commit".

note: type: Plain text
en: Most CVS command arguments that read CVS tags or revision numbers (typically -r) work, and also support any git refspec (tag, branch, commit ID, etc).  However, CVS revision numbers for non-default branches are not well emulated, and cvs log does not show tags or branches at all.  (Non-main-branch CVS revision numbers superficially resemble CVS revision numbers, but they actually encode a git commit ID directly, rather than represent the number of revisions since the branch point.)
pt_BR: A maioria dos argumentos dos comandos do CVS que leem as tags CVS ou os números da revisão (normalmente `-r`) funcionam, e também são compatíveis com qualquer git "refspec" ("tag", "branch", ID do commit, etc).  No entanto, os números de revisão do CVS para as ramificações fora do padrão não são bem emuladas e o registro log do cvs não exibe as tags ou quaisquer ramificações.  (Os números de revisão do CVS que não são do ramo principal se assemelham superficialmente aos números da revisão do CVS, mas na verdade codificam um ID do commit diretamente, em vez de representar a quantidade de revisões desde o ponto do ramo inicial.)

note: type: Plain text
en: Note that there are two ways to checkout a particular branch.  As described elsewhere on this page, the "module" parameter of cvs checkout is interpreted as a branch name, and it becomes the main branch.  It remains the main branch for a given sandbox even if you temporarily make another branch sticky with cvs update -r.  Alternatively, the -r argument can indicate some other branch to actually checkout, even though the module is still the "main" branch.  Tradeoffs (as currently implemented): Each new "module" creates a new database on disk with a history for the given module, and after the database is created, operations against that main branch are fast.  Or alternatively, -r doesn't take any extra disk space, but may be significantly slower for many operations, like cvs update.
pt_BR: Observe que existem duas maneiras de fazer check-out de um determinado ramo.  Conforme descrito em outra parte desta página, o parâmetro "module" do "cvs checkout" é interpretado como um nome do ramo e se torna o ramo principal.  Ele permanece o ramo principal de uma determinada caixa de areia, mesmo que você temporariamente torne outro ramo persistente com o comando "cvs update -r".  Como alternativa, o argumento `-r` pode indicar alguma outra ramificação para realmente efetuar o checkout, mesmo que o módulo ainda seja a ramificação "main" (principal).  Dilemas (conforme implementadas atualmente): Cada novo "module" cria um novo banco de dados em disco com um histórico para determinado módulo, após a criação do banco de dados, as operações nesse ramo principal são rápidas.  Ou, como alternativa, o argumento `-r` não ocupa espaço extra em disco, mas pode ser significativamente mais lento em muitas operações, como o comando `cvs update`.

note: type: Plain text
en: If you want to refer to a git refspec that has characters that are not allowed by CVS, you have two options.  First, it may just work to supply the git refspec directly to the appropriate CVS -r argument; some CVS clients don't seem to do much sanity checking of the argument.  Second, if that fails, you can use a special character escape mechanism that only uses characters that are valid in CVS tags.  A sequence of 4 or 5 characters of the form (underscore (`"_"`), dash (`"-"`), one or two characters, and dash (`"-"`)) can encode various characters based on the one or two letters: `"s"` for slash (`"/"`), `"p"` for period (`"."`), `"u"` for underscore (`"_"`), or two hexadecimal digits for any byte value at all (typically an ASCII number, or perhaps a part of a UTF-8 encoded character).
pt_BR: Caso queira se referir a um "git refspec" que possua caracteres não permitidos pelo CVS, você tem duas opções.  Primeiro, pode funcionar apenas para informar ao git "refspec" diretamente o argumento CVS `-r` apropriado; alguns clientes do CVS parecem não verificar a sanidade do argumento.  Segundo, caso falhe, você pode usar um mecanismo especial de escape de caracteres que utiliza apenas os caracteres válidos nas tags do CVS.  Uma sequência de 4 ou 5 caracteres do formulário (sublinhado (`"_"`), traço (`"-"`), um ou dois caracteres e traço (`"-"`)) pode codificar vários caracteres com base em uma ou duas letras: `"s"` para a barra (`"/"`), `"p"` para o ponto (`"."`), `"u"` para o sublinhado (`"_"`) ou dois dígitos hexadecimais para qualquer valor de byte (normalmente um número ASCII ou talvez parte de um caractere codificado em UTF-8).

note: type: Plain text
en: Legacy monitoring operations are not supported (edit, watch and related).  Exports and tagging (tags and branches) are not supported at this stage.
pt_BR: As operações de monitoramento herdadas não são compatíveis edit, watch e related).  As exportações e as tags (tags e ramos) não são compatíveis neste estágio.

note: type: Title ~
en: CRLF Line Ending Conversions
pt_BR: Conversões de termino de linha CRLF

note: type: Plain text
en: By default the server leaves the `-k` mode blank for all files, which causes the CVS client to treat them as a text files, subject to end-of-line conversion on some platforms.
pt_BR: Por predefinição o servidor deixa o modo `-k` em branco para todos os arquivos, o que faz com que o cliente CVS os trate como arquivos de texto, sujeitos à conversão da quebra de linha em algumas plataformas.

note: type: Plain text
en: You can make the server use the end-of-line conversion attributes to set the `-k` modes for files by setting the `gitcvs.usecrlfattr` config variable.  See linkgit:gitattributes[5] for more information about end-of-line conversion.
pt_BR: É possível  fazer com que o servidor utilize os atributos de quebra de linha nos arquivos utilizando o modos `-k` ou definindo a variável de configuração` gitcvs.usecrlfattr`.  Para mais informações sobre a conversão da quebra de linha de um arquivo, consulte linkgit:gitattributes[5].

note: type: Plain text
en: Alternatively, if `gitcvs.usecrlfattr` config is not enabled or the attributes do not allow automatic detection for a filename, then the server uses the `gitcvs.allBinary` config for the default setting.  If `gitcvs.allBinary` is set, then file not otherwise specified will default to '-kb' mode. Otherwise the `-k` mode is left blank. But if `gitcvs.allBinary` is set to "guess", then the correct `-k` mode will be guessed based on the contents of the file.
pt_BR: Como alternativa, caso a configuração `gitcvs.usecrlfattr` não esteja ativa ou os atributos não permitam a detecção automática de um nome de arquivo, o servidor utilizará a configuração `gitcvs.allBinary` como a sua configuração predefinida.  Caso `gitcvs.allBinary` esteja definido, o arquivo não especificado de outra forma será padronizado para o modo `-kb`. Caso contrário, o modo `-k` é deixado em branco. No entanto, caso `gitcvs.allBinary` seja definido como "guess", o modo `-k` correto será adivinhado com base no conteúdo do arquivo..

note: type: Plain text
en: For best consistency with 'cvs', it is probably best to override the defaults by setting `gitcvs.usecrlfattr` to true, and `gitcvs.allBinary` to "guess".
pt_BR: Para uma melhor compatibilidade com o 'cvs', provavelmente é melhor substituir os valores predefinidos configurando `gitcvs.usecrlfattr` como 'true' e `gitcvs.allBinary` para "guess".

note: type: Title -
en: DEPENDENCIES
pt_BR: DEPENDÊNCIAS

note: type: Plain text
en: 'git-cvsserver' depends on DBD::SQLite.
pt_BR: 'git-cvsserver' é dependente do DBD::SQLite.

note: type: Plain text
en: git-daemon - A really simple server for Git repositories
pt_BR: git-daemon - Um servidor realmente simples para os repositórios Git

note: type: Plain text
en: 'git daemon' [--verbose] [--syslog] [--export-all]
    	     [--timeout=<n>] [--init-timeout=<n>] [--max-connections=<n>]
    	     [--strict-paths] [--base-path=<path>] [--base-path-relaxed]
    	     [--user-path | --user-path=<path>]
    	     [--interpolated-path=<pathtemplate>]
    	     [--reuseaddr] [--detach] [--pid-file=<file>]
    	     [--enable=<service>] [--disable=<service>]
    	     [--allow-override=<service>] [--forbid-override=<service>]
    	     [--access-hook=<path>] [--[no-]informative-errors]
    	     [--inetd |
    	      [--listen=<host_or_ipaddr>] [--port=<n>]
    	      [--user=<user> [--group=<group>]]]
    	     [--log-destination=(stderr|syslog|none)]
    	     [<directory>...]
pt_BR: 'git daemon' [--verbose] [--syslog] [--export-all]
    	     [--timeout=<n>] [--init-timeout=<n>] [--max-connections=<n>]
    	     [--strict-paths] [--base-path=<caminho>] [--base-path-relaxed]
    	     [--user-path | --user-path=<caminho>]
    	     [--interpolated-path=<modelo-de-caminho>]
    	     [--reuseaddr] [--detach] [--pid-file=<arquivo>]
    	     [--enable=<serviço>] [--disable=<serviço>]
    	     [--allow-override=<serviço>] [--forbid-override=<serviço>]
    	     [--access-hook=<caminho>] [--[no-]informative-errors]
    	     [--inetd |
    	      [--listen=<host-ou-endereço-IP>] [--port=<n>]
    	      [--user=<usuário> [--group=<grupo>]]]
    	     [--log-destination=(stderr|syslog|none)]
    	     [<diretório>...]

note: type: Plain text
en: A really simple TCP Git daemon that normally listens on port "DEFAULT_GIT_PORT" aka 9418.  It waits for a connection asking for a service, and will serve that service if it is enabled.
pt_BR: Um daemon TCP Git realmente simples e que normalmente escuta na porta "DEFAULT_GIT_PORT", também conhecida como 9418.  Aguarda uma conexão solicitando um serviço e o servirá caso esteja ativo.

note: type: Plain text
en: It verifies that the directory has the magic file "git-daemon-export-ok", and it will refuse to export any Git directory that hasn't explicitly been marked for export this way (unless the `--export-all` parameter is specified). If you pass some directory paths as 'git daemon' arguments, you can further restrict the offers to a whitelist comprising of those.
pt_BR: Ele verifica se o diretório possui o arquivo mágico "git-daemon-export-ok" e se recusará a exportar qualquer diretório Git que não tenha sido explicitamente marcado para exportação dessa maneira (a menos que o parâmetro `--export-all` seja utilizado). Caso passe alguns caminhos de diretórios como argumentos par ao 'git daemon', é possível restringir ainda mais as ofertas a uma lista de permissões composta por eles.

note: type: Plain text
en: By default, only `upload-pack` service is enabled, which serves 'git fetch-pack' and 'git ls-remote' clients, which are invoked from 'git fetch', 'git pull', and 'git clone'.
pt_BR: É predefinido que apenas o serviço `upload-pack` esteja ativo, o que atende aos clientes são o 'git fetch-pack' e 'git ls-remote', que são chamados de 'git fetch', 'git pull' e 'git clone'.

note: type: Plain text
en: This is ideally suited for read-only updates, i.e., pulling from Git repositories.
pt_BR: Isso é o ideal para as atualizações de somente leitura, ou seja, extrair dos repositórios Git.

note: type: Plain text
en: An `upload-archive` also exists to serve 'git archive'.
pt_BR: Também existe um `upload-archive` para servir o `git archive` .

note: type: Plain text
en: Match paths exactly (i.e. don't allow "/foo/repo" when the real path is "/foo/repo.git" or "/foo/repo/.git") and don't do user-relative paths.  'git daemon' will refuse to start when this option is enabled and no whitelist is specified.
pt_BR: A coincidência exata dos caminhos (ou seja, não permita "/foo/repo" quando o caminho real for "/foo/repo.git" ou "/foo/repo/.git"), assim como, não faça caminhos relativos ao usuário.  O 'git daemon' se recusará a iniciar quando esta opção estiver ativa e nenhuma lista de permissões tenha sido especificada.

note: type: Labeled list
en: --base-path=<path>
pt_BR: --base-path=<caminho>

note: type: Plain text
en: Remap all the path requests as relative to the given path.  This is sort of "Git root" - if you run 'git daemon' with '--base-path=/srv/git' on example.com, then if you later try to pull 'git://example.com/hello.git', 'git daemon' will interpret the path as `/srv/git/hello.git`.
pt_BR: Faça o remapeamento de todas as solicitações de caminho em relação ao caminho informado.  Isso é meio que um "Git root" - caso você execute o comando 'git daemon' com '--base-path=/srv/git' em 'example.com', caso tente obter mais tarde 'git://example.com/hello.git', 'git daemon' interpretará o caminho como `/srv/git/hello.git`.

note: type: Plain text
en: If --base-path is enabled and repo lookup fails, with this option 'git daemon' will attempt to lookup without prefixing the base path.  This is useful for switching to --base-path usage, while still allowing the old paths.
pt_BR: Caso `--base-path` esteja ativo e a pesquisa do repositório falhar, com esta opção o 'git daemon' tentará procurar sem prefixar o caminho da base.  É útil para alternar para o uso de `--base-path`, enquanto ainda for permitido os caminhos antigos.

note: type: Labeled list
en: --interpolated-path=<pathtemplate>
pt_BR: --interpolated-path=<modelo-de-caminho>

note: type: Plain text
en: To support virtual hosting, an interpolated path template can be used to dynamically construct alternate paths.  The template supports %H for the target hostname as supplied by the client but converted to all lowercase, %CH for the canonical hostname, %IP for the server's IP address, %P for the port number, and %D for the absolute path of the named repository.  After interpolation, the path is validated against the directory whitelist.
pt_BR: Para dar suporte à hospedagem virtual, um modelo de caminho interpolado pode ser utilizado para construir dinamicamente os caminhos alternativos.  O modelo é compatível com `%H` para o nome de host do destino, informado pelo cliente, porém é convertido minúsculas, `%CH` para o nome do host canônico, `%IP` para o endereço IP do servidor, `%P` para o número da porta e `%D` para o caminho absoluto do nome do repositório.  Após a interpolação, o caminho é validado na lista branca de permissões do diretório.

note: type: Plain text
en: Allow pulling from all directories that look like Git repositories (have the 'objects' and 'refs' subdirectories), even if they do not have the 'git-daemon-export-ok' file.
pt_BR: Permite puxar de todos os diretórios que se pareçam com os repositórios Git (possuem os subdiretórios 'objects' e 'refs'), mesmo que eles não tenham o arquivo 'git-daemon-export-ok'.

note: type: Plain text
en: Have the server run as an inetd service. Implies --syslog (may be overridden with `--log-destination=`).  Incompatible with --detach, --port, --listen, --user and --group options.
pt_BR: Faça o servidor funcionar como um serviço inetd. Implica no uso da opção `--syslog` (pode ser substituído com `--log-destination=`).  É incompatível com as opções `--detach`, `--port`, `--listen`, `--user` e `--group`.

note: type: Labeled list
en: --listen=<host_or_ipaddr>
pt_BR: --listen=<host-ou-endereço-IP>

note: type: Plain text
en: Listen on a specific IP address or hostname.  IP addresses can be either an IPv4 address or an IPv6 address if supported.  If IPv6 is not supported, then --listen=hostname is also not supported and --listen must be given an IPv4 address.  Can be given more than once.  Incompatible with `--inetd` option.
pt_BR: Ouça em um endereço IP ou nome de host específico.  Os endereços IP podem ser um endereço IPv4 ou IPv6, se for compatível.  Caso o IPv6 não seja compatível, a opção `--listen=hostname` também não será compatível assim como a opção `--listen` deverá receber um endereço IPv4.  Pode ser utilizado mais de um vez.  É incompatível com a opção `--inetd`.

note: type: Plain text
en: Listen on an alternative port.  Incompatible with `--inetd` option.
pt_BR: Ouça em uma porta alternativa.  É incompatível com a opção `--inetd`.

note: type: Plain text
en: Timeout (in seconds) between the moment the connection is established and the client request is received (typically a rather low value, since that should be basically immediate).
pt_BR: O Tempo limite (em segundos) entre o momento em que a conexão é estabelecida e a solicitação do cliente é recebida (geralmente um valor bastante baixo, pois esse deve ser imediato).

note: type: Plain text
en: Timeout (in seconds) for specific client sub-requests. This includes the time it takes for the server to process the sub-request and the time spent waiting for the next client's request.
pt_BR: Tempo limite (em segundos) para sub-solicitações específicas do cliente. Isso inclui o tempo que leva para o servidor processar a sub-solicitação e o tempo gasto aguardando a próxima solicitação do cliente.

note: type: Plain text
en: Maximum number of concurrent clients, defaults to 32.  Set it to zero for no limit.
pt_BR: A quantidade máxima de clientes simultâneos, a predefinição retorna para o valor 32.  Defina como zero para não ter limites.

note: type: Plain text
en: Short for `--log-destination=syslog`.
pt_BR: É um atalho para `--log-destination=syslog`.

note: type: Labeled list
en: --log-destination=<destination>
pt_BR: --log-destination=<destino>

note: type: Plain text
en: Send log messages to the specified destination.  Note that this option does not imply --verbose, thus by default only error conditions will be logged.  The <destination> must be one of:
pt_BR: Envie mensagens do registro log para o destino especificado.  Observe que esta opção não implica no uso da opção `--verbose`, portanto é predefinido que apenas as condições de erro sejam registradas.  O <destino> deve ser um dos seguintes:

note: type: Plain text
en: Write to standard error.  Note that if `--detach` is specified, the process disconnects from the real standard error, making this destination effectively equivalent to `none`.
pt_BR: Escreva para erro predefinido.  Observe que caso `--detach` seja utilizado, o processo será desconectado do erro real predefinido, tornando esse destino efetivamente equivalente a `none` (nenhum).

note: type: Plain text
en: Write to syslog, using the `git-daemon` identifier.
pt_BR: Escreva para o syslog utilizando o identificador `git-daemon`.

note: type: Plain text
en: Disable all logging.
pt_BR: Desativa todos os registros logs.

note: type: Plain text
en: The default destination is `syslog` if `--inetd` or `--detach` is specified, otherwise `stderr`.
pt_BR: A predefinição para o destino é `syslog` caso `--inetd` ou `--detach` seja utilizado, caso contrário será o `stderr`.

note: type: Labeled list
en: --user-path=<path>
pt_BR: --user-path=<caminho>

note: type: Plain text
en: Allow {tilde}user notation to be used in requests.  When specified with no parameter, requests to git://host/{tilde}alice/foo is taken as a request to access 'foo' repository in the home directory of user `alice`.  If `--user-path=path` is specified, the same request is taken as a request to access `path/foo` repository in the home directory of user `alice`.
pt_BR: Permita que a notação do usuário{tilde) seja utilizada nas solicitações.  Quando especificado sem qualquer parâmetro, os pedidos para `git://host/{tilde}alice/foo` são tomados como pedidos para acessar o repositório `foo` no diretório inicial do usuário `alice`.  Caso `--user-path=path` seja utilizado, a mesma solicitação será aceita como a de uma solicitação para acessar o repositório `path/foo` no diretório inicial do usuário `alice`.

note: type: Plain text
en: Log details about the incoming connections and requested files.
pt_BR: Registre os detalhes sobre as conexões recebidas e os arquivos solicitados.

note: type: Plain text
en: Use SO_REUSEADDR when binding the listening socket.  This allows the server to restart without waiting for old connections to time out.
pt_BR: Utilize `SO_REUSEADDR` ao ligar o soquete de escuta.  Isso permite que o servidor reinicie sem aguardar o tempo limite das conexões antigas.

note: type: Plain text
en: Detach from the shell. Implies --syslog.
pt_BR: Desanexe do shell; Implica no uso da opção `--syslog`.

note: type: Labeled list
en: --pid-file=<file>
pt_BR: --pid-file=<arquivo>

note: type: Plain text
en: Save the process id in 'file'.  Ignored when the daemon is run under `--inetd`.
pt_BR: Salva a identificação do processo em 'arquivo'.  Ignorado quando o daemon é executado como `--inetd`.

note: type: Labeled list
en: --user=<user>
pt_BR: --user=<usuário>

note: type: Labeled list
en: --group=<group>
pt_BR: --group=<grupo>

note: type: Plain text
en: Change daemon's uid and gid before entering the service loop.  When only `--user` is given without `--group`, the primary group ID for the user is used.  The values of the option are given to `getpwnam(3)` and `getgrnam(3)` and numeric IDs are not supported.
pt_BR: Altere o uid e o gid do daemon antes de entrar no loop de serviço.  Quando apenas o `--user` é informado sem o `--group`, o ID do grupo primário para o usuário é utilizado.  Os valores da opção são informados para `getpwnam(3)` e `getgrnam(3)` e os IDs numéricos não são compatíveis.

note: type: Plain text
en: Giving these options is an error when used with `--inetd`; use the facility of inet daemon to achieve the same before spawning 'git daemon' if needed.
pt_BR: Usar estas opções é um erro quando utilizado em conjunto com `--inetd`; utilize o recurso do inet daemon para obter o mesmo efeito antes de gerar o 'git daemon', caso seja necessário.

note: type: Plain text
en: Like many programs that switch user id, the daemon does not reset environment variables such as `$HOME` when it runs git programs, e.g. `upload-pack` and `receive-pack`. When using this option, you may also want to set and export `HOME` to point at the home directory of `<user>` before starting the daemon, and make sure any Git configuration files in that directory are readable by `<user>`.
pt_BR: Como muitos programas que alternam o ID do usuário, o daemon não redefine as variáveis de ambiente como `$ HOME` quando executa programas como o git, por exemplo, o `upload-pack` e `receive-pack`. Ao usar esta opção, você também pode definir e exportar `HOME` para apontar para o diretório inicial do `<usuário>` antes de iniciar o daemon e verifique se todos os arquivos da configuração do Git nesse diretório são legíveis pelo `<usuário>`.

note: type: Labeled list
en: --enable=<service>
pt_BR: --enable=<serviço>

note: type: Labeled list
en: --disable=<service>
pt_BR: --disable=<serviço>

note: type: Plain text
en: Enable/disable the service site-wide per default.  Note that a service disabled site-wide can still be enabled per repository if it is marked overridable and the repository enables the service with a configuration item.
pt_BR: Ativa ou desativa o serviço em todo o site por predefinição.  Observe que um serviço desativado em todo o site ainda pode ser ativado por repositório caso esteja marcado como substituível e o repositório ativar o serviço com um item de configuração.

note: type: Labeled list
en: --allow-override=<service>
pt_BR: --allow-override=<serviço>

note: type: Labeled list
en: --forbid-override=<service>
pt_BR: --forbid-override=<serviço>

note: type: Plain text
en: Allow/forbid overriding the site-wide default with per repository configuration.  By default, all the services may be overridden.
pt_BR: Permitir ou proibir a reposição da predefinição em todo o site através da configuração do repositório.  É predefinido que todos os serviços possam ser substituídos.

note: type: Plain text
en: When informative errors are turned on, git-daemon will report more verbose errors to the client, differentiating conditions like "no such repository" from "repository not exported". This is more convenient for clients, but may leak information about the existence of unexported repositories.  When informative errors are not enabled, all errors report "access denied" to the client. The default is --no-informative-errors.
pt_BR: Quando os erros informativos são ativados, o git-daemon reportará os erros de forma mais detalhada ao cliente, diferenciando as condições como "nenhum repositório desse tipo" de "repositório não exportado". Isso é mais conveniente para os clientes, mas pode vazar as informações sobre a existência de repositórios não exportados.  Quando os erros informativos não estão ativados, todos os erros relatam "acesso negado" ao cliente. A predefinição é --no-informative-errors.

note: type: Labeled list
en: --access-hook=<path>
pt_BR: --access-hook=<caminho>

note: type: Plain text
en: Every time a client connects, first run an external command specified by the <path> with service name (e.g. "upload-pack"), path to the repository, hostname (%H), canonical hostname (%CH), IP address (%IP), and TCP port (%P) as its command-line arguments. The external command can decide to decline the service by exiting with a non-zero status (or to allow it by exiting with a zero status).  It can also look at the $REMOTE_ADDR and `$REMOTE_PORT` environment variables to learn about the requestor when making this decision.
pt_BR: Sempre que um cliente se conectar, primeiro execute um comando externo especificado pelo <caminho> com o nome do serviço (por exemplo, "upload-pack"), o caminho para o repositório, nome do host (%H), nome do host canônico (%CH), o endereço IP (%IP) e a porta TCP (%P) como os seus argumentos na linha de comando. O comando externo pode decidir recusar o serviço saindo com uma condição diferente de zero (ou permitir com uma condição igual a zero).  Ele também pode examinar as variáveis do ambiente `$REMOTE_ADDR` e `$REMOTE_PORT` para aprender sobre o solicitante ao tomar essa decisão.

note: type: Plain text
en: The external command can optionally write a single line to its standard output to be sent to the requestor as an error message when it declines the service.
pt_BR: O comando externo pode, opcionalmente, gravar uma única linha em sua saída padrão para ser enviada ao solicitante como uma mensagem de erro quando ele recusar o serviço.

note: type: Plain text
en: A directory to add to the whitelist of allowed directories. Unless --strict-paths is specified this will also include subdirectories of each named directory.
pt_BR: Um diretório a ser adicionado à lista branca dos diretórios permitidos. A menos que `--strict-paths` seja especificado, isso também incluirá subdiretórios de cada diretório informado.

note: type: Title -
en: SERVICES
pt_BR: SERVIÇOS

note: type: Plain text
en: These services can be globally enabled/disabled using the command-line options of this command.  If finer-grained control is desired (e.g. to allow 'git archive' to be run against only in a few selected repositories the daemon serves), the per-repository configuration file can be used to enable or disable them.
pt_BR: Estes serviços podem ser ativados ou não globalmente utilizando as opções da linha de comando deste comando.  Caso um controle mais refinado seja necessário (para permitir que o 'git archive' seja executado apenas em alguns repositórios selecionados que o daemon serve por exemplo), o arquivo da configuração por repositório pode ser utilizado para ativá-los ou não.

note: type: Plain text
en: This serves 'git fetch-pack' and 'git ls-remote' clients.  It is enabled by default, but a repository can disable it by setting `daemon.uploadpack` configuration item to `false`.
pt_BR: Isso serve aos clientes 'git fetch-pack' e 'git ls-remote'.  A predefinição é estar sempre ativo, porém um repositório pode desativá-lo definindo o item da configuração `daemon.uploadpack` como `false`.

note: type: Plain text
en: This serves 'git archive --remote'.  It is disabled by default, but a repository can enable it by setting `daemon.uploadarch` configuration item to `true`.
pt_BR: Isso serve ao 'git archive --remote'.  A predefinição é estar desativado, porém um repositório pode ativá-lo definindo o item da configuração `daemon.uploadarch` como `true`.

note: type: Plain text
en: This serves 'git send-pack' clients, allowing anonymous push.  It is disabled by default, as there is _no_ authentication in the protocol (in other words, anybody can push anything into the repository, including removal of refs).  This is solely meant for a closed LAN setting where everybody is friendly.  This service can be enabled by setting `daemon.receivepack` configuration item to `true`.
pt_BR: Serve aos clientes 'git send-pack, permitindo um impulsionamento (push) anônimo.  A predefinição é estar desativado, pois não há autenticação no protocolo (em outras palavras, qualquer pessoa pode enviar algo para o repositório, incluindo fazer a remoção de referências).  Isso serve apenas para uma configuração LAN fechada, onde todos são amigáveis.  Este serviço pode ser ativado definindo o item da configuração `daemon.receivepack` como `true`.

note: type: Labeled list
en: We assume the following in /etc/services
pt_BR: Assumimos o seguinte em `/etc/services`

note: type: delimited block -
en: $ grep 9418 /etc/services
    git		9418/tcp		# Git Version Control System
pt_BR: $ grep 9418 /etc/services
    git		9418/tcp		# Controle de Versão do Sistema Git

note: type: Labeled list
en: 'git daemon' as inetd server
pt_BR: 'git daemon' como um servidor inetd

note: type: Plain text
en: To set up 'git daemon' as an inetd service that handles any repository under the whitelisted set of directories, /pub/foo and /pub/bar, place an entry like the following into /etc/inetd all on one line:
pt_BR: Para configurar o 'git daemon' como um serviço inetd que lida com qualquer repositório no conjunto de diretórios da lista branca do /pub/foo e /pub/bar, coloque uma entrada em /etc/inetd, tudo em uma linha:

note: type: Labeled list
en: 'git daemon' as inetd server for virtual hosts
pt_BR: 'git daemon' como servidor inetd para hosts virtuais

note: type: Plain text
en: To set up 'git daemon' as an inetd service that handles repositories for different virtual hosts, `www.example.com` and `www.example.org`, place an entry like the following into `/etc/inetd` all on one line:
pt_BR: Para configurar o 'git daemon' como um serviço inetd que lida com repositórios com diferentes hosts virtuais, `www.example.com` e `www.example.org`, coloque uma entrada como a seguinte em `/etc/inetd` tudo em uma linha:

note: type: Plain text
en: In this example, the root-level directory `/pub` will contain a subdirectory for each virtual host name supported.  Further, both hosts advertise repositories simply as `git://www.example.com/software/repo.git`.  For pre-1.4.0 clients, a symlink from `/software` into the appropriate default repository could be made as well.
pt_BR: Neste exemplo, o diretório na raiz `/pub` conterá um subdiretório para cada nome de host virtual compatível.  Além disso, os dois hosts anunciam os repositórios simplesmente como `git://www.example.com/software/repo.git`.  Para clientes anteriores à 1.4.0, um link simbólico de `/ software` para o repositório predefinido também pode ser feito.

note: type: Labeled list
en: 'git daemon' as regular daemon for virtual hosts
pt_BR: O 'git daemon' como daemon regular para hosts virtuais

note: type: Plain text
en: To set up 'git daemon' as a regular, non-inetd service that handles repositories for multiple virtual hosts based on their IP addresses, start the daemon like this:
pt_BR: Para configurar o 'git daemon' como um serviço regular e não como inetd que lida com repositórios para vários hosts virtuais com base em seus endereços IP, inicie o daemon desta maneira:

note: type: Plain text
en: In this example, the root-level directory `/pub` will contain a subdirectory for each virtual host IP address supported.  Repositories can still be accessed by hostname though, assuming they correspond to these IP addresses.
pt_BR: Neste exemplo, o diretório no nível raiz `/pub` conterá um subdiretório para cada endereço IP do host virtual compatível.  Porém, os repositórios ainda podem ser acessados pelo nome do host, supondo que coincidam com estes endereços IP.

note: type: Labeled list
en: selectively enable/disable services per repository
pt_BR: ativar ou desativar seletivamente os serviços por repositório

note: type: Plain text
en: To enable 'git archive --remote' and disable 'git fetch' against a repository, have the following in the configuration file in the repository (that is the file 'config' next to `HEAD`, 'refs' and 'objects').
pt_BR: Para ativar faça `git archive --remote` e desative o `git fetch` em um repositório, faça o seguinte no arquivo de configuração no repositório (que é o arquivo 'config' próximo ao `HEAD`, 'refs' e 'objects ').

note: type: Plain text
en: 'git daemon' will set REMOTE_ADDR to the IP address of the client that connected to it, if the IP address is available. REMOTE_ADDR will be available in the environment of hooks called when services are performed.
pt_BR: O `git daemon` configurará o `REMOTE_ADDR` para o endereço IP do cliente conectado a ele caso o endereço IP esteja disponível. O `REMOTE_ADDR` estará disponível no ambiente dos chamados ganchos quando os serviços forem executados.

note: type: Plain text
en: git-describe - Give an object a human readable name based on an available ref
pt_BR: git-describe - Atribua a um objeto um nome legível para humanos com base em um "ref" disponível

note: type: Plain text
en: The command finds the most recent tag that is reachable from a commit.  If the tag points to the commit, then only the tag is shown.  Otherwise, it suffixes the tag name with the number of additional commits on top of the tagged object and the abbreviated object name of the most recent commit. The result is a "human-readable" object name which can also be used to identify the commit to other git commands.
pt_BR: O comando localiza a tag mais recente que seja acessível a partir de um commit.  Caso a tag aponte para o commit, somente a tag será exibida.  Caso contrário, é adicionado um sufixo ao nome da tag com a quantidade adicionais de commits na parte superior do objeto marcado e o nome abreviado do objeto commit mais recente. O resultado é um nome do objeto que é "legível para humanos" que também pode ser utilizado para identificar o commit para outros comandos do git.

note: type: Plain text
en: By default (without --all or --tags) `git describe` only shows annotated tags.  For more information about creating annotated tags see the -a and -s options to linkgit:git-tag[1].
pt_BR: É predefinido que o comando `git description` exiba apenas as tags com anotações (sem --all ou --tags).  Para mais informações sobre a criação das anotações das tags, consulte as opções `-a` e `-s` em linkgit:git-tag[1].

note: type: Plain text
en: If the given object refers to a blob, it will be described as `<commit-ish>:<path>`, such that the blob can be found at `<path>` in the `<commit-ish>`, which itself describes the first commit in which this blob occurs in a reverse revision walk from HEAD.
pt_BR: Caso o objeto especificado se refera a uma bolha, este será descrito como `<commit-ish>:<caminho>`, de modo que a gota possa ser encontrada em `<caminho>` que em si descreve o primeiro commit no qual essa gota ocorre em uma revisão reversa do `HEAD`.

note: type: Plain text
en: Commit-ish object names to describe.  Defaults to HEAD if omitted.
pt_BR: Descrevendo os nomes dos objetos commit.  Caso seja omitido, a predefinição retorna para que `HEAD` seja utilizado.

note: type: Plain text
en: Describe the state of the working tree.  When the working tree matches HEAD, the output is the same as "git describe HEAD".  If the working tree has local modification "-dirty" is appended to it.  If a repository is corrupt and Git cannot determine if there is local modification, Git will error out, unless `--broken' is given, which appends the suffix "-broken" instead.
pt_BR: Descreve a condição da árvore de trabalho.  Quando a árvore de trabalho corresponder a um `HEAD`, a saída é a mesma que `git describe HEAD`.  Caso a árvore de trabalho tenha sido modificada localmente, um "-dirty" será anexado a ela.  Caso um repositório tenha sido corrompido e o Git não puder determinar se há uma modificação local, o Git exibirá uma mensagem de erro, a menos que a opção `--broken` seja utilizada.

note: type: Plain text
en: Instead of using only the annotated tags, use any ref found in `refs/` namespace.  This option enables matching any known branch, remote-tracking branch, or lightweight tag.
pt_BR: Em vez de usar apenas as tags anotadas, utilize qualquer "ref" encontrada no espaço de nomes `refs/`.  Essa opção permite fazer com que coincida com qualquer ramificação conhecida, do ramo monitorado remotamente ou de uma tag leve (lightweight).

note: type: Plain text
en: Instead of using only the annotated tags, use any tag found in `refs/tags` namespace.  This option enables matching a lightweight (non-annotated) tag.
pt_BR: Em vez de usar apenas as anotações das tags, utilize qualquer tag que for encontrada no `namespace` `refs/tags`.  Essa opção permite fazer a coincidência com uma tag "leve" (não anotada).

note: type: Plain text
en: Instead of finding the tag that predates the commit, find the tag that comes after the commit, and thus contains it.  Automatically implies --tags.
pt_BR: Em vez de encontrar a tag que anteceda um commit, localize a tag que vem após o commit e a contenha.  Implica automaticamente no uso da opção `--tags`.

note: type: Plain text
en: Instead of using the default 7 hexadecimal digits as the abbreviated object name, use <n> digits, or as many digits as needed to form a unique object name.  An <n> of 0 will suppress long format, only showing the closest tag.
pt_BR: Em vez de usar os 7 dígitos hexadecimais predefinidos como o nome abreviado do objeto, utilize `<n>` dígitos ou quantos dígitos forem necessários para formar um nome do objeto que seja único.  Um `<n>` que seja 0, suprime o formato longo exibindo apenas a tag mais próxima.

note: type: Plain text
en: Instead of considering only the 10 most recent tags as candidates to describe the input commit-ish consider up to <n> candidates.  Increasing <n> above 10 will take slightly longer but may produce a more accurate result.  An <n> of 0 will cause only exact matches to be output.
pt_BR: Em vez de considerar apenas as 10 tags mais recentes como candidatas para descrever o commit de entrada, considere até `<n>` candidatos.  Aumentando `<n>` para acima de 10 haverá um consumo um pouco maior de tempo, no entanto, poderá produzir um resultado mais preciso.  Um `<n>` que seja 0 fará com que apenas as coincidências exatas sejam exibidas.

note: type: Plain text
en: Only output exact matches (a tag directly references the supplied commit).  This is a synonym for --candidates=0.
pt_BR: Apenas os resultados exatos de saída (uma tag faz referência direta ao commit informado).  Este é um sinônimo para `--candidates=0`.

note: type: Plain text
en: Verbosely display information about the searching strategy being employed to standard error.  The tag name will still be printed to standard out.
pt_BR: Exibe de forma detalhada as informações sobre a estratégia de pesquisa que está sendo empregada para o erro predefinido. predefinida.  O nome da tag ainda será impresso para a saída.

note: type: Plain text
en: Always output the long format (the tag, the number of commits and the abbreviated commit name) even when it matches a tag.  This is useful when you want to see parts of the commit object name in "describe" output, even when the commit in question happens to be a tagged version.  Instead of just emitting the tag name, it will describe such a commit as v1.2-0-gdeadbee (0th commit since tag v1.2 that points at object deadbee....).
pt_BR: Sempre imprima o formato longo (a tag, o a quantidade de commits e o nome abreviado do commit), mesmo quando coincidir com uma tag.  Isso é útil quando você deseja ver as partes do nome do objeto commit na saída "describe", mesmo quando a confirmação em questão seja uma versão marcada.  Em vez de apenas emitir o nome da tag, ele descreverá um commit como `v1.2-0-gdeadbee` (0º commit desde a tag `v1.2` que aponta para o objeto `deadbee`....).

note: type: Labeled list
en: --match <pattern>
pt_BR: --match <padrão>

note: type: Plain text
en: Only consider tags matching the given `glob(7)` pattern, excluding the "refs/tags/" prefix. If used with `--all`, it also considers local branches and remote-tracking references matching the pattern, excluding respectively "refs/heads/" and "refs/remotes/" prefix; references of other types are never considered. If given multiple times, a list of patterns will be accumulated, and tags matching any of the patterns will be considered.  Use `--no-match` to clear and reset the list of patterns.
pt_BR: Considere apenas as tags que coincidam ao padrão `glob (7)`, excluindo o prefixo "refs/tags/". Se utilizado com `--all`, também considera as ramificações locais e as referências do monitoramento remoto que coincidam com o padrão, excluindo respectivamente o prefixo "refs/heads/" e "refs/remotes/"; as referências dos outros tipos nunca são consideradas. Caso seja utilizado várias vezes, uma lista de padrões será acumulada e as tags que coincidam com qualquer um dos padrões serão consideradas.  Utilize `--no-match` para limpar e redefinir a lista dos padrões.

note: type: Labeled list
en: --exclude <pattern>
pt_BR: --exclude <padrão>

note: type: Plain text
en: Do not consider tags matching the given `glob(7)` pattern, excluding the "refs/tags/" prefix. If used with `--all`, it also does not consider local branches and remote-tracking references matching the pattern, excluding respectively "refs/heads/" and "refs/remotes/" prefix; references of other types are never considered. If given multiple times, a list of patterns will be accumulated and tags matching any of the patterns will be excluded. When combined with --match a tag will be considered when it matches at least one --match pattern and does not match any of the --exclude patterns. Use `--no-exclude` to clear and reset the list of patterns.
pt_BR: Não considere as tags que coincidam com padrão `glob (7)`, excluindo o prefixo "refs/tags/". Se utilizado com `--all`, também não considera as ramificações locais e as referências do rastreamento remoto coincidentes ao padrão, excluindo respectivamente o prefixo "refs/heads/" e "refs/remotes/"; as referências de outros tipos nunca são consideradas. Caso seja utilizado várias vezes, uma lista de padrões será acumulada e as tags que coincidam a qualquer um dos padrões serão excluídas. Quando combinada com `--match`, uma tag será considerada quando coincidir a pelo menos um padrão `--match` e não corresponder a nenhum dos padrões `--exclude`. Utilize `--no-exclude` para limpar e redefinir a lista dos padrões.

note: type: Plain text
en: Show uniquely abbreviated commit object as fallback.
pt_BR: Exiba o objeto commit abreviado exclusivamente como "fallback" (retirada).

note: type: Plain text
en: Follow only the first parent commit upon seeing a merge commit.  This is useful when you wish to not match tags on branches merged in the history of the target commit.
pt_BR: Siga apenas o primeiro commit da origem ao ver um commit de mesclagem.  Isso é útil quando você quer que as tags não coincidam nos ramos mesclados do histórico do commit de destino.

note: type: Plain text
en: With something like git.git current tree, I get:
pt_BR: Algo como a árvore atual do `git.git`, recebo:

note: type: Plain text
en: i.e. the current head of my "parent" branch is based on v1.0.4, but since it has a few commits on top of that, describe has added the number of additional commits ("14") and an abbreviated object name for the commit itself ("2414721")  at the end.
pt_BR: ou seja, o cabeçalho atual do meu ramo "original" tem base na versão `v1.0.4`, mas como ele tem alguns commits a mais, o description adicionou a quantidade de commits adicionais ("14") e um nome do objeto abreviado para o próprio commit ("2414721") no final.

note: type: Plain text
en: The number of additional commits is the number of commits which would be displayed by "git log v1.0.4..parent".  The hash suffix is "-g" + unambiguous abbreviation for the tip commit of parent (which was `2414721b194453f058079d897d13c4e377f92dc6`).  The "g" prefix stands for "git" and is used to allow describing the version of a software depending on the SCM the software is managed with. This is useful in an environment where people may use different SCMs.
pt_BR: A quantidade de commits adicionais é a quantidade de commits que seriam exibidas com "git log v1.0.4..parent".  O sufixo hash é "-g" + abreviação inequívoca para o commit como uma dica da origem (que era `2414721b194453f058079d897d13c4e377f92dc6`).  O prefixo "g" significa "git" e é utilizado para permitir a descrição da versão de um software, dependendo do SCM com o qual o software é gerenciado. Isso é útil em um ambiente onde as pessoas podem usar diferentes SCMs.

note: type: Plain text
en: Doing a 'git describe' on a tag-name will just show the tag name:
pt_BR: Ao executar o comando 'git description' no nome de uma tag exibirá apenas o seu nome:

note: type: Plain text
en: With --all, the command can use branch heads as references, so the output shows the reference path as well:
pt_BR: Com a opção `--all`, o comando pode utilizar os `heads` (cabeçalhos) do ramo como referência, portanto a saída exibe também o caminho de referência:

note: type: Plain text
en: With --abbrev set to 0, the command can be used to find the closest tagname without any suffix:
pt_BR: Com a opção `--abbrev` definido como 0, o comando pode ser utilizado para encontrar o nome da tag mais próximo sem nenhum sufixo:

note: type: Plain text
en: Note that the suffix you get if you type these commands today may be longer than what Linus saw above when he ran these commands, as your Git repository may have new commits whose object names begin with 975b that did not exist back then, and "-g975b" suffix alone may not be sufficient to disambiguate these commits.
pt_BR: Observe que o sufixo que você recebe caso digite estes comandos hoje, pode ser que ele pareça ser mais longo do que foi antes quando Linus executou estes mesmos comandos, pois o seu repositório Git pode ter novos commits cujos nomes do objeto saem com 975b que não existiam naquela época, e o sufixo "-g975b" sozinho pode não ser suficiente para desambiguar estes commits.

note: type: Title -
en: SEARCH STRATEGY
pt_BR: ESTRATÉGIA DE PESQUISA

note: type: Plain text
en: For each commit-ish supplied, 'git describe' will first look for a tag which tags exactly that commit.  Annotated tags will always be preferred over lightweight tags, and tags with newer dates will always be preferred over tags with older dates.  If an exact match is found, its name will be output and searching will stop.
pt_BR: Para cada 'commit-ish' informado, o comando 'git description' procurará primeiro em uma tag que identifique exatamente este commit.  As tags anotadas sempre serão preferidas às tags leves, as tags com datas mais recentes sempre serão preferidas às tags com datas mais antigas.  Em caso de uma coincidência exata ser encontrada, o seu nome será exibido e a pesquisa será interrompida.

note: type: Plain text
en: If an exact match was not found, 'git describe' will walk back through the commit history to locate an ancestor commit which has been tagged.  The ancestor's tag will be output along with an abbreviation of the input commit-ish's SHA-1. If `--first-parent` was specified then the walk will only consider the first parent of each commit.
pt_BR: Caso uma coincidência exata não seja encontrada, o comando 'git description' retornará ao histórico do commit para encontrar um commit ancestral que tenha sido marcado.  A tag do ancestral será gerada juntamente com uma abreviação do SHA-1 do 'commit-ish' da entrada. Caso `--first-parent` teha sido utilizado, será considerada apenas o primeiro pai de cada commit.

note: type: Plain text
en: If multiple tags were found during the walk then the tag which has the fewest commits different from the input commit-ish will be selected and output.  Here fewest commits different is defined as the number of commits which would be shown by `git log tag..input` will be the smallest number of commits possible.
pt_BR: No caso várias tags serem localizadas durante o procedimento, será selecionada e gerada a tag que possuir a menor quantidade de "commit-ish" diferentes na entrada.  Aqui, a menor quantidade de commits diferentes é definido pela quantidade de commits que seriam exibidos através do comando `git log tag..input`, o seu resultado será a menor quantidade de commits possíveis.

note: type: Plain text
en: Tree objects as well as tag objects not pointing at commits, cannot be described.  When describing blobs, the lightweight tags pointing at blobs are ignored, but the blob is still described as <committ-ish>:<path> despite the lightweight tag being favorable.
pt_BR: Os objetos árvore assim como os objetos tag que não apontem para um commit não podem ser descritos.  Ao descrever as gotas, as tags mais leves que apontam para as gotas são ignoradas, porém a bolha ainda é descrita como <committ-ish>:<caminho> apesar da tag mais leve ser favorável.

note: type: Plain text
en: git-diff-files - Compares files in the working tree and the index
pt_BR: git-diff-files - Compara os arquivos na árvore de trabalho e no índice

note: type: Plain text
en: 'git diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<common diff options>] [<path>...]
pt_BR: 'git diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<opções-comuns-ao-diff>] [<caminho>...]

note: type: Plain text
en: Compares the files in the working tree and the index.  When paths are specified, compares only those named paths.  Otherwise all entries in the index are compared.  The output format is the same as for 'git diff-index' and 'git diff-tree'.
pt_BR: Compara os arquivos na árvore de trabalho e no índice.  Quando os caminhos são utilizados, compara apenas os caminhos informados.  Caso contrário, todas as entradas no índice serão comparadas.  O formato de saída é o mesmo que para `git diff-index` e `git diff-tree`.

note: type: Plain text
en: Diff against the "base" version, "our branch" or "their branch" respectively.  With these options, diffs for merged entries are not shown.
pt_BR: O "diff" contra a versão na "base", a "nossa ramificação" ou "a ramificação deles", respectivamente.  Com essas opções, as diferenças para entradas mescladas não são exibidas.

note: type: Plain text
en: The default is to diff against our branch (-2) and the cleanly resolved paths.  The option -0 can be given to omit diff output for unmerged entries and just show "Unmerged".
pt_BR: É predefinido fazer o "diff" contra a nossa ramificação (-2) e os caminhos resolvidos de maneira limpa.  A opção `-0` pode ser utilizada para omitir a saída do "diff" para as entradas que não tenham sido mescladas e exibir apenas os "Não mesclados".

note: type: Plain text
en: This compares stage 2 (our branch), stage 3 (their branch) and the working tree file and outputs a combined diff, similar to the way 'diff-tree' shows a merge commit with these flags.
pt_BR: Isso compara o estágio 2 (nosso ramo), o estágio 3 (o ramo deles) e o arquivo da árvore de trabalho que gera um diff combinado, semelhante à maneira como o comando `'diff-tree'` exibe um commit de mesclagem com essas flags.

note: type: Plain text
en: Remain silent even on nonexistent files
pt_BR: Permaneça em silêncio mesmo em arquivos inexistentes

note: type: Plain text
en: git-diff-index - Compare a tree to the working tree or index
pt_BR: git-diff-index - Compara uma árvore com a árvore ou índice de trabalho

note: type: Plain text
en: 'git diff-index' [-m] [--cached] [<common diff options>] <tree-ish> [<path>...]
pt_BR: 'git diff-index' [-m] [--cached] [<opções-comuns-ao-diff>] <tree-ish> [<caminho>...]

note: type: Plain text
en: Compares the content and mode of the blobs found in a tree object with the corresponding tracked files in the working tree, or with the corresponding paths in the index.  When <path> arguments are present, compares only paths matching those patterns.  Otherwise all tracked files are compared.
pt_BR: Compara o conteúdo e o modo das "bolhas" encontrados em um objeto de árvore com os arquivos rastreados coincidentes na árvore de trabalho ou com os caminhos correspondentes no índice.  Quando os argumentos <caminho> estão presentes, compara apenas os caminhos que coincidam com estes padrões.  Caso contrário, todos os arquivos rastreados serão comparados.

note: type: Plain text
en: The id of a tree object to diff against.
pt_BR: A identificação de um objeto de árvore com a qual fazer o "diff".

note: type: Plain text
en: do not consider the on-disk file at all
pt_BR: não considere de forma alguma o arquivo em disco

note: type: Plain text
en: By default, files recorded in the index but not checked out are reported as deleted.  This flag makes 'git diff-index' say that all non-checked-out files are up to date.
pt_BR: É predefinido que os arquivos registrados no índice sem verificação sejam relatados como excluídos.  Esta opção faz com que o comando `git diff-index` diga que todos os arquivos sem verificação estejam atualizados.

note: type: Title -
en: OPERATING MODES
pt_BR: MODOS DE OPERAÇÃO

note: type: Plain text
en: You can choose whether you want to trust the index file entirely (using the `--cached` flag) or ask the diff logic to show any files that don't match the stat state as being "tentatively changed".  Both of these operations are very useful indeed.
pt_BR: Você pode escolher se quer confiar inteiramente no arquivo do índice (utilizando a opção `--cached`) ou pedir à lógica "diff" para exibir todos os arquivos que não coincidam com a condição de "provisoriamente alterado".  Ambas as operações são realmente muito úteis.

note: type: Title -
en: CACHED MODE
pt_BR: MODO EM CACHE

note: type: Plain text
en: If `--cached` is specified, it allows you to ask:
pt_BR: Caso `--cached` seja utilizado, será permitido que você pergunte:

note: type: Plain text
en: 	show me the differences between HEAD and the current index
    	contents (the ones I'd write using 'git write-tree')
pt_BR: 	mostre-me as diferenças atuais entre o HEAD e o índice
    	teor (os que eu escreveria utilizando 'git write-tree')

note: type: Plain text
en: For example, let's say that you have worked on your working directory, updated some files in the index and are ready to commit. You want to see exactly *what* you are going to commit, without having to write a new tree object and compare it that way, and to do that, you just do
pt_BR: Digamos que você trabalhou no seu diretório de trabalho por exemplo e atualizou alguns arquivos no índice e está pronto para fazer o commit. Caso queira ver exatamente *o quê* será feito no commit, sem precisar escrever um novo objeto árvore e compará-lo dessa maneira, faça

note: type: Plain text
en: Example: let's say I had renamed `commit.c` to `git-commit.c`, and I had done an `update-index` to make that effective in the index file.  `git diff-files` wouldn't show anything at all, since the index file matches my working directory. But doing a 'git diff-index' does:
pt_BR: Digamos que eu renomeei o arquivo `commit.c` para `git-commit.c` por exemplo e fiz um `update-index` para torná-lo efetivo no arquivo do índice.  O `git diff-files` não exibiria nada, pois o arquivo do índice coincide com o meu diretório de trabalho. Porém ao fazer um 'git diff-index':

note: type: Plain text
en: You can see easily that the above is a rename.
pt_BR: É possível ver facilmente que o item acima foi renomeado.

note: type: Plain text
en: In fact, `git diff-index --cached` *should* always be entirely equivalent to actually doing a 'git write-tree' and comparing that. Except this one is much nicer for the case where you just want to check where you are.
pt_BR: De fato, o comando `git diff-index --cached` *deve* sempre ser totalmente equivalente a fazer um `git write-tree` e comparar. Exceto que este é muito melhor para o caso onde você queira apenas averiguar onde você está.

note: type: Plain text
en: So doing a `git diff-index --cached` is basically very useful when you are asking yourself "what have I already marked for being committed, and what's the difference to a previous tree".
pt_BR: Portanto, fazer um `git diff-index --cached` é basicamente muito mais útil quando você está se perguntando "o quê eu já marquei para ser feito o commit e qual a diferença com uma árvore anterior".

note: type: Title -
en: NON-CACHED MODE
pt_BR: MODO SEM CACHE

note: type: Plain text
en: The "non-cached" mode takes a different approach, and is potentially the more useful of the two in that what it does can't be emulated with a 'git write-tree' + 'git diff-tree'. Thus that's the default mode.  The non-cached version asks the question:
pt_BR: O modo "sem cache" adota uma abordagem diferente e é potencialmente o mais útil dos dois, pois o que ele faz não pode ser emulado com um 'git write-tree' + 'git diff-tree'. Portanto, este é o modo predefinido.  A versão "sem cache" pergunta:

note: type: Plain text
en:   show me the differences between HEAD and the currently checked out
      tree - index contents _and_ files that aren't up to date
pt_BR:   mostre-me as diferenças entre o `HEAD` e o que foi verificado
      tree - índice do conteúdo _e_ os arquivos que não estão atualizados

note: type: Plain text
en: which is obviously a very useful question too, since that tells you what you *could* commit. Again, the output matches the 'git diff-tree -r' output to a tee, but with a twist.
pt_BR: o que obviamente também é uma pergunta muito útil, pois isso indica qual commit você *poderia* fazer. Novamente, a saída coincidente à saída 'git diff-tree -r' para um "tee", mas com uma desvantagem.

note: type: Plain text
en: The twist is that if some file doesn't match the index, we don't have a backing store thing for it, and we use the magic "all-zero" sha1 to show that. So let's say that you have edited `kernel/sched.c`, but have not actually done a 'git update-index' on it yet - there is no "object" associated with the new state, and you get:
pt_BR: A desvantagem é que, caso algum arquivo não coincida com o índice, nós não temos uma uma estrutura de armazenamento para tanto e utilizamos a mágica do sha1 "zerado" para exibi-los. Então, digamos que você editou o arquivo `kernel/sched.c`, mas ainda não fez um `git update-index` nele - ainda não há um "objeto" associado a nova condição obtendo:

note: type: Plain text
en: i.e., it shows that the tree has changed, and that `kernel/sched.c` is not up to date and may contain new stuff. The all-zero sha1 means that to get the real diff, you need to look at the object in the working directory directly rather than do an object-to-object diff.
pt_BR: isto é, exiba que a árvore mudou, que o `kernel/sched.c` não está atualizado e pode haver novas coisas. O sha1 zerado significa que, para obter um "diff" real, é necessário olhar diretamente para o objeto no diretório de trabalho, em vez de um "diff" de objeto para objeto.

note: type: Plain text
en: As with other commands of this type, 'git diff-index' does not actually look at the contents of the file at all. So maybe `kernel/sched.c` hasn't actually changed, and it's just that you touched it. In either case, it's a note that you need to 'git update-index' it to make the index be in sync.
pt_BR: Como em outros comandos desse tipo, o 'git diff-index' não analisa de forma alguma o conteúdo do arquivo. Então talvez o `kernel/sched.c` não tenha realmente mudado, e é só que você mexeu. Em ambos os casos, é importante observar que você precisa fazer um 'git update-index' para sincronizar o índice.

note: type: Plain text
en: You can have a mixture of files show up as "has been updated" and "is still dirty in the working directory" together. You can always tell which file is in which state, since the "has been updated" ones show a valid sha1, and the "not in sync with the index" ones will always have the special all-zero sha1.
pt_BR: Você pode exibir junto uma mistura de arquivos como "foi atualizado" e "ainda está sujo no diretório de trabalho". Você sempre pode dizer qual arquivo está em qual condição, uma vez que os que "foram atualizados" exibam um sha1 válido e os "que não estão sincronizados com o índice" sempre terão o sha1 especial, zerados.

note: type: Plain text
en: git-difftool - Show changes using common diff tools
pt_BR: git-difftool - Exiba as alterações utilizando as ferramentas comuns do diff

note: type: Plain text
en: 'git difftool' [<options>] [<commit> [<commit>]] [--] [<path>...]
pt_BR: 'git difftool' [<opções>] [<commit> [<commit>]] [--] [<caminho>...]

note: type: Plain text
en: 'git difftool' is a Git command that allows you to compare and edit files between revisions using common diff tools.  'git difftool' is a frontend to 'git diff' and accepts the same options and arguments. See linkgit:git-diff[1].
pt_BR: O 'git difftool' é um comando Git que permite comparar e editar os arquivos entre revisões utilizando ferramentas "diff" comuns.  O 'git difftool' é um frontend para o comando 'git diff' e aceita as mesmas opções e argumentos. Consulte linkgit:git-diff[1].

note: type: Plain text
en: Copy the modified files to a temporary location and perform a directory diff on them. This mode never prompts before launching the diff tool.
pt_BR: Copie os arquivos modificados para um local temporário e execute um "diff" neles. Este modo nunca avisa nada antes de executar a ferramenta diff.

note: type: Plain text
en: Do not prompt before launching a diff tool.
pt_BR: Não avise antes de iniciar uma ferramenta diff.

note: type: Plain text
en: Prompt before each invocation of the diff tool.  This is the default behaviour; the option is provided to override any configuration settings.
pt_BR: Dê um alerta antes de cada invocação da ferramenta diff.  Este é o comportamento predefinido; a opção está disponível para sobrescrever quaisquer configurações.

note: type: Labeled list
en: -t <tool>
pt_BR: -t <ferramenta>

note: type: Labeled list
en: --tool=<tool>
pt_BR: --tool=<ferramenta>

note: type: Plain text
en: Use the diff tool specified by <tool>.  Valid values include emerge, kompare, meld, and vimdiff. Run `git difftool --tool-help` for the list of valid <tool> settings.
pt_BR: Utilize a ferramenta diff especificada por <ferramenta>.  Os valores válidos incluem `emerge`, `kompare`, `meld` e `vimdiff`. Execute o `git difftool --tool-help` para ver uma lista de configurações válidas para <ferramenta>.

note: type: Plain text
en: If a diff tool is not specified, 'git difftool' will use the configuration variable `diff.tool`.  If the configuration variable `diff.tool` is not set, 'git difftool' will pick a suitable default.
pt_BR: Caso uma ferramenta diff não seja especificada, `git difftool` utilizará a variável de configuração `diff.tool`.  Caso a variável de configuração `diff.tool` não esteja definida, o 'git difftool' escolherá um padrão adequado.

note: type: Plain text
en: You can explicitly provide a full path to the tool by setting the configuration variable `difftool.<tool>.path`. For example, you can configure the absolute path to kdiff3 by setting `difftool.kdiff3.path`. Otherwise, 'git difftool' assumes the tool is available in PATH.
pt_BR: Você pode fornecer explicitamente um caminho completo para a ferramenta definindo a variável de configuração `difftool.<ferramenta>.path`. Por exemplo, você pode configurar o caminho absoluto para o kdiff3 configurando `difftool.kdiff3.path`. Caso contrário, o 'git difftool' assume que a ferramenta está disponível no `PATH`.

note: type: Plain text
en: Instead of running one of the known diff tools, 'git difftool' can be customized to run an alternative program by specifying the command line to invoke in a configuration variable `difftool.<tool>.cmd`.
pt_BR: Em vez de executar uma das ferramentas "diff" conhecidas, o 'git difftool' pode ser customizado para executar um programa alternativo, utilizando a linha de comando para chamar uma variável de configuração `difftool.<ferramenta>.cmd`.

note: type: Plain text
en: When 'git difftool' is invoked with this tool (either through the `-t` or `--tool` option or the `diff.tool` configuration variable)  the configured command line will be invoked with the following variables available: `$LOCAL` is set to the name of the temporary file containing the contents of the diff pre-image and `$REMOTE` is set to the name of the temporary file containing the contents of the diff post-image.  `$MERGED` is the name of the file which is being compared. `$BASE` is provided for compatibility with custom merge tool commands and has the same value as `$MERGED`.
pt_BR: Quando o 'git difftool' é chamado com esta ferramenta (através da opção `-t`, `--tool` ou da variável de configuração `diff.tool`), a linha de comando configurada será chamada com as seguintes variáveis disponíveis: `$LOCAL` é definido como o nome do arquivo temporário que contenha o conteúdo da pré-imagem "diff" e `$REMOTE` é definido como o nome do arquivo temporário que contenha o conteúdo "diff" da pós-imagem diff.  `$MERGED` é o nome do arquivo que está sendo comparado. `$BASE` é disponibilizado para compatibilidade com comandos personalizados da ferramenta de mesclagem e tem o mesmo valor que `$MERGED`.

note: type: Plain text
en: Print a list of diff tools that may be used with `--tool`.
pt_BR: Imprima uma lista de ferramentas "diff" que podem ser utilizadas com `--tool`.

note: type: Plain text
en: 'git difftool''s default behavior is create symlinks to the working tree when run in `--dir-diff` mode and the right-hand side of the comparison yields the same content as the file in the working tree.
pt_BR: O comportamento padrão do `git difftool` é criar links simbólicos para a árvore de trabalho quando executado no modo `--dir-diff` e o lado direito da comparação produz o mesmo conteúdo que o arquivo na árvore de trabalho.

note: type: Plain text
en: Specifying `--no-symlinks` instructs 'git difftool' to create copies instead.  `--no-symlinks` is the default on Windows.
pt_BR: Especificar `--no-symlinks` instrui o 'git difftool' para criar cópias.  `--no-symlinks` é a predefinição no Windows.

note: type: Labeled list
en: -x <command>
pt_BR: -x <comando>

note: type: Labeled list
en: --extcmd=<command>
pt_BR: --extcmd = <comando>

note: type: Plain text
en: Specify a custom command for viewing diffs.  'git-difftool' ignores the configured defaults and runs `$command $LOCAL $REMOTE` when this option is specified.  Additionally, `$BASE` is set in the environment.
pt_BR: Especifique um comando personalizado para exibir os "diffs".  'git-difftool' executa `$command $LOCAL $REMOTE` e ignora as predefinições configuradas quando esta opção é utilizada.  A variável `$BASE` é definido no ambiente.

note: type: Plain text
en: When 'git-difftool' is invoked with the `-g` or `--gui` option the default diff tool will be read from the configured `diff.guitool` variable instead of `diff.tool`. The `--no-gui` option can be used to override this setting. If `diff.guitool` is not set, we will fallback in the order of `merge.guitool`, `diff.tool`, `merge.tool` until a tool is found.
pt_BR: Quando o comando 'git-difftool' é chamado com a opção `-g` ou `--gui`, a ferramenta diff predefinida será lida na variável `diff.guitool` configurada em vez do `diff.tool`. A opção `--no-gui` pode ser usada para substituir essa configuração. Caso o `diff.guitool` não esteja definido, retroagiremos na seguinte ordem, `merge.guitool`, `diff.tool`, `merge.tool` até que uma ferramenta seja encontrada.

note: type: Plain text
en: 'git-difftool' invokes a diff tool individually on each file.  Errors reported by the diff tool are ignored by default.  Use `--trust-exit-code` to make 'git-difftool' exit when an invoked diff tool returns a non-zero exit code.
pt_BR: 'git-difftool' invoca uma ferramenta "diff" individualmente em cada arquivo.  Os erros relatados pela ferramenta "diff" são ignorados.  Utilize `--trust-exit-code` para fazer 'git-difftool' encerrar quando uma ferramenta "diff" retornar um código de saída diferente de zero.

note: type: Plain text
en: 'git-difftool' will forward the exit code of the invoked tool when `--trust-exit-code` is used.
pt_BR: 'git-difftool' encaminhará o código de encerramento da ferramenta chamada quando `--trust-exit-code` for utilizado.

note: type: Plain text
en: See linkgit:git-diff[1] for the full list of supported options.
pt_BR: Para ver a lista completa das opções compatíveis consulte linkgit:git-diff[1].

note: type: Title -
en: CONFIG VARIABLES
pt_BR: CONFIGURAÇÃO DAS VARIÁVEIS

note: type: Plain text
en: 'git difftool' falls back to 'git mergetool' config variables when the difftool equivalents have not been defined.
pt_BR: O 'git difftool' retorna às variáveis da configuração do 'git mergetool' quando os equivalentes "difftool" não estiverem definidos.

note: type: Plain text
en: The default diff tool to use.
pt_BR: A ferramenta diff predefinida que será utilizada.

note: type: Plain text
en: The default diff tool to use when `--gui` is specified.
pt_BR: A ferramenta diff predefinida a ser utilizada quando `--gui` for utilizado.

note: type: Labeled list
en: difftool.<tool>.path
pt_BR: difftool.<ferramenta>.path

note: type: Plain text
en: Override the path for the given tool.  This is useful in case your tool is not in the PATH.
pt_BR: Substitua o caminho para a ferramenta informada.  É útil caso a sua ferramenta não esteja no `PATH`.

note: type: Labeled list
en: difftool.<tool>.cmd
pt_BR: difftool.<ferramenta>.cmd

note: type: Plain text
en: Specify the command to invoke the specified diff tool.
pt_BR: Especifique o comando para chamar a ferramenta diff.

note: type: Plain text
en: See the `--tool=<tool>` option above for more details.
pt_BR: Consulte a opção `--tool=<ferramenta>` acima para mais detalhes.

note: type: Plain text
en: Prompt before each invocation of the diff tool.
pt_BR: Avisar antes de cada chamada da ferramenta diff.

note: type: Plain text
en: Exit difftool if the invoked diff tool returns a non-zero exit status.
pt_BR: Encerrar o `difftool` caso a ferramenta "diff" retorne uma condição de encerramento diferente de zero.

note: type: Plain text
en: See the `--trust-exit-code` option above for more details.
pt_BR: Consulte a opção `--trust-exit-code` acima para mais detalhes.

note: type: Plain text
en: Show changes between commits, commit and working tree, etc
pt_BR: Exibir as alterações entre os commits, os commits, árvore de trabalho, etc

note: type: Plain text
en: Run merge conflict resolution tools to resolve merge conflicts
pt_BR: Execute as ferramentas de resolução de conflitos de mesclagem para resolver os conflitos

note: type: Plain text
en: Get and set repository or global options
pt_BR: Obter e definir as opções globais ou as de repositório

note: type: Plain text
en: git-diff-tree - Compares the content and mode of blobs found via two tree objects
pt_BR: git-diff-tree - Compara o conteúdo e o modo das bolhas encontradas através de dois objetos árvore

note: type: Plain text
en: 'git diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]
    	      [-t] [-r] [-c | --cc] [--combined-all-paths] [--root]
    	      [<common diff options>] <tree-ish> [<tree-ish>] [<path>...]
pt_BR: 'git diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]
    	      [-t] [-r] [-c | --cc] [--combined-all-paths] [--root]
    	      [<opções-comuns-ao-diff>] <tree-ish> [<tree-ish>] [<caminho>...]

note: type: Plain text
en: Compares the content and mode of the blobs found via two tree objects.
pt_BR: Compara o conteúdo e o modo das bolhas encontrados por meio de dois objetos árvore.

note: type: Plain text
en: If there is only one <tree-ish> given, the commit is compared with its parents (see --stdin below).
pt_BR: Caso haja apenas um <tree-ish> informado, o commit será comparado com as suas raízes (consulte `--stdin` abaixo).

note: type: Plain text
en: Note that 'git diff-tree' can use the tree encapsulated in a commit object.
pt_BR: Observe que 'git diff-tree' pode usar a árvore encapsulada em um objeto commit.

note: type: Plain text
en: The id of a tree object.
pt_BR: A identificação de um objeto árvore.

note: type: Labeled list
en: <path>...
pt_BR: <caminho>...

note: type: Plain text
en: If provided, the results are limited to a subset of files matching one of the provided pathspecs.
pt_BR: Caso seja utilizado, os resultados serão limitados a um subconjunto de arquivos que coincidam a um dos `pathspecs` utilizados.

note: type: Plain text
en: recurse into sub-trees
pt_BR: recursão em sub-árvores

note: type: Plain text
en: show tree entry itself as well as subtrees.  Implies -r.
pt_BR: exiba a própria entrada da árvore e suas subárvores.  Implica no uso da opção `-r`.

note: type: Plain text
en: When `--root` is specified the initial commit will be shown as a big creation event. This is equivalent to a diff against the NULL tree.
pt_BR: Quando `--root` é utilizado o commit inicial será exibido como um grande evento de criação. Isso é o equivalente a um `diff` na árvore `NULL`.

note: type: Plain text
en: When `--stdin` is specified, the command does not take <tree-ish> arguments from the command line.  Instead, it reads lines containing either two <tree>, one <commit>, or a list of <commit> from its standard input.  (Use a single space as separator.)
pt_BR: Quando `--stdin` é utilizado o comando não obtém os argumentos `<tree-ish>` da linha de comando.  Em vez disso ele lê as linhas contendo duas `<árvores>`, um `<commit>` ou uma lista de `<commit>` da sua entrada padrão.  (Utilize um único espaço como separador.)

note: type: Plain text
en: When two trees are given, it compares the first tree with the second.  When a single commit is given, it compares the commit with its parents.  The remaining commits, when given, are used as if they are parents of the first commit.
pt_BR: Quando duas árvores são informadas, é feita uma comparação entre a primeira e a segunda.  Quando um único commit é dado, ele compara o commit com as suas origens.  Os commits restantes, quando informados, são utilizados como se fossem as origens do primeiro commit.

note: type: Plain text
en: When comparing two trees, the ID of both trees (separated by a space and terminated by a newline) is printed before the difference.  When comparing commits, the ID of the first (or only) commit, followed by a newline, is printed.
pt_BR: Ao comparar duas árvores, o ID de ambas (separado por um espaço e finalizado por uma nova linha) é impressa antes da diferença.  Ao comparar os commits, o ID do primeiro (ou do único) commit será impresso seguido por uma nova linha.

note: type: Plain text
en: The following flags further affect the behavior when comparing commits (but not trees).
pt_BR: As seguintes opções afetam ainda mais o comportamento durante a comparação dos commits (mas não as árvores).

note: type: Plain text
en: By default, 'git diff-tree --stdin' does not show differences for merge commits.  With this flag, it shows differences to that commit from all of its parents. See also `-c`.
pt_BR: É predefinido que `git diff-tree --stdin` não exiba as diferenças para os commits que forem mesclados.  Com esta opção as diferenças são exibidas no commit de todas as suas origens. Consulte também `-c`.

note: type: Plain text
en: By default, 'git diff-tree --stdin' shows differences, either in machine-readable form (without `-p`) or in patch form (with `-p`).  This output can be suppressed.  It is only useful with `-v` flag.
pt_BR: É predefinido que `git diff-tree --stdin` exiba as diferenças, seja na forma legível por máquina (sem `-p`) ou em formato patch (com `-p`).  Esta saída pode ser suprimida.  Só é útil se for sinalizado com a opção`-v`.

note: type: Plain text
en: This flag causes 'git diff-tree --stdin' to also show the commit message before the differences.
pt_BR: Essa sinalização faz com que o `git diff-tree --stdin` também exiba a mensagem do commit antes das diferenças.

note: type: Plain text
en: 'git diff-tree' outputs a line with the commit ID when applicable.  This flag suppressed the commit ID output.
pt_BR: o `git diff-tree` gera uma linha com o ID do commit, quando for aplicável.  Essa sinalização suprimiu o ID de saída do commit.

note: type: Plain text
en: This flag changes the way a merge commit is displayed (which means it is useful only when the command is given one <tree-ish>, or `--stdin`).  It shows the differences from each of the parents to the merge result simultaneously instead of showing pairwise diff between a parent and the result one at a time (which is what the `-m` option does).  Furthermore, it lists only files which were modified from all parents.
pt_BR: Esta opção altera a maneira como um commit mesclado é exibido (o que significa que é útil apenas quando o comando recebe um <tree-ish>, ou `--stdin`).  Exibe as diferenças de cada um das origens simultaneamente para o resultado da mesclagem em vez de exibir a diferença dos pares entre as origens e o resultado, um de cada vez (que é o que a opção `-m` faz).  Além disso, lista apenas os arquivos que foram modificados vindo de todas as origens.

note: type: Plain text
en: This flag changes the way a merge commit patch is displayed, in a similar way to the `-c` option. It implies the `-c` and `-p` options and further compresses the patch output by omitting uninteresting hunks whose the contents in the parents have only two variants and the merge result picks one of them without modification.  When all hunks are uninteresting, the commit itself and the commit log message is not shown, just like in any other "empty diff" case.
pt_BR: Esta opção altera a maneira como um patch para a mesclagem de um commit é exibido, de uma maneira semelhante à opção `-c`. Implica na utilização das opções `-c` e `-p`, comprime ainda mais o patch gerado ao omitir os pedaços que não interessam, cujo conteúdo nas origens tenham apenas duas variantes e o resultado da mesclagem escolha uma delas sem qualquer modificação.  Quando não há interesse em todos os blocos, o próprio commit e a mensagem do registro log não são exibidas, como em qualquer outro caso de um "diff vazio".

note: type: Plain text
en: This flag causes combined diffs (used for merge commits) to list the name of the file from all parents.  It thus only has effect when -c or --cc are specified, and is likely only useful if filename changes are detected (i.e. when either rename or copy detection have been requested).
pt_BR: Esta opção faz com que os diffs combinados (usados para a mesclagem dos commits) listem o nome do arquivo de todos os pais.  Dessa forma, só tem efeito quando `-c` ou `-cc` são utilizados e provavelmente é útil apenas caso as alterações no nome do arquivo sejam detectados (ou seja, quando a renomeação ou a detecção da cópia forem solicitadas).

note: type: Plain text
en: Show the commit itself and the commit log message even if the diff itself is empty.
pt_BR: Exibe o próprio commit com a mensagem do registro log do commit, mesmo que o `diff` esteja vazio.

note: type: Plain text
en: git-diff - Show changes between commits, commit and working tree, etc
pt_BR: git-diff - Exibe as mudanças entre os commits, o commit, a árvore de trabalho, etc

note: type: Plain text
en: 'git diff' [<options>] [<commit>] [--] [<path>...]
    'git diff' [<options>] --cached [<commit>] [--] [<path>...]
    'git diff' [<options>] <commit> [<commit>...] <commit> [--] [<path>...]
    'git diff' [<options>] <commit>...<commit> [--] [<path>...]
    'git diff' [<options>] <blob> <blob>
    'git diff' [<options>] --no-index [--] <path> <path>
pt_BR: 'git diff' [<options>] [<commit>] [--] [<caminho>...]
    'git diff' [<options>] --cached [<commit>] [--] [<caminho>...]
    'git diff' [<options>] <commit> [<commit>...] <commit> [--] [<caminho>...]
    'git diff' [<options>] <commit>...<commit> [--] [<caminho>...]
    'git diff' [<options>] <blob> <blob>
    'git diff' [<options>] --no-index [--] <caminho> <caminho>

note: type: Plain text
en: Show changes between the working tree and the index or a tree, changes between the index and a tree, changes between two trees, changes resulting from a merge, changes between two blob objects, or changes between two files on disk.
pt_BR: Exibe as alterações entre a árvore de trabalho, o índice ou uma árvore, as alterações entre o índice e uma árvore, as alterações entre as duas árvores, nas alterações resultantes de uma mesclagem, nas alterações entre dois objetos gota ou nas alterações entre dois arquivos no disco.

note: type: Labeled list
en: 'git diff' [<options>] [--] [<path>...]
pt_BR: 'git diff' [<opções>] [--] [<caminho>...]

note: type: Plain text
en: This form is to view the changes you made relative to the index (staging area for the next commit).  In other words, the differences are what you _could_ tell Git to further add to the index but you still haven't.  You can stage these changes by using linkgit:git-add[1].
pt_BR: Este formulário serve para exibir as alterações feitas em relação ao índice (área de preparação para o próximo commit).  Em outras palavras, as diferenças são as que você _pode_ informar ao Git para adicionar ao índice, mas ainda não o fez.   Você pode preparar essas alterações utilizando linkgit:git-add[1].

note: type: Labeled list
en: 'git diff' [<options>] --no-index [--] <path> <path>
pt_BR: 'git diff' [<opções>] --no-index [--] <caminho> <caminho>

note: type: Plain text
en: This form is to compare the given two paths on the filesystem.  You can omit the `--no-index` option when running the command in a working tree controlled by Git and at least one of the paths points outside the working tree, or when running the command outside a working tree controlled by Git. This form implies `--exit-code`.
pt_BR: Este formulário serve para comparar os dois caminhos utilizados no sistema de arquivos.  Você pode omitir a opção `--no-index` durante a execução do comando em uma árvore de trabalho controlado pelo Git e pelo menos um dos pontos dos caminhos fora da árvore de trabalho ou ao executar o comando fora de uma árvore de trabalho que é controlado pelo Git. Este formulário implica no uso da opção `--exit-code`.

note: type: Labeled list
en: 'git diff' [<options>] --cached [<commit>] [--] [<path>...]
pt_BR: 'git diff' [<opções>] --cached [<commit>] [--] [<caminho>...]

note: type: Plain text
en: This form is to view the changes you staged for the next commit relative to the named <commit>.  Typically you would want comparison with the latest commit, so if you do not give <commit>, it defaults to HEAD.  If HEAD does not exist (e.g. unborn branches) and <commit> is not given, it shows all staged changes.  --staged is a synonym of --cached.
pt_BR: Este formulário serve para exibir as alterações feitas em relação ao próximo commit relativo ao `<commit>` informado.  Geralmente você vai querer uma comparação com o commit mais recente, portanto, se não fizer o `<commit>` a predefinição retorna para `HEAD`.  Caso `HEAD` não exista (como por exemplo, os galhos que ainda vão aparecer) e um `<commit>` não tenha sido feito, exibe todas as alterações em etapas.  `--staged` é um sinônimo da opção `--cached`.

note: type: Labeled list
en: 'git diff' [<options>] <commit> [--] [<path>...]
pt_BR: 'git diff' [<opções>] <commit> [--] [<caminho>...]

note: type: Plain text
en: This form is to view the changes you have in your working tree relative to the named <commit>.  You can use HEAD to compare it with the latest commit, or a branch name to compare with the tip of a different branch.
pt_BR: Este formulário exibe as modificações feitas por você na sua árvore de trabalho relativo ao nome do `<commit>`.  É possível utilizar o `HEAD` para compará-lo com o commit mais recente ou para comparar com o cume de um ramo diferente.

note: type: Labeled list
en: 'git diff' [<options>] <commit> <commit> [--] [<path>...]
pt_BR: 'git diff' [<opções>] <commit> <commit> [--] [<caminho>...]

note: type: Plain text
en: This is to view the changes between two arbitrary <commit>.
pt_BR: Isso é para exibir as alterações entre os dois `<commits>` arbitrários.

note: type: Labeled list
en: 'git diff' [<options>] <commit>..<commit> [--] [<path>...]
pt_BR: 'git diff' [<opções>] <commit>..<commit> [--] [<caminho>...]

note: type: Plain text
en: This is synonymous to the previous form.  If <commit> on one side is omitted, it will have the same effect as using HEAD instead.
pt_BR: Isso é um sinônimo do formulário anterior.  Caso o <commitir> de um lado seja omitido, ele terá o mesmo efeito que usar `HEAD`.

note: type: Labeled list
en: 'git diff' [<options>] <commit> [<commit>...] <commit> [--] [<path>...]
pt_BR: 'git diff' [<opções>] <commit> [<commit>...] <commit> [--] [<caminho>...]

note: type: Plain text
en: This form is to view the results of a merge commit.  The first listed <commit> must be the merge itself; the remaining two or more commits should be its parents.  A convenient way to produce the desired set of revisions is to use the {caret}@ suffix.  For instance, if `master` names a merge commit, `git diff master master^@` gives the same combined diff as `git show master`.
pt_BR: Este formulário serve para visualizar os resultados da mesclagem de um commit.  Os primeiros <commit> que forem listados devem ser a mesclagem em si; os dois ou mais commits restantes devem ser seus pais.  Uma maneira conveniente de produzir o conjunto desejado das revisões é usar o sufixo {caret}@.  Como por exemplo, caso o  'master' nomeie a mesclagem de um commit, o comando `git diff master^@` retorna o mesmo diff combinado como no comando `git show master`.

note: type: Labeled list
en: 'git diff' [<options>] <commit>\...<commit> [--] [<path>...]
pt_BR: 'git diff' [<opções>] <commit>\...<commit> [--] [<caminho>...]

note: type: Plain text
en: This form is to view the changes on the branch containing and up to the second <commit>, starting at a common ancestor of both <commit>.  "git diff A\...B" is equivalent to "git diff $(git merge-base A B) B".  You can omit any one of <commit>, which has the same effect as using HEAD instead.
pt_BR: Este formulário é para exibir as alterações no ramo que contenha até o segundo `<commit>`, iniciando com um ancestral comum de ambos os `<commit>`.  `git diff A\...B` é o equivalente a um `git diff $(git merge-base A B) B`.  Você pode omitir qualquer um dos `<commit>` que tem o mesmo efeito que usar `HEAD`.

note: type: Plain text
en: Just in case you are doing something exotic, it should be noted that all of the <commit> in the above description, except in the last two forms that use ".." notations, can be any <tree>.
pt_BR: No caso de você estar fazendo algo exótico, deve-se notar que todos os `<commit>` na descrição acima, exceto nas duas últimas formas que usam as notações "..", podem ser qualquer `<árvore>`.

note: type: Plain text
en: For a more complete list of ways to spell <commit>, see "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].  However, "diff" is about comparing two _endpoints_, not ranges, and the range notations ("<commit>..<commit>" and "<commit>\...<commit>") do not mean a range as defined in the "SPECIFYING RANGES" section in linkgit:gitrevisions[7].
pt_BR: Para obter uma lista mais completa de maneiras de soletrar um `<commit>`, consulte a seção "DEFININDO AS REVISÕES" em linkgit:gitrevisions[7].  No entanto, `diff` é sobre comparar dois _endpoints_, e não os intervalos, as notações de intervalo ("<commit>.. <commit>" e "<commit>\... <commit>") não significam um intervalo definido na seção "DEFININDO AS REVISÕES" em linkgit:gitrevisions[7].

note: type: Labeled list
en: 'git diff' [<options>] <blob> <blob>
pt_BR: 'git diff' [<opções>] <blob> <blob>

note: type: Plain text
en: This form is to view the differences between the raw contents of two blob objects.
pt_BR: Este formulário serve para exibir as alterações feitas entre o conteúdo bruto de dois objetos gota.

note: type: Plain text
en: Compare the working tree with the "base" version (stage #1), "our branch" (stage #2) or "their branch" (stage #3).  The index contains these stages only for unmerged entries i.e.  while resolving conflicts.  See linkgit:git-read-tree[1] section "3-Way Merge" for detailed information.
pt_BR: Compare a árvore de trabalho com a versão "base" (stage #1), "o nosso ramo" (stage #2) "o ramo deles" (stage #3).  O índice contém estas etapas apenas para as entradas que não foram não mescladas enquanto estiver resolvendo os conflitos.  Para obter informações mais detalhadas, consulte a seção "3-Way Merge" linkgit:git-read-tree[1].

note: type: Plain text
en: Omit diff output for unmerged entries and just show "Unmerged".  Can be used only when comparing the working tree with the index.
pt_BR: Omita a saída diff para as entradas que não tenham sido mescladas e exiba "Unmergedd".  Só pode ser utilizado quando comparamos a árvore de trabalho com o índice.

note: type: Plain text
en: The <paths> parameters, when given, are used to limit the diff to the named paths (you can give directory names and get diff for all files under them).
pt_BR: Os parâmetros `<paths>`, quando utilizados, são para limitar o `diff` quanto aos nomes dos caminhos (você pode dar nomes de diretórios e obter um `diff` para todos os arquivos sob eles).

note: type: Labeled list
en: Various ways to check your working tree
pt_BR: Várias maneiras para verificar a sua árvore de trabalho

note: type: Plain text
en: Changes in the working tree not yet staged for the next commit.
pt_BR: As mudanças na árvore de trabalho ainda não preparadas para o próximo commit.

note: type: Plain text
en: Changes between the index and your last commit; what you would be committing if you run "git commit" without "-a" option.
pt_BR: As alterações entre o índice e o seu último commit; o que você estaria fazendo no commit caso você executasse o comando "git commit" sem a opção "-a".

note: type: Plain text
en: Changes in the working tree since your last commit; what you would be committing if you run "git commit -a"
pt_BR: As alterações na árvore de trabalho desde o seu último commit; o que você estaria fazendo no commit caso executasse o comando "git commit -a"

note: type: Labeled list
en: Comparing with arbitrary commits
pt_BR: Comparando com commits arbitrários

note: type: Plain text
en: Instead of using the tip of the current branch, compare with the tip of "test" branch.
pt_BR: Em vez de utilizar o cume do ramo atual, compare com o cume do ramo "teste".

note: type: Plain text
en: Instead of comparing with the tip of "test" branch, compare with the tip of the current branch, but limit the comparison to the file "test".
pt_BR: Em vez de comparar com o cume do ramo "teste", compare com o cume do ramo atual, limitando-se a comparação com o arquivo "teste".

note: type: Plain text
en: Compare the version before the last commit and the last commit.
pt_BR: Compare a versão antes do último commit e o último commit.

note: type: Labeled list
en: Comparing branches
pt_BR: Comparando os ramos

note: type: Plain text
en: Changes between the tips of the topic and the master branches.
pt_BR: As alterações entre as dicas do tópico e as ramificações principais.

note: type: Plain text
en: Same as above.
pt_BR: O mesmo que acima.

note: type: Plain text
en: Changes that occurred on the master branch since when the topic branch was started off it.
pt_BR: As alterações que ocorreram na ramificação master (mestre) desde quando a ramificação do tópico foi iniciada.

note: type: Labeled list
en: Limiting the diff output
pt_BR: Limitando a saída diff

note: type: Plain text
en: Show only modification, rename, and copy, but not addition or deletion.
pt_BR: Exibe apenas as modificações, renomeações e cópias, mas não a adição ou exclusão.

note: type: Plain text
en: Show only names and the nature of change, but not actual diff output.
pt_BR: Exibe apenas os nomes e a natureza da alteração, mas não a saída diff real.

note: type: Plain text
en: Limit diff output to named subtrees.
pt_BR: Limite a saída diff aos nomes das subárvores.

note: type: Labeled list
en: Munging the diff output
pt_BR: Arruinando a saída diff

note: type: Plain text
en: Spend extra cycles to find renames, copies and complete rewrites (very expensive).
pt_BR: Gaste alguns ciclos extras para encontrar renomeações, cópias e reescritas completas (muito custoso ao sistema).

note: type: Plain text
en: Output diff in reverse.
pt_BR: Saída do diff em reverso.

note: type: Plain text
en: git-fast-export - Git data exporter
pt_BR: git-fast-export - Exportador de dados do Git

note: type: Plain text
en: 'git fast-export [<options>]' | 'git fast-import'
pt_BR: 'git fast-export [<opções>]' | 'git fast-import'

note: type: Plain text
en: This program dumps the given revisions in a form suitable to be piped into 'git fast-import'.
pt_BR: Este programa despeja as revisões informadas em um formato adequado para ser canalizado para o 'git fast-import'.

note: type: Plain text
en: You can use it as a human-readable bundle replacement (see linkgit:git-bundle[1]), or as a format that can be edited before being fed to 'git fast-import' in order to do history rewrites (an ability relied on by tools like 'git filter-repo').
pt_BR: Você pode usá-lo como uma reposição legível do pacote (consulte linkgit:git-bundle[1]) ou como um formato que pode ser editado antes que possa ser enviado ao 'git fast import' para fazer a reescrita no histórico (uma habilidade dependente das ferramentas como 'git filter-repo').

note: type: Labeled list
en: --progress=<n>
pt_BR: --progress = <n>

note: type: Plain text
en: Insert 'progress' statements every <n> objects, to be shown by 'git fast-import' during import.
pt_BR: Insira instruções de 'progresso' em todos os objetos `<n>` a serem exibidos por 'git fast-import' durante a importação.

note: type: Plain text
en: Specify how to handle signed tags.  Since any transformation after the export can change the tag names (which can also happen when excluding revisions) the signatures will not match.
pt_BR: Determine como lidar com tags assinadas.  Como qualquer transformação após a exportação pode alterar os nomes das tags (o que também pode acontecer ao excluir as revisões) e as assinaturas não coincidentes.

note: type: Plain text
en: When asking to 'abort' (which is the default), this program will die when encountering a signed tag.  With 'strip', the tags will silently be made unsigned, with 'warn-strip' they will be made unsigned but a warning will be displayed, with 'verbatim', they will be silently exported and with 'warn', they will be exported, but you will see a warning.
pt_BR: Ao pedir para abortar 'abort' (que é o padrão), este programa será terminado ao encontrar uma tag assinada.  Com `strip`, as tags serão silenciosamente perderão a assinatura, com `warn strip` elas também perderão a assinatura, porém um aviso será exibido, com `verbatim`, elas serão exportadas silenciosamente e com `warn`, elas serão exportadas , porém você será avisado.

note: type: Plain text
en: Specify how to handle tags whose tagged object is filtered out.  Since revisions and files to export can be limited by path, tagged objects may be filtered completely.
pt_BR: Determina como manipular as tags cujo objeto marcado seja filtrado.  Como as revisões e os arquivos a serem exportados podem ser limitados pelo caminho, os objetos marcados podem ser filtrados por completo.

note: type: Plain text
en: When asking to 'abort' (which is the default), this program will die when encountering such a tag.  With 'drop' it will omit such tags from the output.  With 'rewrite', if the tagged object is a commit, it will rewrite the tag to tag an ancestor commit (via parent rewriting; see linkgit:git-rev-list[1])
pt_BR: Ao pedir para abortar 'abort' (que é o predefinido), este programa será terminado ao encontrar tal tag.  Com 'drop' estas opções serão omitidas da saída.  Com 'rewrite', caso o objeto marcado seja um commit, a tag será reescrita para marcar a tag de um commit anterior (através da reescrita da origem; consulte linkgit:git-rev-list[1])

note: type: Plain text
en: Perform move and/or copy detection, as described in the linkgit:git-diff[1] manual page, and use it to generate rename and copy commands in the output dump.
pt_BR: Detecta a ação de copiar e mover como descrito na página do manual linkgit:git-diff[1], utilize-o para gerar comandos de copiar e renomear na saída.

note: type: Plain text
en: Note that earlier versions of this command did not complain and produced incorrect results if you gave these options.
pt_BR: Observe que as versões anteriores deste comando não reclamavam e produziam resultados incorretos caso essas opções fossem utilizadas.

note: type: Labeled list
en: --export-marks=<file>
pt_BR: --export-marks=<arquivo>

note: type: Plain text
en: Dumps the internal marks table to <file> when complete.  Marks are written one per line as `:markid SHA-1`. Only marks for revisions are dumped; marks for blobs are ignored.  Backends can use this file to validate imports after they have been completed, or to save the marks table across incremental runs.  As <file> is only opened and truncated at completion, the same path can also be safely given to --import-marks.  The file will not be written if no new object has been marked/exported.
pt_BR: Despeja a tabela de marcações internas em <arquivo> quando concluída.  As marcações são escritas uma por linha como `:markid SHA-1`. Somente as marcações para as revisões são despejadas; as marcações das bolhas são ignoradas.  Os processos internos podem usar esse arquivo para validar as importações depois de concluídas ou para salvar a tabela de marcações em execuções incrementais.  Como o <arquivo> só é aberto e truncado na conclusão, o mesmo caminho também pode ser passado com segurança para `--import-marks`.  O arquivo não será gravado caso nenhum novo objeto tenha sido marcado/exportado.

note: type: Labeled list
en: --import-marks=<file>
pt_BR: --import-marks=<arquivo>

note: type: Plain text
en: Before processing any input, load the marks specified in <file>.  The input file must exist, must be readable, and must use the same format as produced by --export-marks.
pt_BR: Antes de processar qualquer entrada, carregue as marcações especificadas no <arquivo>.  O arquivo de entrada deve existir, ser legível e usar o mesmo formato produzido por `--export-marks`.

note: type: Plain text
en: In addition to labelling blobs and commits with mark ids, also label tags.  This is useful in conjunction with `--export-marks` and `--import-marks`, and is also useful (and necessary) for exporting of nested tags.  It does not hurt other cases and would be the default, but many fast-import frontends are not prepared to accept tags with mark identifiers.
pt_BR: Além de rotular as bolhas e fazer os commits com os IDs das marcações, e também rotulando as tags.  É útil em conjunto com a opção `--export-marks` e `--import-marks`, também é útil (e necessário) para a exportação das tags aninhadas.  Não prejudica os outros casos e seria a predefinição, porém muitos frontends de importação rápida (fast-import) não estão preparados para aceitar as tags com identificadores de marcação.

note: type: Plain text
en: Any commits (or tags) that have already been marked will not be exported again.  If the backend uses a similar --import-marks file, this allows for incremental bidirectional exporting of the repository by keeping the marks the same across runs.
pt_BR: Quaisquer commits (ou tags) que já foram marcadas não serão exportadas novamente.  Caso a estrutura utilize um arquivo '--import-marks' semelhante, isto permitirá a exportação bidirecional e incremental do repositório, mantendo as marcas iguais durante as execuções.

note: type: Plain text
en: Some old repositories have tags without a tagger.  The fast-import protocol was pretty strict about that, and did not allow that.  So fake a tagger to be able to fast-import the output.
pt_BR: Alguns repositórios antigos têm tags sem um etiquetador.  O protocolo de importação rápida era bastante rigoroso quanto isso.  Então, falsifique um etiquetador para poder importar rapidamente a saída.

note: type: Plain text
en: Start the stream with a 'feature done' stanza, and terminate it with a 'done' command.
pt_BR: Inicie o fluxo com uma sub-rotina 'feature done' e finalize-o com um comando 'done'.

note: type: Plain text
en: Skip output of blob objects and instead refer to blobs via their original SHA-1 hash.  This is useful when rewriting the directory structure or history of a repository without touching the contents of individual files.  Note that the resulting stream can only be used by a repository which already contains the necessary objects.
pt_BR: Ignore a saída dos objetos bolha e, em vez disso, consulte as bolhas por meio do hash SHA-1 original.  Isso é útil durante a reescrita da estrutura dos diretórios ou do histórico de um repositório sem tocar no conteúdo individual dos arquivos.  Observe que o fluxo resultante pode ser utilizado apenas por um repositório que já contenha os objetos necessários.

note: type: Plain text
en: This option will cause fast-export to issue a "deleteall" directive for each commit followed by a full list of all files in the commit (as opposed to just listing the files which are different from the commit's first parent).
pt_BR: Essa opção fará com que a exportação rápida emita uma diretiva "deleteall" (apague todos) para cada commit seguida por uma lista completa de todos os arquivos no commit (em vez de apenas listar os arquivos diferentes do primeiro commit).

note: type: Plain text
en: Anonymize the contents of the repository while still retaining the shape of the history and stored tree.  See the section on `ANONYMIZING` below.
pt_BR: Torne os conteúdos do repositório, anônimo, mantendo a forma do histórico e da árvore armazenada.  Veja a seção `ANONIMIZANDO` abaixo.

note: type: Labeled list
en: --anonymize-map=<from>[:<to>]
pt_BR: --anonymize-map=<a-partir-de>[:<para>]

note: type: Plain text
en: Convert token `<from>` to `<to>` in the anonymized output. If `<to>` is omitted, map `<from>` to itself (i.e., do not anonymize it). See the section on `ANONYMIZING` below.
pt_BR: Converta o token `<a-partir-de>` para `<para>` na saída anônima. Caso `<para>` seja omitido, mapeie `<a-partir-de>` para si mesmo (ou seja, não anonimamente). Consulte a seção 'ANONIMIZANDO` abaixo.

note: type: Plain text
en: By default, running a command such as `git fast-export master~5..master` will not include the commit master{tilde}5 and will make master{tilde}4 no longer have master{tilde}5 as a parent (though both the old master{tilde}4 and new master{tilde}4 will have all the same files).  Use --reference-excluded-parents to instead have the stream refer to commits in the excluded range of history by their sha1sum.  Note that the resulting stream can only be used by a repository which already contains the necessary parent commits.
pt_BR: É predefinido que ao executar um comando como `git fast-export master~5..master` não incluirá o commit 'master{tilde}5' e fará com que o 'master{tilde}4' não tenha mais o 'master{tilde}5' como parente (embora ambos o antigo 'master{tilde}4' e o novo 'master{tilde}4' tenham todos os mesmos arquivos).  Utilize a opção `--reference-exclusive-parents` para que o fluxo se refira aos commits no intervalo excluído do histórico pelo sha1sum.  Observe que o fluxo resultante pode ser utilizado apenas por um repositório que já contenha os parentes dos commits necessários.

note: type: Plain text
en: Add an extra directive to the output for commits and blobs, `original-oid <SHA1SUM>`.  While such directives will likely be ignored by importers such as git-fast-import, it may be useful for intermediary filters (e.g. for rewriting commit messages which refer to older commits, or for stripping blobs by id).
pt_BR: Inclua uma diretiva extra para os commits que forem gerados e as bolhas, `original-oid <SHA1SUM>`.  Embora estas diretivas provavelmente sejam ignoradas pelos importadores, como o comando `git-fast-import`, pode ser útil para os filtros intermediários (para reescrever mensagens do commit que se referem aos commits mais antigos ou para remover as bolhas através de uma ID por exemplo).

note: type: Plain text
en: Specify how to handle `encoding` header in commit objects.  When asking to 'abort' (which is the default), this program will die when encountering such a commit object.  With 'yes', the commit message will be re-encoded into UTF-8.  With 'no', the original encoding will be preserved.
pt_BR: Especifique como manipular o cabeçalho `encoding` nos objetos commit.  Ao pedir para abortar 'abort' (que é a predefinição), este programa será terminado ao encontrar tal objeto que foi feito o commit.  Com 'yes', a mensagem do commit será re-codificada para UTF-8.  Com 'no', a codificação original será preservada.

note: type: Plain text
en: Apply the specified refspec to each ref exported. Multiple of them can be specified.
pt_BR: Aplique o `refspec` especificado a cada "ref" exportado. Vários deles podem ser especificados.

note: type: Plain text
en: A list of arguments, acceptable to 'git rev-parse' and 'git rev-list', that specifies the specific objects and references to export.  For example, `master~10..master` causes the current master reference to be exported along with all objects added since its 10th ancestor commit and (unless the --reference-excluded-parents option is specified) all files common to master{tilde}9 and master{tilde}10.
pt_BR: Uma lista de argumentos aceitáveis para o 'git rev-parse' e 'git rev-list', que especifica os objetos e referências para serem exportadas.  Por exemplo, `master~10..master` faz com que a referência principal atual seja exportada junto com todos os objetos adicionados desde o seu décimo commit ancestral e (a menos que a opção `--reference-exclusive-parents` esteja especificada) todos os arquivos comuns a master{tilde}9 e master{tilde}10.

note: type: Plain text
en: This will export the whole repository and import it into the existing empty repository.  Except for reencoding commits that are not in UTF-8, it would be a one-to-one mirror.
pt_BR: Isso exportará o repositório inteiro e importará para o repositório vazio existente.  Exceto para re-codificar os commits que não estejam como UTF-8, seria um cópia um para um.

note: type: Plain text
en: This makes a new branch called 'other' from 'master~5..master' (i.e. if 'master' has linear history, it will take the last 5 commits).
pt_BR: Isso cria um novo ramo chamado 'other' de 'master~5..master' (ou seja, caso 'master' tenha um histórico linear, serão necessários então os últimos 5 commits).

note: type: Plain text
en: Note that this assumes that none of the blobs and commit messages referenced by that revision range contains the string 'refs/heads/master'.
pt_BR: Observe que isso pressupõe que nenhuma das bolhas e as mensagens dos commits referenciadas por esse intervalo de revisão, contenha a sequência `refs/heads/master`.

note: type: Title -
en: ANONYMIZING
pt_BR: ANONIMIZANDO

note: type: Plain text
en: If the `--anonymize` option is given, git will attempt to remove all identifying information from the repository while still retaining enough of the original tree and history patterns to reproduce some bugs. The goal is that a git bug which is found on a private repository will persist in the anonymized repository, and the latter can be shared with git developers to help solve the bug.
pt_BR: Caso a opção `--anonymize` seja utilizada, o git tentará remover todas as informações de identificação do repositório, mantendo ainda o suficiente da árvore original e dos padrões do histórico para reproduzir alguns bugs. O objetivo é que um bug do git encontrado em um repositório privado persista no repositório anonimizado e este último pode ser compartilhado com os desenvolvedores do git para ajudar na resolução do problema.

note: type: Plain text
en: With this option, git will replace all refnames, paths, blob contents, commit and tag messages, names, and email addresses in the output with anonymized data.  Two instances of the same string will be replaced equivalently (e.g., two commits with the same author will have the same anonymized author in the output, but bear no resemblance to the original author string). The relationship between commits, branches, and tags is retained, as well as the commit timestamps (but the commit messages and refnames bear no resemblance to the originals). The relative makeup of the tree is retained (e.g., if you have a root tree with 10 files and 3 trees, so will the output), but their names and the contents of the files will be replaced.
pt_BR: Com esta opção, o git substituirá todos os `refnames`, os caminhos, o conteúdo da bolha, o commit, a tag das mensagens, os nomes e os endereços de e-mail que forem gerados através de dados anônimos.  As duas instâncias da mesma sequência serão substituídas de forma equivalente (dois commits com o mesmo autor irão gerar o mesmo autor anônimo, porém não terão nenhuma semelhança com a sequência do autor original por exemplo). O relacionamento entre os commits, as ramificações e as tags será mantido, bem como o registro de data e hora dos commits (menos as mensagens dos commits e os `refnames` que não tenham nenhuma semelhança com os originais). A composição relativa da árvore é mantida (caso tenha uma árvore raiz com 10 arquivos e 3 árvores, assim também será gerado por exemplo), porém os seus nomes e o conteúdo dos arquivos serão substituídos.

note: type: Plain text
en: If you think you have found a git bug, you can start by exporting an anonymized stream of the whole repository:
pt_BR: Caso acredite que tenha encontrado um bug no git, pode começar exportando um fluxo anonimizado de todo o repositório:

note: type: Plain text
en: Then confirm that the bug persists in a repository created from that stream (many bugs will not, as they really do depend on the exact repository contents):
pt_BR: Em seguida, confirme se o bug persiste em um repositório criado a partir desse fluxo (muitos erros não, pois eles realmente dependem do conteúdo exato do repositório):

note: type: delimited block -
en: $ git init anon-repo
    $ cd anon-repo
    $ git fast-import <../anon-stream
    $ ... test your bug ...
pt_BR: $ git init anon-repo
    $ cd anon-repo
    $ git fast-import <../anon-stream
    $ ... teste o seu bug ...

note: type: Plain text
en: If the anonymized repository shows the bug, it may be worth sharing `anon-stream` along with a regular bug report. Note that the anonymized stream compresses very well, so gzipping it is encouraged. If you want to examine the stream to see that it does not contain any private data, you can peruse it directly before sending. You may also want to try:
pt_BR: Caso o repositório anonimizado exiba o erro, pode valer a pena compartilhar o `anon-stream` junto com um relatório de erro tradicional. Observe que o fluxo anonimizado é muito bem compactado, portanto a sua compactação gzip é altamente recomendável. Caso deseje examinar o fluxo para ver se não contém dados particulares, é possível examiná-lo diretamente antes de enviar. Também é possível tentar:

note: type: Plain text
en: which shows all of the unique lines (with numbers converted to "X", to collapse "User 0", "User 1", etc into "User X"). This produces a much smaller output, and it is usually easy to quickly confirm that there is no private data in the stream.
pt_BR: que exiba todas as linhas exclusivas (com números convertidos em "X", para recolher o "Usuário 0", "Usuário 1" etc. em "Usuário X"). Isso produz uma saída muito menor e geralmente é de rápida confirmação já que não há dados privados no fluxo.

note: type: Plain text
en: Reproducing some bugs may require referencing particular commits or paths, which becomes challenging after refnames and paths have been anonymized. You can ask for a particular token to be left as-is or mapped to a new value. For example, if you have a bug which reproduces with `git rev-list sensitive -- secret.c`, you can run:
pt_BR: A reprodução de alguns bugs pode exigir a referência para alguns commits em particular ou caminhos específicos, o que se torna desafiador depois que os refnames e os caminhos sejam anonimizados. É possível solicitar que um token em específico seja deixado como está ou seja mapeado para um novo valor. Como por exemplo, caso tenha um bug que seja reproduzido com o comando `git rev-list sensitive -- secret.c`, é possível executar:

note: type: Plain text
en: After importing the stream, you can then run `git rev-list foo -- bar.c` in the anonymized repository.
pt_BR: Depois de importar o fluxo, é possível então executar o commando `git rev-list foo -- bar.c` no repositório anonimizado.

note: type: Plain text
en: Note that paths and refnames are split into tokens at slash boundaries.  The command above would anonymize `subdir/secret.c` as something like `path123/bar.c`; you could then search for `bar.c` in the anonymized repository to determine the final pathname.
pt_BR: Observe que os caminhos e os nomes são divididos em tokens nos limites do corte.  O comando acima iria anonimizar `subdir/secret.c` para algo como `path123/bar.c`; seria possível então procurar por `bar.c` no repositório anonimizado para determinar o caminho final.

note: type: Plain text
en: To make referencing the final pathname simpler, you can map each path component; so if you also anonymize `subdir` to `publicdir`, then the final pathname would be `publicdir/bar.c`.
pt_BR: Para tornar mais simples a referência ao pathname (nome do caminho), é possível mapear cada componente do caminho; então, caso também anonimize o `subdir` para `publicdir`, então o nome final do caminho seria `publicdir/bar.c`.

note: type: Plain text
en: Since 'git fast-import' cannot tag trees, you will not be able to export the linux.git repository completely, as it contains a tag referencing a tree instead of a commit.
pt_BR: Como 'git fast-import' não pode marcar as árvores, você não poderá exportar o repositório linux.git completamente pois ele contém uma marca que faz referência a uma árvore em vez de um commit.

note: type: Plain text
en: git-fast-import - Backend for fast Git data importers
pt_BR: git-fast-import - Estrutura para os importadores de dados rápidos do Git

note: type: Plain text
en: frontend | 'git fast-import' [<options>]
pt_BR: frontend | 'git fast-import' [<opções>]

note: type: Plain text
en: This program is usually not what the end user wants to run directly.  Most end users want to use one of the existing frontend programs, which parses a specific type of foreign source and feeds the contents stored there to 'git fast-import'.
pt_BR: Este programa geralmente não é o que o usuário final deseja executar diretamente.  A maioria dos usuários finais deseja usar um dos programas front-end já existentes, que analisa um tipo específico de fonte estrangeira e alimenta o conteúdo armazenado lá para 'git fast-import'.

note: type: Plain text
en: fast-import reads a mixed command/data stream from standard input and writes one or more packfiles directly into the current repository.  When EOF is received on standard input, fast import writes out updated branch and tag refs, fully updating the current repository with the newly imported data.
pt_BR: O `fast-import` lê um fluxo misto de comandos e dados na entrada padrão e grava um ou mais pacote de arquivos diretamente no repositório atual.  Quando um "EOF" é recebido na entrada padrão, a importação rápida grava as referências atualizadas das ramificações e tags, atualizando completamente o repositório atual com os dados importados recentemente.

note: type: Plain text
en: The fast-import backend itself can import into an empty repository (one that has already been initialized by 'git init') or incrementally update an existing populated repository.  Whether or not incremental imports are supported from a particular foreign source depends on the frontend program in use.
pt_BR: A estrutura `fast-import` em si pode importar para um repositório vazio (um que já foi inicializado por 'git init') ou atualizar de forma incremental em um repositório preenchido já existente.  Caso as importações incrementais sejam ou não compatíveis com determinada fonte estrangeira específica, isso vai depender do programa de front-end utilizado.

note: type: Plain text
en: Force updating modified existing branches, even if doing so would cause commits to be lost (as the new commit does not contain the old commit).
pt_BR: Impor a atualização das ramificações existentes que foram alteradas , ainda que os commits sejam perdidos (como um novo commit que não contenha o commit antigo).

note: type: Plain text
en: Disable the output shown by --stats, making fast-import usually be silent when it is successful.  However, if the import stream has directives intended to show user output (e.g. `progress` directives), the corresponding messages will still be shown.
pt_BR: Desative a saída exibida por `--stats`, fazendo com que o `fast-import` seja silenciado quando for bem-sucedido.  No entanto, caso o fluxo de importação tenha diretivas destinadas a exibir a saída do usuário (diretivas `progress` por exemplo), as mensagens coincidentes ainda serão exibidas.

note: type: Plain text
en: Display some basic statistics about the objects fast-import has created, the packfiles they were stored into, and the memory used by fast-import during this run.  Showing this output is currently the default, but can be disabled with --quiet.
pt_BR: Exiba algumas estatísticas básicas sobre os objetos que a importação rápida criou, os arquivos do pacote em que foram armazenados e a memória utilizado por `fast-import` durante essa execução.  É predefinido que esta saída seja exibida, mas pode ser desativado com `--quiet`.

note: type: Plain text
en: Many command-line options can be provided as part of the fast-import stream itself by using the `feature` or `option` commands. However, some of these options are unsafe (e.g., allowing fast-import to access the filesystem outside of the repository). These options are disabled by default, but can be allowed by providing this option on the command line.  This currently impacts only the `export-marks`, `import-marks`, and `import-marks-if-exists` feature commands.
pt_BR: Muitas opções na linha de comando podem ser informadas como parte do próprio fluxo de importação rápida, utilizando os comandos `feature` ou `option`. No entanto, algumas destas opções não são seguras (como por exemplo, permitindo que a importação rápida acesse o sistema de arquivos fora do repositório). É predefinido que estas opções estão desabilitadas, porém podem ser permitidas ao utilizar essa opção na linha de comandos.  Atualmente, isso afeta apenas os comandos de recurso `export-marks`,` import-marks` e `import-marks-if-exist`.

note: type: Plain text
en: Only enable this option if you trust the program generating the fast-import stream! This option is enabled automatically for remote-helpers that use the `import` capability, as they are already trusted to run their own code.
pt_BR: Ative esta opção apenas caso confie no programa que gera o fluxo de importação rápida! Esta opção é ativada automaticamente para os auxiliares remotos que usem o recurso `import`, pois eles já são confiáveis para executar o seu próprio código.

note: type: Title ~
en: Options for Frontends
pt_BR: Opções para Front-ends

note: type: Plain text
en: Write responses to `get-mark`, `cat-blob`, and `ls` queries to the file descriptor <fd> instead of `stdout`.  Allows `progress` output intended for the end-user to be separated from other output.
pt_BR: Escreva as respostas para `get-mark`, `cat-blob` e do `ls` das consultas no descritor do arquivo <fd> em vez do `stdout`.  Permite que a saída `progress` destinada ao usuário final seja separada de uma outra saída.

note: type: Plain text
en: Specify the type of dates the frontend will supply to fast-import within `author`, `committer` and `tagger` commands.  See ``Date Formats'' below for details about which formats are supported, and their syntax.
pt_BR: Especifique o tipo das datas que o frontend fornecerá para o `fast-import` nos comandos `author`, `committer` e `tagger`.  Consulte ``Formatos de data'' abaixo para obter mais detalhes sobre quais os formatos são compatíveis e sua respectiva sintaxe.

note: type: Plain text
en: Terminate with error if there is no `done` command at the end of the stream.  This option might be useful for detecting errors that cause the frontend to terminate before it has started to write a stream.
pt_BR: Termine com erro caso não haja um comando `done` no final do fluxo.  Essa opção pode ser útil para detectar os erros que fazem com que o front-end seja encerrado antes de começar a gravar um fluxo.

note: type: Title ~
en: Locations of Marks Files
pt_BR: Localizações dos arquivos de marcação

note: type: Plain text
en: Dumps the internal marks table to <file> when complete.  Marks are written one per line as `:markid SHA-1`.  Frontends can use this file to validate imports after they have been completed, or to save the marks table across incremental runs.  As <file> is only opened and truncated at checkpoint (or completion) the same path can also be safely given to --import-marks.
pt_BR: Despeja a tabela de marcações internas em <arquivo> quando concluída.  As marcações são escritas uma por linha como `:markid SHA-1`.  Os front-ends podem usar este arquivo para validar as importações depois que forem concluídas ou para salvar a tabela de marcações nas execuções incrementais.  Como o <arquivo> é aberto e truncado apenas no ponto de verificação (ou conclusão), o mesmo caminho também pode ser passado com segurança para `--import-marks`.

note: type: Plain text
en: Before processing any input, load the marks specified in <file>.  The input file must exist, must be readable, and must use the same format as produced by --export-marks.  Multiple options may be supplied to import more than one set of marks.  If a mark is defined to different values, the last file wins.
pt_BR: Antes de processar qualquer entrada, carregue as marcações especificadas no <arquivo>.  O arquivo de entrada deve existir, ser legível e usar o mesmo formato produzido por `--export-marks`.  As múltiplas opções podem ser informadas para importar mais de um conjunto de marcas.  Caso uma marcação seja definida com valores diferentes, o último arquivo vence.

note: type: Labeled list
en: --import-marks-if-exists=<file>
pt_BR: --import-marks-if-exists=<arquivo>

note: type: Plain text
en: Like --import-marks but instead of erroring out, silently skips the file if it does not exist.
pt_BR: Como `--import-marks` porém caso não exista, em vez de exibir um erro, ignora silenciosamente o arquivo.

note: type: Plain text
en: After specifying --relative-marks the paths specified with --import-marks= and --export-marks= are relative to an internal directory in the current repository.  In git-fast-import this means that the paths are relative to the .git/info/fast-import directory. However, other importers may use a different location.
pt_BR: Após especificar `--relative-marks`, os caminhos especificados com `--import-marks=` e `--export-marks=` são relativos a um diretório interno no repositório atual.  No `git-fast-import`, isso significa que os caminhos são relativos ao diretório `.git/info/fast-import`. No entanto, outros importadores podem usar um local diferente.

note: type: Plain text
en: Relative and non-relative marks may be combined by interweaving --(no-)-relative-marks with the --(import|export)-marks= options.
pt_BR: Marcações relativas ou não podem ser combinadas entrelaçando `--(no-)-relative-marks` com a opção `--(import|export)-marks=`.

note: type: Title ~
en: Submodule Rewriting
pt_BR: Reescrita do submódulo

note: type: Labeled list
en: --rewrite-submodules-from=<name>:<file>
pt_BR: --rewrite-submodules-from=<nome>:<arquivo>

note: type: Labeled list
en: --rewrite-submodules-to=<name>:<file>
pt_BR: --rewrite-submodules-to=<nome>:<arquivo>

note: type: Plain text
en: Rewrite the object IDs for the submodule specified by <name> from the values
pt_BR: Reescreva as IDs dos objetos para o submódulo definido pelo <nome> vindo dos valores

note: type: Plain text
en: used in the from <file> to those used in the to <file>. The from marks should have been created by `git fast-export`, and the to marks should have been created by `git fast-import` when importing that same submodule.
pt_BR: usado vindo de um <arquivo> para aqueles usado para o <arquivo>. As marcações de origem deveriam ter sido criadas por pelo comando `git fast-export` e as marcações to deveriam ter sido criadas pelo ` git fast-import` durante a importação do mesmo submódulo.

note: type: Plain text
en: <name> may be any arbitrary string not containing a colon character, but the same value must be used with both options when specifying corresponding marks.  Multiple submodules may be specified with different values for <name>. It is an error not to use these options in corresponding pairs.
pt_BR: O <nome> pode ser qualquer sequência arbitrária que não contenha um caractere com dois pontos, porém o mesmo valor deve ser utilizado com as duas opções ao definir as marcações correspondentes.  Os vários submódulos podem ser definidos com valores diferentes para <nome>. É um erro não utilizar estas opções nos pares correspondentes.

note: type: Plain text
en: These options are primarily useful when converting a repository from one hash algorithm to another; without them, fast-import will fail if it encounters a submodule because it has no way of writing the object ID into the new hash algorithm.
pt_BR: Estas opções são úteis principalmente durante a conversão de um repositório através de um algoritmo hash para o outro; sem eles, a importação rápida irá falhar caso encontre um submódulo porque não há como gravar a ID do objeto no novo algoritmo hash.

note: type: Title ~
en: Performance and Compression Tuning
pt_BR: Ajuste de desempenho e compactação

note: type: Plain text
en: Maximum number of branches to maintain active at once.  See ``Memory Utilization'' below for details.  Default is 5.
pt_BR: Número máximo de ramificações para manter ativo de uma só vez.  Consulte `` Utilização da memória '' abaixo para mais informações.  A predefinição é 5.

note: type: Plain text
en: Maximum size of a blob that fast-import will attempt to create a delta for, expressed in bytes.  The default is 512m (512 MiB).  Some importers may wish to lower this on systems with constrained memory.
pt_BR: O tamanho máximo de uma bolha para o qual o `fast-import` tentará criar um delta expressado em bytes.  A predefinição é 512m (512 MiB).  Alguns importadores podem diminuir isso em sistemas com menos memória.

note: type: Plain text
en: Maximum delta depth, for blob and tree deltification.  Default is 50.
pt_BR: Profundidade delta máxima, para a "deltificação" da bolha e da árvore.  A predefinição é 50.

note: type: Labeled list
en: --export-pack-edges=<file>
pt_BR: --export-pack-edges=<arquivo>

note: type: Plain text
en: After creating a packfile, print a line of data to <file> listing the filename of the packfile and the last commit on each branch that was written to that packfile.  This information may be useful after importing projects whose total object set exceeds the 4 GiB packfile limit, as these commits can be used as edge points during calls to 'git pack-objects'.
pt_BR: Depois de criar um pacote de arquivo, imprima uma linha de dados em `<arquivo>`, listando o nome do arquivo e o último commit em cada ramo que foi gravado neste pacote.  Estas informações podem ser úteis após a importação de projetos cujo conjunto total de objetos exceda o limite de 4 GiB, pois estes commits podem ser utilizados como pontos de extremidade durante as chamadas para o 'git pack-objects'.

note: type: Plain text
en: Maximum size of each output packfile.  The default is unlimited.
pt_BR: Tamanho máximo de cada pacote de arquivo.  A predefinição é sem limites.

note: type: Plain text
en: See linkgit:git-config[1]
pt_BR: Consulte linkgit:git-config[1]

note: type: Title -
en: PERFORMANCE
pt_BR: DESEMPENHO

note: type: Plain text
en: The design of fast-import allows it to import large projects in a minimum amount of memory usage and processing time.  Assuming the frontend is able to keep up with fast-import and feed it a constant stream of data, import times for projects holding 10+ years of history and containing 100,000+ individual commits are generally completed in just 1-2 hours on quite modest (~$2,000 USD) hardware.
pt_BR: O design do `fast-import` permite a importação de grandes projetos com uma quantidade mínima do consumo da memória e do tempo de processamento.  Supondo que o front-end seja capaz de acompanhar e alimentar o `fast-import` com um fluxo constante de dados, os tempos de importação para os projetos com mais de 10+ anos de história e com mais de 100.000+ commits individuais geralmente são concluídos entre uma a duas horas com um hardware modesto (~$2.000 USD).

note: type: Plain text
en: Most bottlenecks appear to be in foreign source data access (the source just cannot extract revisions fast enough) or disk IO (fast-import writes as fast as the disk will take the data).  Imports will run faster if the source data is stored on a different drive than the destination Git repository (due to less IO contention).
pt_BR: A maioria dos gargalos parece estar no acesso a dados de origem estrangeira (a fonte simplesmente não pode extrair as revisões com a rapidez suficiente) ou no E/S do disco (o `fast-import` grava tão rápido quanto o disco aceitar).  As importações serão executadas o mais rapidamente caso os dados de origem sejam armazenados em uma unidade diferente do repositório de destino Git (devido a menor contenção de E/S).

note: type: Title -
en: DEVELOPMENT COST
pt_BR: CUSTO DE DESENVOLVIMENTO

note: type: Plain text
en: A typical frontend for fast-import tends to weigh in at approximately 200 lines of Perl/Python/Ruby code.  Most developers have been able to create working importers in just a couple of hours, even though it is their first exposure to fast-import, and sometimes even to Git.  This is an ideal situation, given that most conversion tools are throw-away (use once, and never look back).
pt_BR: Um front-end típico para `fast-import` tende a pesar aproximadamente 200 linhas de código Perl/Python/Ruby.  A maioria dos desenvolvedores conseguiu criar importadores ativos em apenas algumas horas, mesmo que seja a sua primeira exposição ao `fast-import` e às vezes, até ao Git.  Esta é uma situação ideal, já que a maioria das ferramentas de conversão é descartável (utilize uma vez e nunca mais se preocupe).

note: type: Title -
en: PARALLEL OPERATION
pt_BR: OPERAÇÃO EM PARALELO

note: type: Plain text
en: Like 'git push' or 'git fetch', imports handled by fast-import are safe to run alongside parallel `git repack -a -d` or `git gc` invocations, or any other Git operation (including 'git prune', as loose objects are never used by fast-import).
pt_BR: Como `git push` ou `git fetch`, as importações manipuladas pelo `fast-import` são seguras para serem executadas juntamente com as invocações paralelas `git repack -a -d` ou `git gc` ou qualquer outra operação Git (incluindo `git prune`, objetos soltos nunca são utilizados por `fast-import`).

note: type: Plain text
en: fast-import does not lock the branch or tag refs it is actively importing.  After the import, during its ref update phase, fast-import tests each existing branch ref to verify the update will be a fast-forward update (the commit stored in the ref is contained in the new history of the commit to be written).  If the update is not a fast-forward update, fast-import will skip updating that ref and instead prints a warning message.  fast-import will always attempt to update all branch refs, and does not stop on the first failure.
pt_BR: O `fast-import` não bloqueia a ramificação ou "tag refs" que está sendo importando ativamente.  Após a importação, durante a sua fase de atualização do "ref", o `fast-import` testa cada "ref" em cada ramo existente para verificar se a atualização será uma atualização de avanço rápido (o commit armazenado no "ref" está contida no novo histórico do commit a ser gravado).  Se a atualização não for uma atualização rápida, a importação rápida pulará a atualização "ref" e em vez disso, imprimirá uma mensagem de aviso.  A importação rápida sempre tentará atualizar todas as ramificações refs e não para na primeira falha.

note: type: Plain text
en: Branch updates can be forced with --force, but it's recommended that this only be used on an otherwise quiet repository.  Using --force is not necessary for an initial import into an empty repository.
pt_BR: As atualizações das ramificações podem ser impostas com a opção `--force`, mas é recomendável que isso seja utilizado apenas em um repositório silencioso.  O uso da opção `--force` não é necessário para uma importação inicial para um repositório vazio.

note: type: Title -
en: TECHNICAL DISCUSSION
pt_BR: DISCUSSÃO TÉCNICA

note: type: Plain text
en: fast-import tracks a set of branches in memory.  Any branch can be created or modified at any point during the import process by sending a `commit` command on the input stream.  This design allows a frontend program to process an unlimited number of branches simultaneously, generating commits in the order they are available from the source data.  It also simplifies the frontend programs considerably.
pt_BR: O `fast-import` monitora um conjunto de ramificações na memória.  Durante o processo de importação, qualquer ramo pode ser criado ou modificado a qualquer momento, enviando um comando `commit` no fluxo de entrada.  Este design permite que um programa front-end processe uma quantidade ilimitada de ramificações simultâneas, gerando commits na ordem em que estão disponíveis a partir dos dados da origem.  Isso também simplifica consideravelmente os programas de interface.

note: type: Plain text
en: fast-import does not use or alter the current working directory, or any file within it.  (It does however update the current Git repository, as referenced by `GIT_DIR`.)  Therefore an import frontend may use the working directory for its own purposes, such as extracting file revisions from the foreign source.  This ignorance of the working directory also allows fast-import to run very quickly, as it does not need to perform any costly file update operations when switching between branches.
pt_BR: O `fast-import` não usa ou altera o diretório de trabalho atual ou qualquer outro arquivo dentro dele.  (No entanto, atualiza o repositório Git atual, conforme referenciado por `GIT_DIR`.) Portanto, um front-end de importação pode usar o diretório de trabalho para os seus próprios propósitos, como extrair as revisões dos arquivos das fontes estrangeiras.  Essa ignorância do diretório de trabalho também permite que o `fast-import` seja executado muito rapidamente, pois não é necessário executar nenhuma operação dispendiosa de atualização de arquivo ao alternar entre as ramificações.

note: type: Title -
en: INPUT FORMAT
pt_BR: FORMATO DE ENTRADA

note: type: Plain text
en: With the exception of raw file data (which Git does not interpret)  the fast-import input format is text (ASCII) based.  This text based format simplifies development and debugging of frontend programs, especially when a higher level language such as Perl, Python or Ruby is being used.
pt_BR: Com exceção dos dados brutos do arquivo (que o Git não interpreta), o formato de entrada do `fast-import` é baseado em texto (ASCII).  Esse formato baseado em texto simplifica o desenvolvimento e a depuração dos programas front-end, especialmente quando uma linguagem de nível superior, como o Perl, Python ou Ruby, está sendo utilizado.

note: type: Plain text
en: fast-import is very strict about its input.  Where we say SP below we mean *exactly* one space.  Likewise LF means one (and only one) linefeed and HT one (and only one) horizontal tab.  Supplying additional whitespace characters will cause unexpected results, such as branch names or file names with leading or trailing spaces in their name, or early termination of fast-import when it encounters unexpected input.
pt_BR: O `fast-import` é muito rigoroso quanto à sua entrada.  Quando dissermos SP, queremos dizer *exatamente* um espaço.  Da mesma forma, `LF` significa uma alimentação de linha (apenas uma) e `HT` uma guia horizontal (apenas uma).  O fornecimento de caracteres de espaço adicionais causará resultados inesperados, como os nomes dos ramos ou nomes dos arquivos com espaços à esquerda ou à direita em seu nome, ou o encerramento antecipado do `fast-import` quando encontrar uma entrada inesperada.

note: type: Title ~
en: Stream Comments
pt_BR: Comentários do fluxo

note: type: Plain text
en: To aid in debugging frontends fast-import ignores any line that begins with `#` (ASCII pound/hash) up to and including the line ending `LF`.  A comment line may contain any sequence of bytes that does not contain an LF and therefore may be used to include any detailed debugging information that might be specific to the frontend and useful when inspecting a fast-import data stream.
pt_BR: Para ajudar na depuração de front-ends, o `fast-import` ignora qualquer linha que comece com `#` (ASCII libra/hash) até, e incluindo, a linha que termina com `LF`.  Uma linha de comentário pode conter qualquer sequência de bytes que não contenha um `LF` e, portanto, pode ser utilizado para incluir qualquer informação detalhada de depuração que possa ser específica do front-end e útil ao inspecionar um fluxo de dados do `fast-import`.

note: type: Title ~
en: Date Formats
pt_BR: Formatos de data

note: type: Plain text
en: The following date formats are supported.  A frontend should select the format it will use for this import by passing the format name in the --date-format=<fmt> command-line option.
pt_BR: Os seguintes formatos são compatíveis.  Um front-end deve selecionar o formato que será utilizado para essa importação, passando o nome do formato na opção da linha de comando `--date-format=<fmt>`.

note: type: Plain text
en: This is the Git native format and is `<time> SP <offutc>`.  It is also fast-import's default format, if --date-format was not specified.
pt_BR: Este é o formato nativo do Git que é `<tempo> SP <offutc>`.  Também é o formato predefinido do `fast-import`, caso `--date-format` não seja utilizado.

note: type: Plain text
en: The time of the event is specified by `<time>` as the number of seconds since the UNIX epoch (midnight, Jan 1, 1970, UTC) and is written as an ASCII decimal integer.
pt_BR: A hora do evento é especificado através de `<tempo>` como o número de segundos desde a época UNIX (meia-noite de 1º de janeiro de 1970, UTC) e é gravado como um número inteiro decimal ASCII.

note: type: Plain text
en: The local offset is specified by `<offutc>` as a positive or negative offset from UTC.  For example EST (which is 5 hours behind UTC)  would be expressed in `<tz>` by ``-0500'' while UTC is ``+0000''.  The local offset does not affect `<time>`; it is used only as an advisement to help formatting routines display the timestamp.
pt_BR: A compensação local é determinado através de `<offutc>` como uma compensação positiva ou negativa do UTC.  Por exemplo, EST (que fica há 5 horas atrás do UTC) seria expresso em `<tz>` por ``-0500'' enquanto o UTC é ``+0000''.  A compensação local não afeta o `<tempo>`; é utilizado apenas como um aviso para ajudar as rotinas de formatação a exibir o registro de data e hora.

note: type: Plain text
en: If the local offset is not available in the source material, use ``+0000'', or the most common local offset.  For example many organizations have a CVS repository which has only ever been accessed by users who are located in the same location and time zone.  In this case a reasonable offset from UTC could be assumed.
pt_BR: Caso uma compensação local não esteja disponível no material de origem, utilize ``+0000'' ou a compensação local mais comum.  Por exemplo, muitas organizações têm um repositório CVS que só foi acessado por usuários localizados no mesmo local e fuso horário.  Nesse caso, uma compensação razoável do UTC pode ser assumida.

note: type: Plain text
en: Unlike the `rfc2822` format, this format is very strict.  Any variation in formatting will cause fast-import to reject the value, and some sanity checks on the numeric values may also be performed.
pt_BR: Diferente do formato `rfc2822`, que é muito rigoroso.  Qualquer variação na formatação fará com que o `fast-import` rejeite o valor e algumas verificações de sanidade com valores numéricos também possam ser executadas.

note: type: Plain text
en: This is the same as `raw` except that no sanity checks on the numeric epoch and local offset are performed.  This can be useful when trying to filter or import an existing history with e.g. bogus timezone values.
pt_BR: Isto é o mesmo que `raw`, exceto que as verificações de sanidade não são realizadas na época numérica e no desvio do fuso horário local.  Isto pode ser útil ao tentar filtrar ou importar um histórico já existente com por exemplo, valores falsos do fuso horário.

note: type: Plain text
en: This is the standard email format as described by RFC 2822.
pt_BR: Este é o formato de email padrão, conforme está descrito pela RFC 2822.

note: type: Plain text
en: An example value is ``Tue Feb 6 11:22:18 2007 -0500''.  The Git parser is accurate, but a little on the lenient side.  It is the same parser used by 'git am' when applying patches received from email.
pt_BR: Um valor de exemplo é ``Ter 6 de fevereiro 11:22:18 2007 -0500''.  O analisador do Git é preciso, porém um pouco tolerante.  É o mesmo analisador utilizado pelo 'git am' ao aplicar os patches recebidos de email.

note: type: Plain text
en: Some malformed strings may be accepted as valid dates.  In some of these cases Git will still be able to obtain the correct date from the malformed string.  There are also some types of malformed strings which Git will parse wrong, and yet consider valid.  Seriously malformed strings will be rejected.
pt_BR: Algumas cadeias de caracteres (strings) malformadas podem ser aceitas como datas válidas.  Em alguns desses casos, o Git ainda poderá obter a data correta da cadeia de caracteres.  Também existem alguns tipos de cadeia de caracteres malformados que o Git analisará incorretamente e, no entanto, ainda assim o considerará válido.  As sequências que estiverem seriamente malformadas serão rejeitadas.

note: type: Plain text
en: Unlike the `raw` format above, the time zone/UTC offset information contained in an RFC 2822 date string is used to adjust the date value to UTC prior to storage.  Therefore it is important that this information be as accurate as possible.
pt_BR: Diferentemente do formato `bruto` acima, as informações de compensação do fuso horário/UTC contidas em uma sequência de datas RFC 2822, são utilizadas para ajustar o valor da data para UTC antes do armazenamento.  Portanto, é importante que essas informações sejam as mais precisas possíveis.

note: type: Plain text
en: If the source material uses RFC 2822 style dates, the frontend should let fast-import handle the parsing and conversion (rather than attempting to do it itself) as the Git parser has been well tested in the wild.
pt_BR: Caso o material de origem utilize datas no formato RFC 2822, o front-end deve permitir que o `fast-import` manipule a análise a conversão (em vez de tentar fazer isso sozinho), pois o analisador do Git foi bem testado em um ambiente natural.

note: type: Plain text
en: Frontends should prefer the `raw` format if the source material already uses UNIX-epoch format, can be coaxed to give dates in that format, or its format is easily convertible to it, as there is no ambiguity in parsing.
pt_BR: Os front-end devem preferir o formato `raw` (bruto) caso o material de origem já utilize o formato UNIX, pode ser atrativo fornecer datas nesse formato, ou o seu formato é facilmente convertível, pois não há ambiguidade na análise.

note: type: Plain text
en: Always use the current time and time zone.  The literal `now` must always be supplied for `<when>`.
pt_BR: Sempre utilize a hora e o fuso horário atual.  O literal `now` sempre deve ser informado em `<quando>`.

note: type: Plain text
en: This is a toy format.  The current time and time zone of this system is always copied into the identity string at the time it is being created by fast-import.  There is no way to specify a different time or time zone.
pt_BR: Este é um formato de brinquedo.  A hora e o fuso horário atual deste sistema são sempre copiados para a cadeia de identidade no momento em que são criados pelo `fast-import`.  Não há como especificar um horário ou fuso horário diferente.

note: type: Plain text
en: This particular format is supplied as it's short to implement and may be useful to a process that wants to create a new commit right now, without needing to use a working directory or 'git update-index'.
pt_BR: Esse formato em particular é informado para implementação curta e pode ser útil para um processo onde se deseja criar um novo commit imediatamente, sem a necessidade de usar um diretório ativo ou `git update-index`.

note: type: Plain text
en: If separate `author` and `committer` commands are used in a `commit` the timestamps may not match, as the system clock will be polled twice (once for each command).  The only way to ensure that both author and committer identity information has the same timestamp is to omit `author` (thus copying from `committer`) or to use a date format other than `now`.
pt_BR: Caso o `autor` e o `committer` sejam utilizados de forma separadas em um `commit`, os registro de data e hora podem não coincidir, pois o relógio do sistema será pesquisado duas vezes (uma vez para cada comando).  A única maneira de garantir que as informações de identidade do autor e de quem fez o commit tenham o mesmo registro de data e hora é omitir o `autor` (copiando assim do `committer`) ou usar um formato de data diferente de `now`.

note: type: Title ~
en: Commands
pt_BR: Comandos

note: type: Plain text
en: fast-import accepts several commands to update the current repository and control the current import process.  More detailed discussion (with examples) of each command follows later.
pt_BR: O fast-import aceita vários comandos para atualizar o repositório atual e controlar o processo de importação.  Discussões mais detalhadas (com exemplos) de cada comando virão depois.

note: type: Plain text
en: Creates a new branch or updates an existing branch by creating a new commit and updating the branch to point at the newly created commit.
pt_BR: Cria uma nova ramificação ou atualiza uma ramificação existente, criando um novo commit e atualizando a ramificação para apontar para o commit recém criado.

note: type: Plain text
en: Creates an annotated tag object from an existing commit or branch.  Lightweight tags are not supported by this command, as they are not recommended for recording meaningful points in time.
pt_BR: Cria um objeto "tag" anotado a partir de um commit ou ramificação existente.  As tags `lightweight` (ou leves) não são compatíveis com este comando, pois não são recomendadas para registrar os pontos importantes de tempo.

note: type: Plain text
en: Reset an existing branch (or a new branch) to a specific revision.  This command must be used to change a branch to a specific revision without making a commit on it.
pt_BR: Redefina uma ramificação existente (ou uma nova ramificação) para determinada revisão.  Este comando deve ser utilizado para alterar uma ramificação para uma revisão específica sem fazer um commit nela.

note: type: Plain text
en: Convert raw file data into a blob, for future use in a `commit` command.  This command is optional and is not needed to perform an import.
pt_BR: Converta os dados brutos do arquivo em uma bolha, para uso futuro em um comando `commit`.  Este comando é opcional, não sendo necessário para executar uma importação.

note: type: Plain text
en: Record that a mark refers to a given object without first creating any new object.  Using --import-marks and referring to missing marks will cause fast-import to fail, so aliases can provide a way to set otherwise pruned commits to a valid value (e.g. the nearest non-pruned ancestor).
pt_BR: Registre que uma marca se refere a um determinado objeto sem antes criar qualquer objeto novo.  O uso de --import-marks e referindo-se a marcas ausentes fará com que a importação rápida falhe de modo que os pseudônimos possam fornecer uma maneira de definir os compromissos podados de outra forma a um valor válido (por exemplo, o ancestral não podado mais próximo).

note: type: Plain text
en: Forces fast-import to close the current packfile, generate its unique SHA-1 checksum and index, and start a new packfile.  This command is optional and is not needed to perform an import.
pt_BR: Impõem o uso de `fast-import` para fechar o arquivo de pacotes atual, gerar seu "checksum", seu índice SHA-1 e iniciar um novo pacote de arquivo.  Este comando é opcional, não sendo necessário para executar uma importação.

note: type: Plain text
en: Causes fast-import to echo the entire line to its own standard output.  This command is optional and is not needed to perform an import.
pt_BR: Faz com que o `fast-import` faça um eco da linha inteira para sua própria saída padrão.  Este comando é opcional, não sendo necessário para executar uma importação.

note: type: Plain text
en: Marks the end of the stream. This command is optional unless the `done` feature was requested using the `--done` command-line option or `feature done` command.
pt_BR: Faz a marcação do fim do fluxo. Este comando é opcional, a menos que o recurso `done` tenha sido solicitado utilizando a opção de linha de comando` --done` ou o comando `feature done`.

note: type: Plain text
en: Causes fast-import to print the SHA-1 corresponding to a mark to the file descriptor set with `--cat-blob-fd`, or `stdout` if unspecified.
pt_BR: Faz com que o `fast-import` imprima o SHA-1 correspondente a uma marcação no descritor do arquivo definido com `--cat-blob-fd` ou `stdout` caso não tenha sido especificado.

note: type: Plain text
en: Causes fast-import to print a blob in 'cat-file --batch' format to the file descriptor set with `--cat-blob-fd` or `stdout` if unspecified.
pt_BR: Faz com que o `fast-import` imprima uma bolha no formato 'cat-file --batch' no descritor do arquivo definido com `--cat-blob-fd` ou `stdout` caso não tenha sido especificado.

note: type: Plain text
en: Causes fast-import to print a line describing a directory entry in 'ls-tree' format to the file descriptor set with `--cat-blob-fd` or `stdout` if unspecified.
pt_BR: Faz com que o `fast-import` imprima uma linha que descreve uma entrada do diretório no formato `ls-tree` para o descritor do arquivo definido com `--cat-blob-fd` ou `stdout` caso não tenha sido especificado.

note: type: Plain text
en: Enable the specified feature. This requires that fast-import supports the specified feature, and aborts if it does not.
pt_BR: Ativa o recurso especificado. Isso requer que o `fast-import` ofereça compatibilidade ao recurso especificado, caso contrário, que seja abortado.

note: type: Plain text
en: Specify any of the options listed under OPTIONS that do not change stream semantic to suit the frontend's needs. This command is optional and is not needed to perform an import.
pt_BR: Especifique qualquer uma das opções listadas em `OPTIONS` que não alterem a semântica do fluxo para atender às necessidades do front-end. Este comando é opcional, não sendo necessário para executar uma importação.

note: type: Plain text
en: Create or update a branch with a new commit, recording one logical change to the project.
pt_BR: Crie ou atualize uma ramificação com um novo commit, registrando uma alteração lógica no projeto.

note: type: delimited block .
en: 	'commit' SP <ref> LF
    	mark?
    	original-oid?
    	('author' (SP <name>)? SP LT <email> GT SP <when> LF)?
    	'committer' (SP <name>)? SP LT <email> GT SP <when> LF
    	('encoding' SP <encoding>)?
    	data
    	('from' SP <commit-ish> LF)?
    	('merge' SP <commit-ish> LF)*
    	(filemodify | filedelete | filecopy | filerename | filedeleteall | notemodify)*
    	LF?
pt_BR: 	'commit' SP <ref> LF
    	mark?
    	original-oid?
    	('author' (SP <nome>)? SP LT <e-mail> GT SP <quando> LF)?
    	'committer' (SP <nome>)? SP LT <e-mail> GT SP <quando> LF
    	('encoding' SP <codificação>)?
    	data
    	('from' SP <commit-ish> LF)?
    	('merge' SP <commit-ish> LF)*
    	(filemodify | filedelete | filecopy | filerename | filedeleteall | notemodify)*
    	LF?

note: type: Plain text
en: where `<ref>` is the name of the branch to make the commit on.  Typically branch names are prefixed with `refs/heads/` in Git, so importing the CVS branch symbol `RELENG-1_0` would use `refs/heads/RELENG-1_0` for the value of `<ref>`.  The value of `<ref>` must be a valid refname in Git.  As `LF` is not valid in a Git refname, no quoting or escaping syntax is supported here.
pt_BR: onde `<ref>` é o nome do ramo no qual o commit deve ser feito.  Normalmente, os nomes dos ramos são prefixados com `refs/heads/` no Git, portanto, a importação do símbolo do ramo CVS `RELENG-1_0` utilizaria `refs/heads/RELENG-1_0` como o valor de `<ref>`.  O valor de `<ref>` deve ser um "refname" válido no Git.  Como `LF` não é válido em um "refname" do Git, nenhuma sintaxe de aspas ou de escape é compatível aqui.

note: type: Plain text
en: A `mark` command may optionally appear, requesting fast-import to save a reference to the newly created commit for future use by the frontend (see below for format).  It is very common for frontends to mark every commit they create, thereby allowing future branch creation from any imported commit.
pt_BR: Um comando de marcação `mark` pode aparecer opcionalmente, solicitando ao `fast-import` para salvar uma referência ao commit recém-criado para uso futuro através do front-end (veja abaixo).  É muito comum que os front-ends marquem cada commit criado, permitindo assim a criação futura de ramificações a partir de qualquer commit importado.

note: type: Plain text
en: The `data` command following `committer` must supply the commit message (see below for `data` command syntax).  To import an empty commit message use a 0 length data.  Commit messages are free-form and are not interpreted by Git.  Currently they must be encoded in UTF-8, as fast-import does not permit other encodings to be specified.
pt_BR: O comando `data` após o `committer` deve suprir a mensagem do commit (veja abaixo a sintaxe do comando `data`).  Para importar uma mensagem vazia de commit, utilize os dados com 0 de comprimento.  As mensagens do commit são de livre formato e não são interpretadas pelo Git.  Atualmente, elas devem ser codificadas em UTF-8, pois o `fast-import` não permite que outras codificações sejam utilizadas.

note: type: Plain text
en: Zero or more `filemodify`, `filedelete`, `filecopy`, `filerename`, `filedeleteall` and `notemodify` commands may be included to update the contents of the branch prior to creating the commit.  These commands may be supplied in any order.  However it is recommended that a `filedeleteall` command precede all `filemodify`, `filecopy`, `filerename` and `notemodify` commands in the same commit, as `filedeleteall` wipes the branch clean (see below).
pt_BR: Zero ou mais comandos como `filemodify`, `filedelete`, `filecopy`, `filerename`, `filedeleteall` e `notemodify` podem ser incluídos para atualizar o conteúdo do ramo antes de criar o commit.  Estes comandos podem ser utilizados em qualquer ordem.  No entanto, é recomendado que um comando `filedeleteall` preceda todos os comandos `filemodify`, `filecopy`, `filerename` e `notemodify` no mesmo commit, já que `filedeleteall` limpa a ramificação (veja abaixo).

note: type: Plain text
en: The `LF` after the command is optional (it used to be required).  Note that for reasons of backward compatibility, if the commit ends with a `data` command (i.e. it has no `from`, `merge`, `filemodify`, `filedelete`, `filecopy`, `filerename`, `filedeleteall` or `notemodify` commands) then two `LF` commands may appear at the end of the command instead of just one.
pt_BR: O 'LF' após o comando é opcional (costumava ser obrigatório).  Observe que por razões de retrocompatibilidade, caso o commit termine com um comando `data` (ou seja, não tiver nenhum comando `from`, `merge`, `filemodify`, `filedelete`, `filecopy`, `filerename`, `filedeleteall` ou `notemodify`) então dois comandos 'LF' podem aparecer no final do comando em vez de apenas um.

note: type: Plain text
en: An `author` command may optionally appear, if the author information might differ from the committer information.  If `author` is omitted then fast-import will automatically use the committer's information for the author portion of the commit.  See below for a description of the fields in `author`, as they are identical to `committer`.
pt_BR: Um comando `autor` pode opcionalmente aparecer, caso as informações do autor puderem diferir das informações de quem fez o commit.  Caso o `autor` seja omitido, então o `fast-import` usará automaticamente as informações de quem fez o commit para a parte relaiva ao autor do commit.  Veja abaixo uma descrição dos campos em `autor`, pois são idênticos aos do `committer`.

note: type: Plain text
en: The `committer` command indicates who made this commit, and when they made it.
pt_BR: O comando `committer` indica quem foi que fez o commit e quando foi feito.

note: type: Plain text
en: Here `<name>` is the person's display name (for example ``Com M Itter'') and `<email>` is the person's email address (``\cm@example.com'').  `LT` and `GT` are the literal less-than (\x3c)  and greater-than (\x3e) symbols.  These are required to delimit the email address from the other fields in the line.  Note that `<name>` and `<email>` are free-form and may contain any sequence of bytes, except `LT`, `GT` and `LF`.  `<name>` is typically UTF-8 encoded.
pt_BR: Aqui `<nome>` é o nome de exibição da pessoa (``Com M Itter'' por exemplo) and `<e-mail>` é o endereço de e-mail da pessoa(``\cm@example.com'').  `LT` e `GT` são os símbolos literais menores que (`\x3c`) e maiores que (`\x3e`).  Isso é necessário para delimitar o endereço de e-mail dos outros campos na linha.  Observe que `<nome>` e `<e-mail>` são de forma livre e podem conter qualquer sequência de bytes, exceto `LT`,` GT` e `LF`.  `<nome>` é codificada em UTF-8.

note: type: Plain text
en: The time of the change is specified by `<when>` using the date format that was selected by the --date-format=<fmt> command-line option.  See ``Date Formats'' above for the set of supported formats, and their syntax.
pt_BR: A hora da alteração é especificada por `<quando>` utilizando o formato de data selecionado pela opção da linha de comando `--date-format=<fmt>`.  Consulte ``Formatos de data'' acima para obter o conjunto de formatos compatíveis e a sua sintaxe.

note: type: Plain text
en: The optional `encoding` command indicates the encoding of the commit message.  Most commits are UTF-8 and the encoding is omitted, but this allows importing commit messages into git without first reencoding them.
pt_BR: O comando opcional `encoding` indica a codificação da mensagem do commit.  A maioria dos  commits são UTF-8 e a codificação é omitida, porém isso permite importar as mensagens dos commits para o git sem que primeiro seja necessário recodificá-las.

note: type: Plain text
en: The `from` command is used to specify the commit to initialize this branch from.  This revision will be the first ancestor of the new commit.  The state of the tree built at this commit will begin with the state at the `from` commit, and be altered by the content modifications in this commit.
pt_BR: O comando `from` é utilizado para especificar o commit para inicializar esta ramificação.  Esta revisão será o primeiro ancestral do novo commit.  O estado da árvore construída neste commit começará com a condição no commit `from` e será alterado pelas alterações do conteúdo deste commit.

note: type: Plain text
en: Omitting the `from` command in the first commit of a new branch will cause fast-import to create that commit with no ancestor. This tends to be desired only for the initial commit of a project.  If the frontend creates all files from scratch when making a new branch, a `merge` command may be used instead of `from` to start the commit with an empty tree.  Omitting the `from` command on existing branches is usually desired, as the current commit on that branch is automatically assumed to be the first ancestor of the new commit.
pt_BR: Omitir o comando `from` no primeiro commit de uma nova ramificação fará com que o `fast-import` crie este commit sem antecessor. Isso tende a ser desejado apenas para o commit inicial de um projeto.  Caso o front-end crie todos os arquivos do zero ao criar uma nova ramificação, um comando `merge` poderá ser utilizado em vez de `from` para iniciar o commit com uma árvore vazia.  Omitir o comando `from` em ramificações existentes é geralmente desejado, pois o commit atual neste ramo é automaticamente assumido como o primeiro antecessor do novo commit.

note: type: Plain text
en: As `LF` is not valid in a Git refname or SHA-1 expression, no quoting or escaping syntax is supported within `<commit-ish>`.
pt_BR: Como `LF` não é válido em uma referência de nome do Git ou em uma expressão SHA-1, nenhuma sintaxe de citação ou escape é compatível com `<commit-ish>`.

note: type: Plain text
en: Here `<commit-ish>` is any of the following:
pt_BR: Aqui `<commit-ish>` é qualquer um dos seguintes:

note: type: Plain text
en: The name of an existing branch already in fast-import's internal branch table.  If fast-import doesn't know the name, it's treated as a SHA-1 expression.
pt_BR: O nome de uma ramificação existente já na tabela de ramificações internas do `fast-import`.  Caso o `fast-import` não saiba o nome, ele será tratado como uma expressão SHA-1.

note: type: Plain text
en: A mark reference, `:<idnum>`, where `<idnum>` is the mark number.
pt_BR: A marcação de referência, `:<idnum>`, onde `<idnum>` seja o número da marcação.

note: type: Plain text
en: The reason fast-import uses `:` to denote a mark reference is this character is not legal in a Git branch name.  The leading `:` makes it easy to distinguish between the mark 42 (`:42`) and the branch 42 (`42` or `refs/heads/42`), or an abbreviated SHA-1 which happened to consist only of base-10 digits.
pt_BR: O motivo do `fast-import` utilizar `:` para indicar uma marcação de referência, este caractere não é legal com um nome do ramo do Git.  O `:` principal facilita a distinção entre a marcação 42 (`:42`) e a ramificação 42 (`42` ou `refs/heads/42`), ou um SHA-1 abreviado que passou a consistir apenas em dígitos com base 10.

note: type: Plain text
en: Marks must be declared (via `mark`) before they can be used.
pt_BR: As marcações devem ser declaradas (através de `mark`) antes de poderem ser utilizadas.

note: type: Plain text
en: A complete 40 byte or abbreviated commit SHA-1 in hex.
pt_BR: Um commit completo com 40 bytes ou um SHA-1 abreviado em hexadecimal.

note: type: Plain text
en: Any valid Git SHA-1 expression that resolves to a commit.  See ``SPECIFYING REVISIONS'' in linkgit:gitrevisions[7] for details.
pt_BR: Qualquer expressão Git SHA-1 válido que resolva para um commit.  Consulte ``DEFININDO AS REVISÕES'' em linkgit:gitrevisions[7] para mais detalhes.

note: type: Plain text
en: The special null SHA-1 (40 zeros) specifies that the branch is to be removed.
pt_BR: O SHA-1 nulo especial (40 zeros) especifica que a ramificação deve ser removida.

note: type: Plain text
en: The special case of restarting an incremental import from the current branch value should be written as:
pt_BR: O caso especial de reiniciar uma importação incremental do valor atual do ramo deve ser escrito como:

note: type: Plain text
en: The `^0` suffix is necessary as fast-import does not permit a branch to start from itself, and the branch is created in memory before the `from` command is even read from the input.  Adding `^0` will force fast-import to resolve the commit through Git's revision parsing library, rather than its internal branch table, thereby loading in the existing value of the branch.
pt_BR: O sufixo `^0` é necessário, pois a importação rápida não permite que uma ramificação inicie por si mesma e a ramificação é criada na memória antes que o comando `from` seja lido pela entrada.  Adicionar o `^0` irá impor que o `fast-import` resolva o commit através da biblioteca de análise de revisão do Git, em vez de sua tabela de ramificação interna, carregando assim o valor existente do ramo.

note: type: Plain text
en: Includes one additional ancestor commit.  The additional ancestry link does not change the way the tree state is built at this commit.  If the `from` command is omitted when creating a new branch, the first `merge` commit will be the first ancestor of the current commit, and the branch will start out with no files.  An unlimited number of `merge` commands per commit are permitted by fast-import, thereby establishing an n-way merge.
pt_BR: Inclui um commit ancestral adicional.  O link de ancestralidade adicional não altera a maneira como o estado da árvore é construído nesse commit.  Caso o comando `from` seja omitido durante a criação de uma nova ramificação, o primeiro commit` merge` será o primeiro ancestral do commit atual, e o ramo começará sem arquivos.  Um número ilimitado de comandos `merge` por commit é permitido pelo `fast-import`, estabelecendo assim uma mesclagem n-way.

note: type: Plain text
en: Here `<commit-ish>` is any of the commit specification expressions also accepted by `from` (see above).
pt_BR: Aqui `<commit-ish>` é qualquer uma das expressões de especificação de um commit também aceitas por `from` (veja acima).

note: type: Plain text
en: Included in a `commit` command to add a new file or change the content of an existing file.  This command has two different means of specifying the content of the file.
pt_BR: Incluído no comando `commit` para adicionar um novo arquivo ou alterar o conteúdo de um arquivo existente.  Este comando possui dois meios diferentes de especificar o conteúdo do arquivo.

note: type: Labeled list
en: External data format
pt_BR: Formato de dados externos

note: type: Plain text
en: The data content for the file was already supplied by a prior `blob` command.  The frontend just needs to connect it.
pt_BR: O conteúdo dos dados para o arquivo já foi informado por um comando `blob` (bolha) anterior.  O front-end só precisa conectá-lo.

note: type: delimited block .
en: 	'M' SP <mode> SP <dataref> SP <path> LF
pt_BR: 	'M' SP <modo> SP <dataref> SP <caminho> LF

note: type: Plain text
en: Here usually `<dataref>` must be either a mark reference (`:<idnum>`)  set by a prior `blob` command, or a full 40-byte SHA-1 of an existing Git blob object.  If `<mode>` is `040000`` then `<dataref>` must be the full 40-byte SHA-1 of an existing Git tree object or a mark reference set with `--import-marks`.
pt_BR: Aqui geralmente `<dataref>` deve ser uma marcação de referência (`:<idnum>`) definida por um comando `blob` ou um SHA-1 completo com 40 bytes de um objeto bolha já existente no Git.  Caso o `<modo>` seja `040000`` então `<dataref>` deve ser o SHA-1 completo com 40 bytes de um objeto existente na árvore Git ou uma marcação de referência definida com `--import-marks`.

note: type: Labeled list
en: Inline data format
pt_BR: Formato de dados em linha

note: type: Plain text
en: The data content for the file has not been supplied yet.  The frontend wants to supply it as part of this modify command.
pt_BR: O conteúdo dos dados para o arquivo ainda não foi informado.  O front-end deseja fornecê-lo como parte deste comando de modificação.

note: type: delimited block .
en: 	'M' SP <mode> SP 'inline' SP <path> LF
    	data
pt_BR: 	'M' SP <modo> SP 'inline' SP <caminho> LF
    	dado

note: type: Plain text
en: See below for a detailed description of the `data` command.
pt_BR: Veja abaixo uma descrição detalhada do comando `data`.

note: type: Plain text
en: In both formats `<mode>` is the type of file entry, specified in octal.  Git only supports the following modes:
pt_BR: Nos dois formatos o `<modo>` é o tipo de entrada do arquivo em formato octal.  O Git é compatível apenas com os seguintes modos:

note: type: Plain text
en: `100644` or `644`: A normal (not-executable) file.  The majority of files in most projects use this mode.  If in doubt, this is what you want.
pt_BR: `100644` ou `644`: um arquivo normal (não executável).  A maioria dos arquivos na maioria dos projetos utiliza este modo.  Em caso de dúvida, é isso mesmo que deve ser utilizado.

note: type: Plain text
en: `100755` or `755`: A normal, but executable, file.
pt_BR: `100755` ou `755`: Um arquivo normal, porém executável.

note: type: Plain text
en: `120000`: A symlink, the content of the file will be the link target.
pt_BR: `120000`: um link simbólico, o conteúdo do arquivo será o destino do link.

note: type: Plain text
en: `160000`: A gitlink, SHA-1 of the object refers to a commit in another repository. Git links can only be specified by SHA or through a commit mark. They are used to implement submodules.
pt_BR: `160000`: Um gitlink SHA-1 do objeto referindo-se a um commit em outro repositório. Os links Git podem ser especificados apenas pelo SHA ou por meio de uma marcação do commit. Eles são utilizados para implementar os submódulos.

note: type: Plain text
en: `040000`: A subdirectory.  Subdirectories can only be specified by SHA or through a tree mark set with `--import-marks`.
pt_BR: `040000`: um subdiretório.  Os subdiretórios podem ser especificados apenas pelo SHA ou através de uma marcação de árvore definida com `--import-marks`.

note: type: Plain text
en: In both formats `<path>` is the complete path of the file to be added (if not already existing) or modified (if already existing).
pt_BR: Nos dois formatos o `<caminho>` é o caminho completo do arquivo a ser adicionado (caso ainda não exista) ou modificado (caso já exista).

note: type: Plain text
en: A `<path>` string must use UNIX-style directory separators (forward slash `/`), may contain any byte other than `LF`, and must not start with double quote (`"`).
pt_BR: Uma cadeia de caracteres `<caminho>` deve usar separadores de diretório no estilo UNIX (barra `/`), pode conter qualquer byte que não seja `LF` e não deve começar com aspas duplas (`"`).

note: type: Plain text
en: A path can use C-style string quoting; this is accepted in all cases and mandatory if the filename starts with double quote or contains `LF`. In C-style quoting, the complete name should be surrounded with double quotes, and any `LF`, backslash, or double quote characters must be escaped by preceding them with a backslash (e.g., `"path/with\n, \\ and \" in it"`).
pt_BR: Um caminho pode usar aspas no estilo C; é aceito em todos os casos e obrigatório caso o nome do arquivo comece com duas aspas ou tenha um `LF`. Na citação no estilo C, o nome completo deve estar entre duas aspas e qualquer caractere `LF`, barra invertida ou duas aspas deve ser escapado precedendo-os com uma barra invertida (`"caminho/com\n, \\ e \"nele"` por exemplo).

note: type: Plain text
en: The value of `<path>` must be in canonical form. That is it must not:
pt_BR: O valor de `<caminho>` deve estar em forma canônica. Ou seja, não deve:

note: type: Plain text
en: contain an empty directory component (e.g. `foo//bar` is invalid),
pt_BR: contém um componente de diretório vazio (`foo//bar` é inválido por exemplo),

note: type: Plain text
en: end with a directory separator (e.g. `foo/` is invalid),
pt_BR: termina com um separador de diretório (`foo/` é inválido por exemplo),

note: type: Plain text
en: start with a directory separator (e.g. `/foo` is invalid),
pt_BR: comece com um separador de diretório (`/foo` é inválido por exemplo),

note: type: Plain text
en: contain the special component `.` or `..` (e.g. `foo/./bar` and `foo/../bar` are invalid).
pt_BR: tem o componente especial `.` ou `..` (`foo/./bar` e `foo/../bar` são inválidos por exemplo).

note: type: Plain text
en: The root of the tree can be represented by an empty string as `<path>`.
pt_BR: A raiz da árvore pode ser representada por uma cadeia de caracteres vazios como `<caminho>`.

note: type: Plain text
en: It is recommended that `<path>` always be encoded using UTF-8.
pt_BR: É recomendável que o `<caminho>` seja sempre codificado utilizando UTF-8.

note: type: Plain text
en: Included in a `commit` command to remove a file or recursively delete an entire directory from the branch.  If the file or directory removal makes its parent directory empty, the parent directory will be automatically removed too.  This cascades up the tree until the first non-empty directory or the root is reached.
pt_BR: Incluído no comando `commit` para remover um arquivo ou excluir recursivamente um diretório inteiro do ramo.  Caso a remoção do arquivo ou diretório deixar o seu diretório de origem vazio, o diretório de origem também será automaticamente removido.  Isso faz segue na árvore até que o primeiro diretório não vazio ou até que chegue até a raiz.

note: type: delimited block .
en: 	'D' SP <path> LF
pt_BR: 	'D' SP <caminho> LF

note: type: Plain text
en: here `<path>` is the complete path of the file or subdirectory to be removed from the branch.  See `filemodify` above for a detailed description of `<path>`.
pt_BR: aqui o '<caminho>' é o caminho completo do arquivo ou subdiretório que será removido do ramo.  Consulte `filemodify` acima para obter uma descrição mais detalhada sobre `<caminho>`.

note: type: Plain text
en: Recursively copies an existing file or subdirectory to a different location within the branch.  The existing file or directory must exist.  If the destination exists it will be completely replaced by the content copied from the source.
pt_BR: Recursivamente copie um arquivo ou subdiretório existente para um local diferente dentro do ramo.  O arquivo ou diretório existente deve existir.  Caso o destino exista, ele será completamente substituído pelo conteúdo copiado da fonte.

note: type: delimited block .
en: 	'C' SP <path> SP <path> LF
pt_BR: 	'C' SP <caminho> SP <caminho> LF

note: type: Plain text
en: here the first `<path>` is the source location and the second `<path>` is the destination.  See `filemodify` above for a detailed description of what `<path>` may look like.  To use a source path that contains SP the path must be quoted.
pt_BR: aqui o primeiro `<caminho>` é o local de origem e o segundo `<caminho>` é o destino.  Consulte `filemodify` acima para uma descrição detalhada de como pode ser o `<caminho>`.  O caminho deve ser citado para usar um caminho de origem que contenha `SP`.

note: type: Plain text
en: A `filecopy` command takes effect immediately.  Once the source location has been copied to the destination any future commands applied to the source location will not impact the destination of the copy.
pt_BR: Um comando `filecopy` entra em vigor imediatamente.  Depois que o local de origem tenha sido copiado para o destino, quaisquer comandos futuros aplicados ao local de origem não afetarão o destino da cópia.

note: type: Plain text
en: Renames an existing file or subdirectory to a different location within the branch.  The existing file or directory must exist. If the destination exists it will be replaced by the source directory.
pt_BR: Renomeia um arquivo ou subdiretório existente para um local diferente dentro do ramo.  O arquivo ou diretório existente deve existir. Caso o destino exista, ele será substituído pelo diretório de origem.

note: type: delimited block .
en: 	'R' SP <path> SP <path> LF
pt_BR: 	'R' SP <caminho> SP <caminho> LF

note: type: Plain text
en: A `filerename` command takes effect immediately.  Once the source location has been renamed to the destination any future commands applied to the source location will create new files there and not impact the destination of the rename.
pt_BR: Um comando `filerename` entra em vigor imediatamente.  Depois que o local de origem for renomeado para o destino, quaisquer comandos futuros aplicados ao local de origem criarão novos arquivos e não afetarão o destino da renomeação.

note: type: Plain text
en: Note that a `filerename` is the same as a `filecopy` followed by a `filedelete` of the source location.  There is a slight performance advantage to using `filerename`, but the advantage is so small that it is never worth trying to convert a delete/add pair in source material into a rename for fast-import.  This `filerename` command is provided just to simplify frontends that already have rename information and don't want bother with decomposing it into a `filecopy` followed by a `filedelete`.
pt_BR: Observe que um `filename` é o mesmo que um` filecopy` seguido de um `filedelete` do local de origem.  Há uma pequena vantagem de desempenho em usar o `filename`, mas a vantagem é tão pequena que nunca vale a pena tentar converter um par de exclusão/adição no material de origem em uma renomeação para o `fast-import`.  Este comando `filerename` é informado apenas para simplificar os front-ends que já possuam informações de renomeação e não querem se decompor em um `filecopy` seguido de um `filedelete`.

note: type: Plain text
en: Included in a `commit` command to remove all files (and also all directories) from the branch.  This command resets the internal branch structure to have no files in it, allowing the frontend to subsequently add all interesting files from scratch.
pt_BR: Incluído no comando `commit` para remover todos os arquivos (e também todos os diretórios) do ramo.  Este comando redefine a estrutura interna do ramo para que exista nenhum arquivo nele, permitindo que o "front-end" adicione posteriormente todos os arquivos interessantes do zero.

note: type: Plain text
en: This command is extremely useful if the frontend does not know (or does not care to know) what files are currently on the branch, and therefore cannot generate the proper `filedelete` commands to update the content.
pt_BR: Este comando é extremamente útil caso o front-end não soiba (ou não quer saber) quais são os arquivos estão atualmente no ramo e, portanto, não conseguir gerar os comandos `filedelete` adequados para atualizar o conteúdo.

note: type: Plain text
en: Issuing a `filedeleteall` followed by the needed `filemodify` commands to set the correct content will produce the same results as sending only the needed `filemodify` and `filedelete` commands.  The `filedeleteall` approach may however require fast-import to use slightly more memory per active branch (less than 1 MiB for even most large projects); so frontends that can easily obtain only the affected paths for a commit are encouraged to do so.
pt_BR: A emissão de um arquivo ʻfiledeleteall` seguido dos comandos necessários `filemodify` para definir o conteúdo correto e produzirá os mesmos resultados que o envio apenas dos comandos necessários `filemodify` e `filedelete`.  A abordagem `filedeleteall` pode, no entanto, exigir que o `fast-import` para usar um pouco mais de memória por ramificação ativa (menos de 1 MiB para projetos ainda maiores); portanto, os front-ends que podem obter facilmente apenas aos caminhos afetados para um commit são incentivados a fazê-lo.

note: type: Plain text
en: Included in a `commit` `<notes_ref>` command to add a new note annotating a `<commit-ish>` or change this annotation contents.  Internally it is similar to filemodify 100644 on `<commit-ish>` path (maybe split into subdirectories). It's not advised to use any other commands to write to the `<notes_ref>` tree except `filedeleteall` to delete all existing notes in this tree.  This command has two different means of specifying the content of the note.
pt_BR: Incluído em um comando `commit` `<notes_ref>` para adicionar uma nova nota anotando um `<commit-ish>` ou alterar este conteúdo da anotação.  Internamente, é semelhante ao arquivo modificado 100644 no caminho `<commit-ish>` (talvez dividido em subdiretórios). Não é aconselhável usar outros comandos para escrever na árvore `<notes_ref>`, exceto `filedeleteall` para excluir todas as anotações existentes nessa árvore.  Este comando possui dois meios diferentes de especificar o conteúdo da anotação.

note: type: Plain text
en: The data content for the note was already supplied by a prior `blob` command.  The frontend just needs to connect it to the commit that is to be annotated.
pt_BR: O conteúdo dos dados para a anotação já foi informado por um comando `blob` anterior.  O front-end só precisa conectá-lo ao commit que deve ser anotado.

note: type: Plain text
en: Here `<dataref>` can be either a mark reference (`:<idnum>`)  set by a prior `blob` command, or a full 40-byte SHA-1 of an existing Git blob object.
pt_BR: Aqui `<dataref>` pode ser uma marcação de referência (`:<idnum>`) definida por um comando `blob` anterior ou um SHA-1 completo com 40 bytes de um objeto bolha existente.

note: type: Plain text
en: The data content for the note has not been supplied yet.  The frontend wants to supply it as part of this modify command.
pt_BR: O conteúdo dos dados da anotação ainda não foi informado.  O front-end deseja fornecê-lo como parte deste comando de modificação.

note: type: delimited block .
en: 	'N' SP 'inline' SP <commit-ish> LF
    	data
pt_BR: 	'N' SP 'inline' SP <commit-ish> LF
    	dado

note: type: Plain text
en: In both formats `<commit-ish>` is any of the commit specification expressions also accepted by `from` (see above).
pt_BR: Nos dois formatos, `<commit-ish>` é qualquer uma das expressões de especificação do commit também aceitos por `from` (veja acima).

note: type: Plain text
en: Arranges for fast-import to save a reference to the current object, allowing the frontend to recall this object at a future point in time, without knowing its SHA-1.  Here the current object is the object creation command the `mark` command appears within.  This can be `commit`, `tag`, and `blob`, but `commit` is the most common usage.
pt_BR: Organiza `fast-import` para salvar uma referência ao objeto atual, permitindo que o front-end recupere este objeto em um momento futuro, sem conhecer o seu SHA-1.  Aqui, o objeto atual é o comando de criação do objeto no qual o comando `mark` aparece.  Pode ser `commit`, `tag` e `blob`, mas `commit` é o uso mais comum.

note: type: Plain text
en: where `<idnum>` is the number assigned by the frontend to this mark.  The value of `<idnum>` is expressed as an ASCII decimal integer.  The value 0 is reserved and cannot be used as a mark.  Only values greater than or equal to 1 may be used as marks.
pt_BR: onde `<idnum>` é o número atribuído pelo front-end a esta marcação.  O valor de `<idnum>` é expresso como um número ASCII decimal inteiro.  O valor 0 é reservado e não pode ser utilizado como uma marcação.  Somente os valores maiores ou iguais a 1 podem ser utilizados como marcação.

note: type: Plain text
en: New marks are created automatically.  Existing marks can be moved to another object simply by reusing the same `<idnum>` in another `mark` command.
pt_BR: As novas marcações são criadas automaticamente.  As marcações existentes podem ser movidas para um outro objeto simplesmente reutilizando o mesmo `<idnum>` em outro comando `mark`.

note: type: Plain text
en: Provides the name of the object in the original source control system.  fast-import will simply ignore this directive, but filter processes which operate on and modify the stream before feeding to fast-import may have uses for this information
pt_BR: Fornece o nome do objeto no sistema de controle de origem original.  o `fast-import` simplesmente ignorará esta diretiva, porém os processos de filtro que operam e modificam o fluxo antes de alimentar o `fast-import` podem ter usos para essas informações

note: type: delimited block .
en: 	'original-oid' SP <object-identifier> LF
pt_BR: 	'original-oid' SP <identificador-do-objeto> LF

note: type: Plain text
en: where `<object-identifer>` is any string not containing LF.
pt_BR: onde `<identificador-do-objeto>` é qualquer cadeia de caracteres que não contenha LF.

note: type: Plain text
en: Creates an annotated tag referring to a specific commit.  To create lightweight (non-annotated) tags see the `reset` command below.
pt_BR: Cria uma tag anotada referente a um commit específico.  Para criar tags `leve` (não anotadas), consulte o comando `reset` abaixo.

note: type: delimited block .
en: 	'tag' SP <name> LF
    	mark?
    	'from' SP <commit-ish> LF
    	original-oid?
    	'tagger' (SP <name>)? SP LT <email> GT SP <when> LF
    	data
pt_BR: 	'tag' SP <nome> LF
    	mark?
    	'from' SP <commit-ish> LF
    	original-oid?
    	'tagger' (SP <nome>)? SP LT <e-mail> GT SP <quando> LF
    	data

note: type: Plain text
en: where `<name>` is the name of the tag to create.
pt_BR: onde `<nome>` é o nome da tag a ser criada.

note: type: Plain text
en: Tag names are automatically prefixed with `refs/tags/` when stored in Git, so importing the CVS branch symbol `RELENG-1_0-FINAL` would use just `RELENG-1_0-FINAL` for `<name>`, and fast-import will write the corresponding ref as `refs/tags/RELENG-1_0-FINAL`.
pt_BR: Os nomes das tags são prefixados automaticamente com `refs/tags/` quando armazenados no Git, portanto, a importação do símbolo do ramo CVS `RELENG-1_0-FINAL` usaria apenas `RELENG-1_0-FINAL` para `<nome>` e o `fast-import` irá escrever um `ref` correspondente como `refs/tags/RELENG-1_0-FINAL`.

note: type: Plain text
en: The value of `<name>` must be a valid refname in Git and therefore may contain forward slashes.  As `LF` is not valid in a Git refname, no quoting or escaping syntax is supported here.
pt_BR: O valor de `<nome>` deve ser um `refname` válido no Git e portanto, pode conter barras.  Como `LF` não é válido em um "refname" do Git, nenhuma sintaxe de aspas ou de escape é compatível aqui.

note: type: Plain text
en: The `from` command is the same as in the `commit` command; see above for details.
pt_BR: O comando `from` é o mesmo que no comando `commit`; veja acima para detalhes.

note: type: Plain text
en: The `tagger` command uses the same format as `committer` within `commit`; again see above for details.
pt_BR: O comando `tagger` usa o mesmo formato que `committer` dentro de `commit`; veja novamente acima para obter detalhes.

note: type: Plain text
en: The `data` command following `tagger` must supply the annotated tag message (see below for `data` command syntax).  To import an empty tag message use a 0 length data.  Tag messages are free-form and are not interpreted by Git.  Currently they must be encoded in UTF-8, as fast-import does not permit other encodings to be specified.
pt_BR: O comando `data` após o `tagger` deve fornecer a mensagem anotada do tag (veja abaixo a sintaxe do comando `data`).  Para importar uma mensagem de tag vazia, utilize dados com  0 de comprimento.  As mensagens de tag são de forma livre e não são interpretados pelo Git.  Atualmente, elas devem ser codificadas em UTF-8, pois o `fast-import` não permite que outras codificações sejam utilizadas.

note: type: Plain text
en: Signing annotated tags during import from within fast-import is not supported.  Trying to include your own PGP/GPG signature is not recommended, as the frontend does not (easily) have access to the complete set of bytes which normally goes into such a signature.  If signing is required, create lightweight tags from within fast-import with `reset`, then create the annotated versions of those tags offline with the standard 'git tag' process.
pt_BR: A assinatura de tags anotadas durante a importação com `fast-import` não é compatível.  Não é recomendável tentar incluir na sua própria assinatura PGP/GPG, pois o front-end não tem (facilmente) acesso ao conjunto completo de bytes que normalmente entra nessa assinatura.  Caso a assinatura seja necessária, crie tags `leve` a partir do `fast-import` com `reset` e crie as versões anotadas dessas tags desconectadas com o processo predefinido 'git tag'.

note: type: Plain text
en: Creates (or recreates) the named branch, optionally starting from a specific revision.  The reset command allows a frontend to issue a new `from` command for an existing branch, or to create a new branch from an existing commit without creating a new commit.
pt_BR: Cria (ou recria) a ramificação nomeada, iniciando opcionalmente a partir de uma revisão específica.  O comando `reset permite que um front-end emita um novo comando `from` para uma ramificação existente ou crie uma nova ramificação a partir de um commit existente sem criar um novo commit.

note: type: Plain text
en: For a detailed description of `<ref>` and `<commit-ish>` see above under `commit` and `from`.
pt_BR: Para uma descrição detalhada sobre `<ref>` e `<commit-ish>` veja acima em `commit` e` from`.

note: type: Plain text
en: The `LF` after the command is optional (it used to be required).
pt_BR: O `LF` após o comando é opcional (costumava ser necessário).

note: type: Plain text
en: The `reset` command can also be used to create lightweight (non-annotated) tags.  For example:
pt_BR: O comando `reset` também pode ser utilizado para criar tags leves (não anotadas).  Por exemplo:

note: type: Plain text
en: would create the lightweight tag `refs/tags/938` referring to whatever commit mark `:938` references.
pt_BR: criaria a tag `leve` `refs/tags/938` se referindo a qualquer marcação do commit `:938`.

note: type: Plain text
en: Requests writing one file revision to the packfile.  The revision is not connected to any commit; this connection must be formed in a subsequent `commit` command by referencing the blob through an assigned mark.
pt_BR: Solicita a gravação de uma revisão do arquivo no pacote do arquivo.  A revisão não está conectada a nenhum commit; essa conexão deve ser formada com um comando `commit` subsequente referenciando a bolha através de uma marcação atribuída.

note: type: delimited block .
en: 	'blob' LF
    	mark?
    	original-oid?
    	data
pt_BR: 	'blob' LF
    	mark?
    	original-oid?
    	dado

note: type: Plain text
en: The mark command is optional here as some frontends have chosen to generate the Git SHA-1 for the blob on their own, and feed that directly to `commit`.  This is typically more work than it's worth however, as marks are inexpensive to store and easy to use.
pt_BR: O comando `mark` é opcional aqui, pois alguns front-ends optaram por gerar o SHA-1 do Git para a bolha por conta própria e alimentá-la diretamente para o `commit`.  No entanto, normalmente é mais trabalhoso do que vale a pena, pois as marcas são baratas de armazenar e fáceis de usar.

note: type: Plain text
en: Supplies raw data (for use as blob/file content, commit messages, or annotated tag messages) to fast-import.  Data can be supplied using an exact byte count or delimited with a terminating line.  Real frontends intended for production-quality conversions should always use the exact byte count format, as it is more robust and performs better.  The delimited format is intended primarily for testing fast-import.
pt_BR: Fornece os dados brutos (para uso como o conteúdo bolha/arquivo, as mensagens do commit ou as mensagens de anotação das tags) para o `fast-import`.  Os dados podem ser informados utilizando uma contagem exata de bytes ou delimitados por uma linha final.  Os front-ends reais destinados para conversões de qualidade de produção devem sempre usar o formato exato de contagem de bytes, pois são mais robustos e têm um melhor desempenho.  O formato delimitado destina-se principalmente ao teste de importação rápida.

note: type: Plain text
en: Comment lines appearing within the `<raw>` part of `data` commands are always taken to be part of the body of the data and are therefore never ignored by fast-import.  This makes it safe to import any file/message content whose lines might start with `#`.
pt_BR: As linhas de comentário que aparecem na parte `<raw>` dos comandos `data` sempre são consideradas parte do corpo dos dados e portanto, nunca são ignoradas pelo `fast-import`.  Isso torna seguro importar qualquer conteúdo do arquivo/mensagem cujas linhas possam começar com `#`.

note: type: Labeled list
en: Exact byte count format
pt_BR: Formato exato de contagem de bytes

note: type: Plain text
en: The frontend must specify the number of bytes of data.
pt_BR: O front-end deve especificar a quantidade de bytes dos dados.

note: type: Plain text
en: where `<count>` is the exact number of bytes appearing within `<raw>`.  The value of `<count>` is expressed as an ASCII decimal integer.  The `LF` on either side of `<raw>` is not included in `<count>` and will not be included in the imported data.
pt_BR: onde `<count>` é a quantidade exato de bytes que aparece em `<raw>`.  O valor `<count>` é expressado como um número ASCII decimal inteiro.  O `LF` em ambos os lados de `<raw>` não está incluído em `<count>` e não será incluído nos dados importados.

note: type: Plain text
en: The `LF` after `<raw>` is optional (it used to be required) but recommended.  Always including it makes debugging a fast-import stream easier as the next command always starts in column 0 of the next line, even if `<raw>` did not end with an `LF`.
pt_BR: O `LF` após `<raw>` é opcional (costumava ser necessário), mas recomendado.  A inclusão sempre facilita a depuração de um fluxo do `fast-import`, pois o próximo comando sempre inicia na coluna 0 da próxima linha, ainda que `<raw>` não termine com um `LF`.

note: type: Labeled list
en: Delimited format
pt_BR: Formato delimitado

note: type: Plain text
en: A delimiter string is used to mark the end of the data.  fast-import will compute the length by searching for the delimiter.  This format is primarily useful for testing and is not recommended for real data.
pt_BR: Uma cadeia de caracteres delimitadora é utilizada para marcar o final dos dados.  O `fast-import` calculará o comprimento pesquisando pelo delimitador.  Esse formato é útil principalmente para testes e não é recomendado para dados reais.

note: type: Plain text
en: where `<delim>` is the chosen delimiter string.  The string `<delim>` must not appear on a line by itself within `<raw>`, as otherwise fast-import will think the data ends earlier than it really does.  The `LF` immediately trailing `<raw>` is part of `<raw>`.  This is one of the limitations of the delimited format, it is impossible to supply a data chunk which does not have an LF as its last byte.
pt_BR: onde `<delim>` é a cadeia de caracteres escolhida para a delimitação.  A cadeia de caracteres `<delim>` não deve aparecer em uma linha sozinha dentro de `<raw>`, pois o `fast-import` pensará que os dados terminam mais cedo do que realmente terminam.  O `LF` imediatamente após `<raw>` faz parte de `<raw>`.  Essa é uma das limitações do formato delimitado, é impossível fornecer um bloco de dados que não tenha um `LF` como o seu último byte.

note: type: Plain text
en: The `LF` after `<delim> LF` is optional (it used to be required).
pt_BR: O `LF` após `<delim> LF` é opcional (costumava ser necessário).

note: type: Plain text
en: Record that a mark refers to a given object without first creating any new object.
pt_BR: Registre que uma marcação se refere a um determinado objeto sem criar primeiro nenhum novo objeto.

note: type: Plain text
en: For a detailed description of `<commit-ish>` see above under `from`.
pt_BR: Para uma descrição detalhada do `<commit-ish>` veja acima em `from`.

note: type: Plain text
en: Forces fast-import to close the current packfile, start a new one, and to save out all current branch refs, tags and marks.
pt_BR: Impõem o `fast-import` a fechar o arquivo de pacote atual, iniciar um novo e salvar todas os `refs`, tags e marcas das ramificações atuais.

note: type: Plain text
en: Note that fast-import automatically switches packfiles when the current packfile reaches --max-pack-size, or 4 GiB, whichever limit is smaller.  During an automatic packfile switch fast-import does not update the branch refs, tags or marks.
pt_BR: Observe que o `fast-import` alterna automaticamente os arquivos do pacote quando o arquivo do pacote atual alcance `--max-pack-size` ou 4 GiB, o que for menor.  Durante uma troca automática do pacote de arquivos `fast-import não atualiza os `refs`, tags ou marcações do ramo.

note: type: Plain text
en: As a `checkpoint` can require a significant amount of CPU time and disk IO (to compute the overall pack SHA-1 checksum, generate the corresponding index file, and update the refs) it can easily take several minutes for a single `checkpoint` command to complete.
pt_BR: Como um `checkpoint` pode exigir uma quantidade significativa de tempo de CPU e E/S de disco (para calcular a soma de verificação SHA-1 do pacote geral, gerar o arquivo do índice correspondente e atualizar as `refs`), pode levar vários minutos para um único comando `checkpoint` para concluir.

note: type: Plain text
en: Frontends may choose to issue checkpoints during extremely large and long running imports, or when they need to allow another Git process access to a branch.  However given that a 30 GiB Subversion repository can be loaded into Git through fast-import in about 3 hours, explicit checkpointing may not be necessary.
pt_BR: Os front-end podem optar por emitir `checkpoints` durante as importações extremamente grandes e de execução demorada, ou quando precisam permitir que outro processo do Git acesse uma ramificação.  No entanto, dado que um repositório do Subversion com 30 GiB pode ser carregado no Git através do `fast-import` em cerca de 3 horas, talvez não seja necessário um `checkpoint` explícito.

note: type: Plain text
en: Causes fast-import to print the entire `progress` line unmodified to its standard output channel (file descriptor 1) when the command is processed from the input stream.  The command otherwise has no impact on the current import, or on any of fast-import's internal state.
pt_BR: Faz com que o `fast-import` imprima toda a linha `progress` sem modificação em seu canal de saída predefinido (descritor do arquivo 1) quando o comando é processado a partir do fluxo de entrada.  Caso contrário, o comando não tem impacto na importação atual ou em qualquer outro estado interno do `fast-import`.

note: type: Plain text
en: The `<any>` part of the command may contain any sequence of bytes that does not contain `LF`.  The `LF` after the command is optional.  Callers may wish to process the output through a tool such as sed to remove the leading part of the line, for example:
pt_BR: A parte `<any>` do comando pode conter qualquer sequência de bytes que não contenha um `LF`.  O `LF` após o comando é opcional.  Os chamadores podem desejar processar a saída por meio de uma ferramenta como sed para remover a parte principal da linha, por exemplo:

note: type: Plain text
en: Placing a `progress` command immediately after a `checkpoint` will inform the reader when the `checkpoint` has been completed and it can safely access the refs that fast-import updated.
pt_BR: A colocação de um comando `progress` imediatamente após um `checkpoint` informará ao leitor quando o `checkpoint` seja concluído e ele poderá acessar com segurança os `refs` que o `fast-import` atualizaram.

note: type: Plain text
en: Causes fast-import to print the SHA-1 corresponding to a mark to stdout or to the file descriptor previously arranged with the `--cat-blob-fd` argument. The command otherwise has no impact on the current import; its purpose is to retrieve SHA-1s that later commits might want to refer to in their commit messages.
pt_BR: Faz com que o `fast-import` imprima o SHA-1 correspondente a uma marcação em `stdout` ou ao descritor de arquivo previamente organizado com o argumento `--cat-blob-fd`. Caso contrário, o comando não tem impacto na importação atual; seu objetivo é recuperar o SHA-1s que commits posteriores podem querer se referir em suas mensagens de commit.

note: type: Plain text
en: See ``Responses To Commands'' below for details about how to read this output safely.
pt_BR: Consulte ``RESPOSTAS AOS COMANDOS'' abaixo para obter detalhes sobre como ler esta saída com segurança.

note: type: Plain text
en: Causes fast-import to print a blob to a file descriptor previously arranged with the `--cat-blob-fd` argument.  The command otherwise has no impact on the current import; its main purpose is to retrieve blobs that may be in fast-import's memory but not accessible from the target repository.
pt_BR: Faz com que o `fast-import` imprima uma bolha em um descritor do arquivo previamente organizado com o argumento `--cat-blob-fd`.  Caso contrário, o comando não tem impacto na importação atual; o seu principal objetivo é recuperar as bolhas que podem estar na memória do `fast-import`, mas não acessíveis no repositório de destino.

note: type: Plain text
en: The `<dataref>` can be either a mark reference (`:<idnum>`)  set previously or a full 40-byte SHA-1 of a Git blob, preexisting or ready to be written.
pt_BR: O `<dataref>` pode ser uma marcação de referência (`:<idnum>`) definida anteriormente ou um SHA-1 completo com 40 bytes de uma bolha Git pré-existente ou pronto para ser gravado.

note: type: Plain text
en: Output uses the same format as `git cat-file --batch`:
pt_BR: A saída usa o mesmo formato que `git cat-file --batch`:

note: type: delimited block =
en: 	<sha1> SP 'blob' SP <size> LF
    	<contents> LF
pt_BR: 	<sha1> SP 'blob' SP <tamanho> LF
    	<contents> LF

note: type: Plain text
en: This command can be used where a `filemodify` directive can appear, allowing it to be used in the middle of a commit.  For a `filemodify` using an inline directive, it can also appear right before the `data` directive.
pt_BR: Este comando pode ser usado onde uma diretiva `filemodify` possa aparecer, permitindo que ela seja usada no meio de um commit.  Para um `filemodify` usando uma diretiva 'inline', ele também pode aparecer logo antes da diretiva `data`.

note: type: Plain text
en: Prints information about the object at a path to a file descriptor previously arranged with the `--cat-blob-fd` argument.  This allows printing a blob from the active commit (with `cat-blob`) or copying a blob or tree from a previous commit for use in the current one (with `filemodify`).
pt_BR: Imprime as informações sobre o objeto em um caminho para um descritor do arquivo organizado anteriormente com a opção `--cat-blob-fd`.  Permite a impressão de uma bolha a partir do commit ativo (com `cat-blob`) ou copiando uma bolha ou árvore de um commit anterior para uso no atual (com `filemodify`).

note: type: Plain text
en: The `ls` command can also be used where a `filemodify` directive can appear, allowing it to be used in the middle of a commit.
pt_BR: O comando `ls` também pode ser usado onde uma diretiva `filemodify` possa aparecer, permitindo que ela seja usada no meio de um commit.

note: type: Labeled list
en: Reading from the active commit
pt_BR: Lendo a partir do commit ativo

note: type: Plain text
en: This form can only be used in the middle of a `commit`.  The path names a directory entry within fast-import's active commit.  The path must be quoted in this case.
pt_BR: Este formulário pode ser utilizado apenas no meio de um `commit`.  O caminho informa uma entrada do diretório no commit ativo do `fast-import`.  O caminho deve ser citado neste caso.

note: type: delimited block .
en: 	'ls' SP <path> LF
pt_BR: 	'ls' SP <caminho> LF

note: type: Labeled list
en: Reading from a named tree
pt_BR: Lendo de uma árvore nomeada

note: type: Plain text
en: The `<dataref>` can be a mark reference (`:<idnum>`) or the full 40-byte SHA-1 of a Git tag, commit, or tree object, preexisting or waiting to be written.  The path is relative to the top level of the tree named by `<dataref>`.
pt_BR: O `<dataref>` pode ser uma marcação de referência (`:<idnum>`) ou o SHA-1 completo com 40 bytes de uma tag, commit ou objeto da árvore Git pré-existente ou aguardando para ser gravado.  O caminho é relativo ao cume da árvore informada através do `<dataref>`.

note: type: delimited block .
en: 	'ls' SP <dataref> SP <path> LF
pt_BR: 	'ls' SP <dataref> SP <caminho> LF

note: type: Plain text
en: See `filemodify` above for a detailed description of `<path>`.
pt_BR: Consulte `filemodify` acima para uma descrição detalhada de `<caminho>`.

note: type: Plain text
en: Output uses the same format as `git ls-tree <tree> -- <path>`:
pt_BR: A saída usa o mesmo formato que `git ls-tree <árvore> -- <caminho>`:

note: type: delimited block =
en: 	<mode> SP ('blob' | 'tree' | 'commit') SP <dataref> HT <path> LF
pt_BR: 	<mode> SP ('blob' | 'tree' | 'commit') SP <dataref> HT <caminho> LF

note: type: Plain text
en: The <dataref> represents the blob, tree, or commit object at <path> and can be used in later 'get-mark', 'cat-blob', 'filemodify', or 'ls' commands.
pt_BR: O <dataref> representa o objeto bolha, árvore ou commit no <caminho> e pode ser utilizado posteriormente nos comandos `get-mark`, `cat-blob`, `filemodify` ou `ls`.

note: type: Plain text
en: If there is no file or subtree at that path, 'git fast-import' will instead report
pt_BR: Caso não haja um arquivo ou subárvore nesse caminho, o `git fast-import` o reportará

note: type: delimited block =
en: 	missing SP <path> LF
pt_BR: 	missing SP <caminho> LF

note: type: Plain text
en: Require that fast-import supports the specified feature, or abort if it does not.
pt_BR: Exija que a importação rápida ofereça suporte ao recurso especificado ou o anule.

note: type: delimited block .
en: 	'feature' SP <feature> ('=' <argument>)? LF
pt_BR: 	'feature' SP <característica> ('=' <argumento>)? LF

note: type: Plain text
en: The <feature> part of the command may be any one of the following:
pt_BR: A parte <característica> do comando pode ser qualquer um dos seguintes:

note: type: Plain text
en: Act as though the corresponding command-line option with a leading `--` was passed on the command line (see OPTIONS, above).
pt_BR: Aja como se a opção da linha de comando coincida com um `--` inicial fosse passada na linha de comando (consulte OPÇÕES, acima).

note: type: Plain text
en: Like --import-marks except in two respects: first, only one "feature import-marks" or "feature import-marks-if-exists" command is allowed per stream; second, an --import-marks= or --import-marks-if-exists command-line option overrides any of these "feature" commands in the stream; third, "feature import-marks-if-exists" like a corresponding command-line option silently skips a nonexistent file.
pt_BR: Como `--import-marks`, exceto em dois aspectos: primeiro, apenas um comando ´feature import-marks` ou `feature import-marks-if-exist` é permitido por fluxo; segundo, uma opção da linha de comando `--import-marks=` ou `--import-marks-if-existents` substitui qualquer um desses comandos "feature" no fluxo; terceiro, o `feature import-marks-if-exists` como uma opção da linha de comando coincidente ignora silenciosamente um arquivo inexistente.

note: type: Plain text
en: Require that the backend support the 'get-mark', 'cat-blob', or 'ls' command respectively.  Versions of fast-import not supporting the specified command will exit with a message indicating so.  This lets the import error out early with a clear message, rather than wasting time on the early part of an import before the unsupported command is detected.
pt_BR: Exija que o o processo interno seja compatível com os comandos 'get-mark', 'cat-blob' ou 'ls' respectivamente.  As versões do `fast-import` que não sejam compatíveis com o comando utilizado serão encerradas com uma mensagem.  Isso permite que o erro de importação encerre com uma mensagem clara, em vez de perder tempo na parte inicial de uma importação, antes que um comando não compatível seja detectado.

note: type: Plain text
en: Require that the backend support the 'notemodify' (N)  subcommand to the 'commit' command.  Versions of fast-import not supporting notes will exit with a message indicating so.
pt_BR: Exija que a estrutura seja compatível com o subcomando `notemodify` (N) com o comando `commit`.  As versões do `fast-import` que não sejam compatíveis com as anotações serão encerradas com uma mensagem.

note: type: Plain text
en: Error out if the stream ends without a 'done' command.  Without this feature, errors causing the frontend to end abruptly at a convenient point in the stream can go undetected.  This may occur, for example, if an import front end dies in mid-operation without emitting SIGTERM or SIGKILL at its subordinate git fast-import instance.
pt_BR: Indique um erro caso o fluxo termine sem um comando 'done'.  Sem este recurso, os erros que fazem com que o front-end termine abruptamente em um ponto conveniente no fluxo podem não ser detectados.  Isso pode ocorrer, por exemplo, caso um front end de importação morra no meio da operação sem emitir um `SIGTERM` ou um `SIGKILL` em sua instância subordinada do `git fast-import`.

note: type: Plain text
en: Processes the specified option so that git fast-import behaves in a way that suits the frontend's needs.  Note that options specified by the frontend are overridden by any options the user may specify to git fast-import itself.
pt_BR: Processa a opção utilizada para que o `fast-import` do git se comporte de maneira que atenda às necessidades do front-end.  Observe que as opções utilizadas pelo front-end são substituídas por quaisquer opções que o usuário possa especificar para obter o próprio `fast-import`.

note: type: delimited block .
en:     'option' SP <option> LF
pt_BR:     'option' SP <opção> LF

note: type: Plain text
en: The `<option>` part of the command may contain any of the options listed in the OPTIONS section that do not change import semantics, without the leading `--` and is treated in the same way.
pt_BR: A parte `<opção>` do comando pode conter qualquer uma das opções listadas na seção OPTIONS que não alteram a semântica de importação, sem o `--` principal e são tratadas da mesma maneira.

note: type: Plain text
en: Option commands must be the first commands on the input (not counting feature commands), to give an option command after any non-option command is an error.
pt_BR: Os comandos de opção devem ser os primeiros comandos na entrada (sem contar os comandos de recurso), para fornecer um comando de opção após um erro que não seja de opção.

note: type: Plain text
en: The following command-line options change import semantics and may therefore not be passed as option:
pt_BR: As seguintes opções de linha de comando alteram a semântica de importação e, portanto, não podem ser passadas como opção:

note: type: Plain text
en: If the `done` feature is not in use, treated as if EOF was read.  This can be used to tell fast-import to finish early.
pt_BR: Se o recurso `done` não estiver em uso, será tratado como se o `EOF` fosse lido.  Isso pode ser utilizado para dizer à importação rápida para terminar mais cedo.

note: type: Plain text
en: If the `--done` command-line option or `feature done` command is in use, the `done` command is mandatory and marks the end of the stream.
pt_BR: Caso a opção de linha de comando `--done` ou o comando `feature done` estiver em uso, o comando `done` é obrigatório e marca o final do fluxo.

note: type: Title -
en: RESPONSES TO COMMANDS
pt_BR: RESPOSTAS AOS COMANDOS

note: type: Plain text
en: New objects written by fast-import are not available immediately.  Most fast-import commands have no visible effect until the next checkpoint (or completion).  The frontend can send commands to fill fast-import's input pipe without worrying about how quickly they will take effect, which improves performance by simplifying scheduling.
pt_BR: Os novos objetos gravados pelo `fast-import` que não estão disponíveis de forma imediata.  A maioria dos comandos `fast-import` não tem efeito visível até o próximo `checkpoint` (ou conclusão).  O frontend pode enviar os comandos para preencher o canal de entrada do `fast-import` sem se preocupar com a agilidade com que eles entrarão em vigor, o que melhora o desempenho ao simplificar o agendamento.

note: type: Plain text
en: For some frontends, though, it is useful to be able to read back data from the current repository as it is being updated (for example when the source material describes objects in terms of patches to be applied to previously imported objects).  This can be accomplished by connecting the frontend and fast-import via bidirectional pipes:
pt_BR: No entanto, para alguns front-end, é útil poder ler os dados do repositório atual à medida que estão sendo atualizados (quando o material de origem descreve objetos em termos de patches a serem aplicados a objetos importados anteriormente por exemplo).  Isso pode ser feito conectando o front-end e o `fast-import` por meio de tubos bidirecionais:

note: type: Plain text
en: A frontend set up this way can use `progress`, `get-mark`, `ls`, and `cat-blob` commands to read information from the import in progress.
pt_BR: Um front-end configurado desta maneira pode usar os comandos `progress`, `get-mark`, `ls` e `cat-blob` para ler as informações das importações em andamento.

note: type: Plain text
en: To avoid deadlock, such frontends must completely consume any pending output from `progress`, `ls`, `get-mark`, and `cat-blob` before performing writes to fast-import that might block.
pt_BR: Para evitar um impasse, tais front-ends devem consumir completamente quaisquer saída pendente que for gerada com `progress`, `ls`, `get-mark` e `cat-blob` antes de realizar as escritas que o `fast-import` possa bloquear.

note: type: Title -
en: CRASH REPORTS
pt_BR: RELATÓRIOS DE CRASH

note: type: Plain text
en: If fast-import is supplied invalid input it will terminate with a non-zero exit status and create a crash report in the top level of the Git repository it was importing into.  Crash reports contain a snapshot of the internal fast-import state as well as the most recent commands that lead up to the crash.
pt_BR: Caso uma entrada inválida seja utilizada na entrada do `fast-import`, ele terminará com um status de saída diferente de zero e criará um relatório de falha no topo do repositório Git de onde estava sendo importado.  Os relatórios de falha contêm um instantâneo da condição interna do `fast-import`, bem como os comandos mais recentes que levaram à falha.

note: type: Plain text
en: All recent commands (including stream comments, file changes and progress commands) are shown in the command history within the crash report, but raw file data and commit messages are excluded from the crash report.  This exclusion saves space within the report file and reduces the amount of buffering that fast-import must perform during execution.
pt_BR: Todos os comandos recentes (incluindo os comentários do fluxo, alterações do arquivo e comandos de progresso) são exibidos no histórico de comandos no relatório, mas os dados brutos do arquivo e as mensagens dos commits são excluídos.  Essa exclusão economiza espaço no arquivo de relatório e reduz a quantidade de memória intermédia que a importação rápida deve realizar durante a execução.

note: type: Plain text
en: After writing a crash report fast-import will close the current packfile and export the marks table.  This allows the frontend developer to inspect the repository state and resume the import from the point where it crashed.  The modified branches and tags are not updated during a crash, as the import did not complete successfully.  Branch and tag information can be found in the crash report and must be applied manually if the update is needed.
pt_BR: Depois de escrever um relatório, o `fast-import` fechará o pacote atual e exportará a tabela de marcação.  Isso permite que o desenvolvedor front-end inspecione a condição do repositório e retome a importação a partir do ponto em que ele travou.  As ramificações e tags modificadas não são atualizados durante uma falha, pois a importação não foi concluída com êxito.  As informações do ramo e marcação podem ser encontrados no relatório da falha e devem ser aplicadas manualmente caso a atualização seja necessária.

note: type: Plain text
en: An example crash:
pt_BR: Um exemplo de falha:

note: type: delimited block =
en: Active Branch LRU
    -----------------
pt_BR: Ramo Ativo LRU
    --------------

note: type: delimited block =
en: Inactive Branches
    -----------------
    refs/heads/master:
pt_BR: Ramos Inativos
    --------------
    refs/heads/master:

note: type: Title -
en: TIPS AND TRICKS
pt_BR: DICAS E TRUQUES

note: type: Plain text
en: The following tips and tricks have been collected from various users of fast-import, and are offered here as suggestions.
pt_BR: As dicas e truques a seguir foram coletadas de vários usuários do `fast-import` e são oferecidas aqui apenas como sugestões.

note: type: Title ~
en: Use One Mark Per Commit
pt_BR: Utilize uma Marcação por Commit

note: type: Plain text
en: When doing a repository conversion, use a unique mark per commit (`mark :<n>`) and supply the --export-marks option on the command line.  fast-import will dump a file which lists every mark and the Git object SHA-1 that corresponds to it.  If the frontend can tie the marks back to the source repository, it is easy to verify the accuracy and completeness of the import by comparing each Git commit to the corresponding source revision.
pt_BR: Ao fazer uma conversão de repositório, utilize uma marcação única por commit (`mark :<n>`) e forneça a opção `--export-marks` na linha de comando.  O `fast-import` despeja um arquivo que lista todas as marcações e o objeto Git SHA-1 que coincida com ela.  Se o front-end puder vincular as marcações ao repositório de origem, é fácil verificar a precisão e a integridade da importação comparando cada commit do Git com a revisão de origem coincidente.

note: type: Plain text
en: Coming from a system such as Perforce or Subversion this should be quite simple, as the fast-import mark can also be the Perforce changeset number or the Subversion revision number.
pt_BR: Vindo de um sistema como o "Perforce" ou o "Subversion", isso deve ser bastante simples, pois a marcação do `fast-import` também pode ser o número do conjunto de alterações do "Perforce" ou o número da revisão do "Subversion".

note: type: Title ~
en: Freely Skip Around Branches
pt_BR: Ir Livremente em Torno dos Ramos

note: type: Plain text
en: Don't bother trying to optimize the frontend to stick to one branch at a time during an import.  Although doing so might be slightly faster for fast-import, it tends to increase the complexity of the frontend code considerably.
pt_BR: Não tente otimizar o front-end para manter uma ramificação por vez durante uma importação.  Embora isso possa ser um pouco mais rápido para o `fast-import`, ele tende a aumentar consideravelmente a complexidade do código do front-end.

note: type: Plain text
en: The branch LRU builtin to fast-import tends to behave very well, and the cost of activating an inactive branch is so low that bouncing around between branches has virtually no impact on import performance.
pt_BR: O LRU do ramo incorporado ao `fast-import` tende a se comportar muito bem e o custo de ativar uma ramo inativo é tão baixo que o movimento entre os ramos praticamente não tem impacto no desempenho da importação.

note: type: Title ~
en: Handling Renames
pt_BR: Manipulando Renomeações

note: type: Plain text
en: When importing a renamed file or directory, simply delete the old name(s) and modify the new name(s) during the corresponding commit.  Git performs rename detection after-the-fact, rather than explicitly during a commit.
pt_BR: Ao importar um arquivo ou diretório renomeado, simplesmente exclua os nomes antigos e modifique os novos nomes durante o commit correspondente.  O Git executa a detecção de renomeação após o fato, em vez de explicitamente detectá-lo durante um commit.

note: type: Title ~
en: Use Tag Fixup Branches
pt_BR: Utilizando Ramificações para a Correção das Tags

note: type: Plain text
en: Some other SCM systems let the user create a tag from multiple files which are not from the same commit/changeset.  Or to create tags which are a subset of the files available in the repository.
pt_BR: Alguns outros sistemas SCM permitem ao usuário criar uma tag a partir de vários arquivos que não pertencem ao mesmo commit/changeset.  Ou para criar as tags que são um subconjunto dos arquivos disponíveis no repositório.

note: type: Plain text
en: Importing these tags as-is in Git is impossible without making at least one commit which ``fixes up'' the files to match the content of the tag.  Use fast-import's `reset` command to reset a dummy branch outside of your normal branch space to the base commit for the tag, then commit one or more file fixup commits, and finally tag the dummy branch.
pt_BR: A importação dessas tags como está no Git é impossível sem qe seja feito pelo menos um commit que ``corrija'' os arquivos para coincidir com o conteúdo da tag.  Utilize o comando `reset` do `fast-import` para redefinir uma ramificação fantasia fora do seu ramo normal para um commit base para a tag, depois confirme um ou mais correções dos arquivos de commits e por fim, identifique a ramificação fantasia.

note: type: Plain text
en: For example since all normal branches are stored under `refs/heads/` name the tag fixup branch `TAG_FIXUP`.  This way it is impossible for the fixup branch used by the importer to have namespace conflicts with real branches imported from the source (the name `TAG_FIXUP` is not `refs/heads/TAG_FIXUP`).
pt_BR: Uma vez que todas as ramificações normais são armazenadas em `refs/heads/`, nomeie a tag de manutenção como `TAG_FIXUP` por exemplo.  Dessa forma, é impossível que a ramificação de correção utilizada pelo importador tenha os conflitos do espaço de nomes com as ramificações reais importadas da origem (o nome `TAG_FIXUP` não é `refs/heads/TAG_FIXUP`).

note: type: Plain text
en: When committing fixups, consider using `merge` to connect the commit(s) which are supplying file revisions to the fixup branch.  Doing so will allow tools such as 'git blame' to track through the real commit history and properly annotate the source files.
pt_BR: Ao fazer os commits das correções, considere o uso de `merge` para conectar os commits para fornecer as revisões dos arquivos ao ramo de correção.  Isso permitirá que ferramentas como o 'git blame' rastreiem o histórico real do commit e anotem adequadamente os arquivos de origem.

note: type: Plain text
en: After fast-import terminates the frontend will need to do `rm .git/TAG_FIXUP` to remove the dummy branch.
pt_BR: Quando o `fast-import` encerrar, o front-end precisará executar o comando `rm .git/TAG_FIXUP` para remover a ramificação fantasia.

note: type: Title ~
en: Import Now, Repack Later
pt_BR: Importe Agora, Reembale Depois

note: type: Plain text
en: As soon as fast-import completes the Git repository is completely valid and ready for use.  Typically this takes only a very short time, even for considerably large projects (100,000+ commits).
pt_BR: Logo que o `fast-import` conclua, o repositório Git estará completamente válido e pronto para uso.  Normalmente, o processo consome muito pouco tempo, mesmo para projetos consideravelmente grandes (com mais de 100.000 commits).

note: type: Plain text
en: However repacking the repository is necessary to improve data locality and access performance.  It can also take hours on extremely large projects (especially if -f and a large --window parameter is used).  Since repacking is safe to run alongside readers and writers, run the repack in the background and let it finish when it finishes.  There is no reason to wait to explore your new Git project!
pt_BR: No entanto, é necessário reembalar o repositório para melhorar a localidade dos dados e melhorar o desempenho.  Projetos extremamente grandes pode levar horas (especialmente se `-f` e um parâmetro `--window` grande for utilizado).  Como a reembalagem é segura para ser executada ao lado de leitores e escritores, execute a re-embalagem em segundo plano e deixe acabar quando finalizar.  Não há motivo para esperar a exploração do seu novo projeto Git!

note: type: Plain text
en: If you choose to wait for the repack, don't try to run benchmarks or performance tests until repacking is completed.  fast-import outputs suboptimal packfiles that are simply never seen in real use situations.
pt_BR: Caso opte por aguardar o reembalo, não tente executar benchmarks ou testes de desempenho até que o processo termine.  o `fast-import` gera arquivos de pacotes otimizados que simplesmente nunca são vistos em situações de uso real.

note: type: Title ~
en: Repacking Historical Data
pt_BR: Reempacotando Dados Históricos

note: type: Plain text
en: If you are repacking very old imported data (e.g. older than the last year), consider expending some extra CPU time and supplying --window=50 (or higher) when you run 'git repack'.  This will take longer, but will also produce a smaller packfile.  You only need to expend the effort once, and everyone using your project will benefit from the smaller repository.
pt_BR: Se você estiver reembalando dados importados muito antigos (por exemplo, mais antigos que no ano passado), considere gastar algum tempo extra da CPU e fornecer --window = 50 (ou superior) ao executar o 'git repack'.  Isso levará mais tempo, mas também produzirá um pacote menor.  Você só precisa perder tempo uma vez e todos os usuários do seu projeto se beneficiarão do repositório menor.

note: type: Title ~
en: Include Some Progress Messages
pt_BR: Incluir Algumas Mensagens de Progresso

note: type: Plain text
en: Every once in a while have your frontend emit a `progress` message to fast-import.  The contents of the messages are entirely free-form, so one suggestion would be to output the current month and year each time the current commit date moves into the next month.  Your users will feel better knowing how much of the data stream has been processed.
pt_BR: Para importar rapidamente, de vez em quando o seu front-end emite uma mensagem de `progresso`.  O conteúdo das mensagens é totalmente livre, portanto, uma sugestão seria gerar a informação do mês e o ano atual cada vez que a data do commit atual passar para o próximo mês.  Os seus usuários se sentirão melhor ao saber quanto do fluxo de dados foi processado.

note: type: Title -
en: PACKFILE OPTIMIZATION
pt_BR: OTIMIZAÇÃO DOS PACOTES

note: type: Plain text
en: When packing a blob fast-import always attempts to deltify against the last blob written.  Unless specifically arranged for by the frontend, this will probably not be a prior version of the same file, so the generated delta will not be the smallest possible.  The resulting packfile will be compressed, but will not be optimal.
pt_BR: Ao compactar uma bolha, o `fast-import` sempre tenta "deltificar" a última bolha gravada.  A menos que seja especificamente organizado pelo front-end, essa provavelmente não será uma versão anterior do mesmo arquivo, portanto o delta gerado não será o menor possível.  O pacote do arquivo resultante será compactado, mas não será otimizado.

note: type: Plain text
en: Frontends which have efficient access to all revisions of a single file (for example reading an RCS/CVS ,v file) can choose to supply all revisions of that file as a sequence of consecutive `blob` commands.  This allows fast-import to deltify the different file revisions against each other, saving space in the final packfile.  Marks can be used to later identify individual file revisions during a sequence of `commit` commands.
pt_BR: Os front-ends que têm acesso eficiente a todas as revisões de um único arquivo (lendo um arquivo RCS/CVS, v por exemplo) podem optar por fornecer todas as revisões desse arquivo como uma sequência de comandos consecutivos do `blob` (bolha).  Isso permite que o `fast-import` "deltifique" as diferentes revisões dos arquivos, economizando espaço no arquivo do pacote final.  As Marcações podem ser utilizadas para posterior identificação das revisões individuais dos arquivos durante uma sequência de comandos `commit`.

note: type: Plain text
en: The packfile(s) created by fast-import do not encourage good disk access patterns.  This is caused by fast-import writing the data in the order it is received on standard input, while Git typically organizes data within packfiles to make the most recent (current tip) data appear before historical data.  Git also clusters commits together, speeding up revision traversal through better cache locality.
pt_BR: Os arquivos de pacotes criados pelo `fast-import` não incentivam bons padrões de acesso ao disco.  Isso é cautilizado pela gravação dos dados do `fast-import` na ordem em que são recebidos na entrada padrão, enquanto o Git normalmente organiza os dados nos pacotes dos arquivos para fazer com que os dados mais recentes (dica atual) apareçam antes dos dados históricos.  O Git também agrupa os commits acelerando o percurso de revisão através de uma melhor localidade do cache.

note: type: Plain text
en: For this reason it is strongly recommended that users repack the repository with `git repack -a -d` after fast-import completes, allowing Git to reorganize the packfiles for faster data access.  If blob deltas are suboptimal (see above) then also adding the `-f` option to force recomputation of all deltas can significantly reduce the final packfile size (30-50% smaller can be quite typical).
pt_BR: Por esse motivo é altamente recomendável que os usuários reembalem o repositório com o comando `git repack -a -d` após a conclusão do `fast-import`, permitindo que o Git reorganize os pacotes dos arquivos para um acesso mais rápido aos dados.  Caso os deltas da bolha estejam abaixo do ideal (veja acima), a adição da opção `-f` para impor que todos os deltas sejam recalculados podendo reduzir significativamente o tamanho final do pacote do arquivo (30-50% menor pode ser bastante comum).

note: type: Plain text
en: Instead of running `git repack` you can also run `git gc --aggressive`, which will also optimize other things after an import (e.g. pack loose refs). As noted in the "AGGRESSIVE" section in linkgit:git-gc[1] the `--aggressive` option will find new deltas with the `-f` option to linkgit:git-repack[1]. For the reasons elaborated on above using `--aggressive` after a fast-import is one of the few cases where it's known to be worthwhile.
pt_BR: Em vez de executar o `git repack`, é possível também executar o `git gc --aggressive`, que também otimizará outras coisas após uma importação (refazer os pacotes refs soltos por exemplo). Como observado na seção "AGGRESSIVE" no linkgit:git-gc[1] a opção `--aggressive` encontrará os novos deltas com a opção `-f` para linkgit:git-repack[1]. Pelas razões descritas acima, a utilização da opção `--aggressive` após uma importação rápida, este é um dos poucos casos em que se sabe que vale a pena ser feito.

note: type: Title -
en: MEMORY UTILIZATION
pt_BR: UTILIZAÇÃO DE MEMÓRIA

note: type: Plain text
en: There are a number of factors which affect how much memory fast-import requires to perform an import.  Like critical sections of core Git, fast-import uses its own memory allocators to amortize any overheads associated with malloc.  In practice fast-import tends to amortize any malloc overheads to 0, due to its use of large block allocations.
pt_BR: Há uma quantidade de fatores que afetam a quantidade de memória consumida pelo `fast-import`  durante a execução de uma importação.  Como as seções críticas do Git principal, o `fast-import` usa os seus próprios alocadores de memória para amortizar o consumo geral associadas ao "malloc".  Na prática, o `fast-import` tende a amortizar o consumo geral do malloc para 0, devido ao uso de grandes alocações dos blocos.

note: type: Title ~
en: per object
pt_BR: por objeto

note: type: Plain text
en: fast-import maintains an in-memory structure for every object written in this execution.  On a 32 bit system the structure is 32 bytes, on a 64 bit system the structure is 40 bytes (due to the larger pointer sizes).  Objects in the table are not deallocated until fast-import terminates.  Importing 2 million objects on a 32 bit system will require approximately 64 MiB of memory.
pt_BR: O `fast-import` mantém uma estrutura na memória para todos os objetos gravados nesta execução.  Em um sistema de 32 bits a estrutura é de 32 bytes; em um sistema de 64 bits a estrutura é de 40 bytes (devido aos tamanhos maiores do ponteiro).  Os objetos na tabela não são desalocados até que o `fast-import` termine.  A importação de 2 milhões de objetos em um sistema de 32 bits exigirá aproximadamente 64 MiB de memória.

note: type: Plain text
en: The object table is actually a hashtable keyed on the object name (the unique SHA-1).  This storage configuration allows fast-import to reuse an existing or already written object and avoid writing duplicates to the output packfile.  Duplicate blobs are surprisingly common in an import, typically due to branch merges in the source.
pt_BR: A tabela de objetos é na verdade uma "hashtable" (tabela hash) codificada no nome do objeto com o SHA-1.  Essa configuração de armazenamento permite que o `fast-import` reutilize um objeto existente ou já gravado e evite gravar duplicatas no saída do arquivo de pacote.  Em uma importação, as bolhas duplicadas são muito comuns, geralmente devido a mesclagem do ramo na origem.

note: type: Title ~
en: per mark
pt_BR: por marcação

note: type: Plain text
en: Marks are stored in a sparse array, using 1 pointer (4 bytes or 8 bytes, depending on pointer size) per mark.  Although the array is sparse, frontends are still strongly encouraged to use marks between 1 and n, where n is the total number of marks required for this import.
pt_BR: As marcações são armazenadas em uma origem esparsa, utilizando 1 ponteiro (4 bytes ou 8 bytes, dependendo do tamanho do ponteiro) por marcação.  Embora a origem seja escassa, os front-end ainda são fortemente incentivados a usar marcas entre 1 e n, onde n é a quantidade total de marcações necessárias para essa importação.

note: type: Title ~
en: per branch
pt_BR: por ramo

note: type: Plain text
en: Branches are classified as active and inactive.  The memory usage of the two classes is significantly different.
pt_BR: Os ramos são classificados como ativos e inativos.  O uso de memória das duas classes é significativamente diferente.

note: type: Plain text
en: Inactive branches are stored in a structure which uses 96 or 120 bytes (32 bit or 64 bit systems, respectively), plus the length of the branch name (typically under 200 bytes), per branch.  fast-import will easily handle as many as 10,000 inactive branches in under 2 MiB of memory.
pt_BR: As ramificações inativas são armazenadas em uma estrutura que usa entre 96 ou 120 bytes (sistemas de 32 ou 64 bits, respectivamente), mais o comprimento do nome do ramo (normalmente com menos de 200 bytes), por ramificação.  O `fast-import` processa facilmente até 10.000 ramificações inativas com menos de 2 MiB de memória.

note: type: Plain text
en: Active branches have the same overhead as inactive branches, but also contain copies of every tree that has been recently modified on that branch.  If subtree `include` has not been modified since the branch became active, its contents will not be loaded into memory, but if subtree `src` has been modified by a commit since the branch became active, then its contents will be loaded in memory.
pt_BR: As ramificações ativas têm a mesma sobrecarga das ramificações inativas, mas também contêm as cópias de todas as árvores que foram modificadas recentemente nesta ramificação.  Se a subárvore `include` não tenha sido modificada, desde o momento que a ramificação se tornou ativa, o seu conteúdo não será carregado na memória, mas o seu conteúdo será carregado na memória caso a subárvore `src` tenha sido modificada por um commit.

note: type: Plain text
en: As active branches store metadata about the files contained on that branch, their in-memory storage size can grow to a considerable size (see below).
pt_BR: À medida que as ramificações ativas armazenam metadados sobre os arquivos existentes nessa ramificação, o tamanho do armazenamento na memória pode aumentar consideravelmente (veja abaixo).

note: type: Plain text
en: fast-import automatically moves active branches to inactive status based on a simple least-recently-used algorithm.  The LRU chain is updated on each `commit` command.  The maximum number of active branches can be increased or decreased on the command line with --active-branches=.
pt_BR: Com base num algoritmo simples, o `fast-import` move automaticamente as ramificações ativas para a condição inativa utilizando um algorítimo simples.  A cadeia LRU é atualizada a cada comando `commit`.  A quantidade máxima de ramificações ativas pode se aumentado ou diminuído na linha de comando com a opção `--active-branches=`.

note: type: Title ~
en: per active tree
pt_BR: por árvore ativa

note: type: Plain text
en: Trees (aka directories) use just 12 bytes of memory on top of the memory required for their entries (see ``per active file'' below).  The cost of a tree is virtually 0, as its overhead amortizes out over the individual file entries.
pt_BR: As árvores (também conhecidas como diretórios) usam apenas 12 bytes de memória no topo da memória necessária para as suas entradas (consulte ``por arquivo ativo'' abaixo).  O custo de uma árvore é praticamente 0, pois sua sobrecarga é amortizada pelas entradas de arquivo individuais.

note: type: Title ~
en: per active file entry
pt_BR: por entrada de arquivo ativa

note: type: Plain text
en: Files (and pointers to subtrees) within active trees require 52 or 64 bytes (32/64 bit platforms) per entry.  To conserve space, file and tree names are pooled in a common string table, allowing the filename ``Makefile'' to use just 16 bytes (after including the string header overhead) no matter how many times it occurs within the project.
pt_BR: Os arquivos (e os ponteiros para as subárvores) nas árvores ativas requerem 52 ou 64 bytes (plataformas de 32/64 bits) por entrada.  Para economizar espaço, os nomes dos arquivos e as árvores são agrupados em uma tabela de cadeias comuns, permitindo que o nome do arquivo ``Makefile'' utilize apenas 16 bytes (depois de incluir a sobrecarga do cabeçalho da cadeia), não importa quantas vezes isso ocorra no projeto.

note: type: Plain text
en: The active branch LRU, when coupled with the filename string pool and lazy loading of subtrees, allows fast-import to efficiently import projects with 2,000+ branches and 45,114+ files in a very limited memory footprint (less than 2.7 MiB per active branch).
pt_BR: O LRU do ramo ativo, quando associado ao conjunto da cadeia de caracteres do nome do arquivo e ao carregamento lento das subárvores, permite que a eficiência da importação rápida dos projetos com mais de 2.000 ramificações e mais de 45.114 arquivos em um espaço de memória muito limitado (menos de 2,7 MiB por ramo ativo).

note: type: Title -
en: SIGNALS
pt_BR: SINAIS

note: type: Plain text
en: Sending *SIGUSR1* to the 'git fast-import' process ends the current packfile early, simulating a `checkpoint` command.  The impatient operator can use this facility to peek at the objects and refs from an import in progress, at the cost of some added running time and worse compression.
pt_BR: Enviar um *SIGUSR1* para o processo 'git fast-import' encerra antes o arquivo do pacote atual, simulando um comando `checkpoint`.  O operador mais impaciente pode usar esse recurso para espiar os objetos e as referências de uma importação em andamento, ao custo de um tempo de execução adicional e de uma pior compactação.

note: type: Plain text
en: git-fetch-pack - Receive missing objects from another repository
pt_BR: git-fetch-pack - Recebe os objetos ausentes vindos de um outro repositório

note: type: Plain text
en: 'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag]
    	[--upload-pack=<git-upload-pack>]
    	[--depth=<n>] [--no-progress]
    	[-v] <repository> [<refs>...]
pt_BR: 'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag]
    	[--upload-pack=<pacote-de-upload-do-git>]
    	[--depth=<n>] [--no-progress]
    	[-v] <repositório> [<refs>...]

note: type: Plain text
en: Usually you would want to use 'git fetch', which is a higher level wrapper of this command, instead.
pt_BR: No lugar utilize 'git fetch' que é um wrapper de maior hierarquia deste comando.

note: type: Plain text
en: Invokes 'git-upload-pack' on a possibly remote repository and asks it to send objects missing from this repository, to update the named heads.  The list of commits available locally is found out by scanning the local refs/ hierarchy and sent to 'git-upload-pack' running on the other end.
pt_BR: Invoca o 'git-upload-pack' em um repositório possivelmente remoto e solicita que ele envie os objetos autilizentes deste repositório, para atualizar determinados `heads`.  A lista dos commits disponíveis localmente é descoberta examinando os 'refs/' da hierarquia local e enviada para o 'git-upload-pack' durante a execução na outra extremidade.

note: type: Plain text
en: This command degenerates to download everything to complete the asked refs from the remote side when the local side does not have a common ancestor commit.
pt_BR: Este comando deteriora durante o download de tudo para concluir os `refs` solicitados do lado remoto quando o lado local não possui um commit com um ancestral comum.

note: type: Plain text
en: Fetch all remote refs.
pt_BR: Busque todas os `refs` remotos.

note: type: Plain text
en: Take the list of refs from stdin, one per line. If there are refs specified on the command line in addition to this option, then the refs from stdin are processed after those on the command line.
pt_BR: Pegue a lista dos `refs` do stdin, um por linha. Caso haja `refs` utilizados na linha de comando, além desta opção, os `refs` do stdin serão processados após as da linha de comando.

note: type: Plain text
en: If `--stateless-rpc` is specified together with this option then the list of refs must be in packet format (pkt-line). Each ref must be in a separate packet, and the list must end with a flush packet.
pt_BR: Caso `--stateless-rpc` seja utilizado junto com esta opção, a lista de referências deverá estar no formato do pacote (linha-pkt). Cada `ref` deve estar em um pacote separado e a lista deve terminar com um pacote liberado.

note: type: Plain text
en: Pass `-q` flag to 'git unpack-objects'; this makes the cloning process less verbose.
pt_BR: Passe o flag `-q` para o 'git unpack-objects'; isso torna o processo de clonagem menos detalhado.

note: type: Plain text
en: Do not invoke 'git unpack-objects' on received data, but create a single packfile out of it instead, and store it in the object database. If provided twice then the pack is locked against repacking.
pt_BR: Não invoque o 'git unpack-objects' nos dados recebidos, porém crie um único arquivo do pacote a partir dele e armazene-o no banco de dados do objeto. Caso seja utilizado duas vezes, o pacote será bloqueado contra a reembalagem.

note: type: Plain text
en: Fetch a "thin" pack, which records objects in deltified form based on objects not included in the pack to reduce network traffic.
pt_BR: Busque um pacote "thin", que registra os objetos em um formato "deltificado" com base nos objetos não inclusos no pacote para reduzir o tráfego de rede.

note: type: Plain text
en: If the remote side supports it, annotated tags objects will be downloaded on the same connection as the other objects if the object the tag references is downloaded.  The caller must otherwise determine the tags this option made available.
pt_BR: Caso haja compatibilidade com o lado remoto, os objetos das tags anotadas serão baixados na mesma conexão que os outros objetos, caso o objeto ao qual a tag faça referência seja baixado.  Caso contrário, aquele que chama deve determinar as tags que esta opção deixou disponível.

note: type: Labeled list
en: --upload-pack=<git-upload-pack>
pt_BR: --upload-pack=<pacote-de-upload-do-git>

note: type: Plain text
en: Use this to specify the path to 'git-upload-pack' on the remote side, if is not found on your $PATH.  Installations of sshd ignores the user's environment setup scripts for login shells (e.g. .bash_profile) and your privately installed git may not be found on the system default $PATH.  Another workaround suggested is to set up your $PATH in ".bashrc", but this flag is for people who do not want to pay the overhead for non-interactive shells by having a lean .bashrc file (they set most of the things up in .bash_profile).
pt_BR: Utilize para informar o caminho para 'git-upload-pack' no lado remoto, caso não seja encontrado no seu $PATH.  As instalações do sshd ignoram os scripts de configuração do ambiente do usuário para logins nas shells (.bash_profile por exemplo) e o a instalação do seu git pode não ser encontrado no $PATH predefinido do sistema.  A outra solução sugerida é configurar o seu $PATH em ".bashrc", mas este flag são para pessoas que não desejam pagar o preço da sobrecarga em shells não interativos com um arquivo ".bashrc" enxuto (eles definem a maioria das coisas em .bash_profile).

note: type: Labeled list
en: --exec=<git-upload-pack>
pt_BR: --exec=<pacote-de-upload-do-git>

note: type: Plain text
en: Same as --upload-pack=<git-upload-pack>.
pt_BR: O mesmo que --upload-pack=<pacote-de-upload-do-git>.

note: type: Plain text
en: Limit fetching to ancestor-chains not longer than n.  'git-upload-pack' treats the special depth 2147483647 as infinite even if there is an ancestor-chain that long.
pt_BR: Limite a captura para as cadeias de ancestrais não maiores que n.  O 'git-upload-pack' trata a profundidade especial "2147483647" como infinita, mesmo que exista uma cadeia de ancestrais tão antiga.

note: type: Plain text
en: Argument --depth specifies the number of commits from the current shallow boundary instead of from the tip of each remote branch history.
pt_BR: O argumento `--depth` determina a quantidade limite dos commits atual da superfície em vez do cume de cada histórico do ramo remoto.

note: type: Plain text
en: Do not show the progress.
pt_BR: Não exiba o progresso.

note: type: Plain text
en: Output "connectivity-ok" if the received pack is self-contained and connected.
pt_BR: Exiba "connectivity-ok" caso o pacote recebido seja independente e conectado.

note: type: Plain text
en: Run verbosely.
pt_BR: Rode de forma loquaz.

note: type: Plain text
en: The URL to the remote repository.
pt_BR: A URL para o repositório remoto.

note: type: Plain text
en: The remote heads to update from. This is relative to $GIT_DIR (e.g. "HEAD", "refs/heads/master").  When unspecified, update from all heads the remote side has.
pt_BR: Os cabeçalhos remotos que serão atualizados. Isso é relativo ao $GIT_DIR ("HEAD", "refs/heads/master" por exemplo).  Quando não especificado, receba a atualização de todos os cabeçalhos que o lado tiver.

note: type: Plain text
en: If the remote has enabled the options `uploadpack.allowTipSHA1InWant`, `uploadpack.allowReachableSHA1InWant`, or `uploadpack.allowAnySHA1InWant`, they may alternatively be 40-hex sha1s present on the remote.
pt_BR: Caso o lado remoto tenha as opções `uploadpack.allowTipSHA1InWant`, `uploadpack.allowReachableSHA1InWant`, ou `uploadpack.allowAnySHA1InWant` ativadas, eles poderão alternativamente ser sha1 com 40-hex.

note: type: Plain text
en: git-fetch - Download objects and refs from another repository
pt_BR: git-fetch - Faz o download dos objetos e `refs` do outro repositório

note: type: Plain text
en: 'git fetch' [<options>] [<repository> [<refspec>...]]
    'git fetch' [<options>] <group>
    'git fetch' --multiple [<options>] [(<repository> | <group>)...]
    'git fetch' --all [<options>]
pt_BR: 'git fetch' [<opções>] [<repositório> [<refspec>...]]
    'git fetch' [<opções>] <grupo>
    'git fetch' --multiple [<opções>] [(<repositório> | <grupo>)...]
    'git fetch' --all [<opções>]

note: type: Plain text
en: Fetch branches and/or tags (collectively, "refs") from one or more other repositories, along with the objects necessary to complete their histories.  Remote-tracking branches are updated (see the description of <refspec> below for ways to control this behavior).
pt_BR: Busque as ramificações ou as tags (coletivamente, refs) de um ou mais repositórios, juntamente com os objetos necessários para completar seus históricos.  As ramificações de rastreamento remoto são atualizadas (consulte a descrição de `<refspec>` abaixo para conhecer maneiras de controlar esse comportamento).

note: type: Plain text
en: By default, any tag that points into the histories being fetched is also fetched; the effect is to fetch tags that point at branches that you are interested in.  This default behavior can be changed by using the --tags or --no-tags options or by configuring remote.<name>.tagOpt.  By using a refspec that fetches tags explicitly, you can fetch tags that do not point into branches you are interested in as well.
pt_BR: É predefinido que qualquer tag que aponte para os históricos que estão sendo capturados também sejam capturados; o efeito é capturar as tags que apontem para os ramos nos quais você está interessado.  Este comportamento predefinido pode ser alterado utilizando as opções `--tags`, `--no-tags` ou configurando `remote.<nome>.tagOpt`.  Utilizando um `refspec` de forma explicita, é possível que você busque as tags que não apontam para as ramificações nas quais você também está interessado.

note: type: Plain text
en: 'git fetch' can fetch from either a single named repository or URL, or from several repositories at once if <group> is given and there is a remotes.<group> entry in the configuration file.  (See linkgit:git-config[1]).
pt_BR: O 'git fetch' pode capturar em um único repositório ou em uma determinada URL assim como em vários repositórios de uma vez caso `<grupo>` seja utilizado e exista um entrada `remotes.<grupo>` no arquivo de configuração.  (Consulte linkgit:git-config[1]).

note: type: Plain text
en: When no remote is specified, by default the `origin` remote will be used, unless there's an upstream branch configured for the current branch.
pt_BR: Por predefinição quando nenhum ponto remoto é utilizado, o `origin` será utilizado, a menos que haja um ramo `upstream` configurado para o ramo atual.

note: type: Plain text
en: The names of refs that are fetched, together with the object names they point at, are written to `.git/FETCH_HEAD`.  This information may be used by scripts or other git commands, such as linkgit:git-pull[1].
pt_BR: Os nomes dos `refs` que são capturados, juntamente com os nomes dos objetos para os quais eles apontam, são gravados em `.git/FETCH_HEAD`.  Essa informação pode ser utilizada por scripts ou outros comandos git, como linkgit:git-pull[1].

note: type: Title -
en: CONFIGURED REMOTE-TRACKING BRANCHES[[CRTB]]
pt_BR: CONFIGURAÇÕES DOS RAMOS MONITORADOS REMOTAMENTE[[CRTB]]

note: type: Plain text
en: You often interact with the same remote repository by regularly and repeatedly fetching from it.  In order to keep track of the progress of such a remote repository, `git fetch` allows you to configure `remote.<repository>.fetch` configuration variables.
pt_BR: Você costuma interagir com o mesmo repositório remoto, capturando-o regularmente e de forma  repetida.  Para acompanhar o progresso de um repositório remoto, o `git fetch` permite que você configure variáveis da configuração `remote.<repositório>.fetch`.

note: type: Plain text
en: Typically such a variable may look like this:
pt_BR: Normalmente, essa variável pode ser assim:

note: type: Plain text
en: This configuration is used in two ways:
pt_BR: Essa configuração é utilizada de duas maneiras:

note: type: Plain text
en: When `git fetch` is run without specifying what branches and/or tags to fetch on the command line, e.g. `git fetch origin` or `git fetch`, `remote.<repository>.fetch` values are used as the refspecs--they specify which refs to fetch and which local refs to update.  The example above will fetch all branches that exist in the `origin` (i.e. any ref that matches the left-hand side of the value, `refs/heads/*`) and update the corresponding remote-tracking branches in the `refs/remotes/origin/*` hierarchy.
pt_BR: Quando o `git fetch` é executado sem informar quais as ramificações ou tags capturar na linha de comando, por exemplo. Os valores `git fetch origin` ou `git fetch`, `remote.<repositório>.fetch` são utilizados como `refspecs` eles especificam quais os `refs` capturar e quais as `refs` locais atualizar.  O exemplo acima capturará todas as ramificações que existem em `origin` (ou seja, qualquer `ref` que coincida ao lado esquerdo do valor, `refs/heads/*`) e atualizará as ramificações de rastreamento remoto correspondentes na hierarquia `refs/remotes/origem/*`.

note: type: Plain text
en: When `git fetch` is run with explicit branches and/or tags to fetch on the command line, e.g. `git fetch origin master`, the <refspec>s given on the command line determine what are to be fetched (e.g. `master` in the example, which is a short-hand for `master:`, which in turn means "fetch the 'master' branch but I do not explicitly say what remote-tracking branch to update with it from the command line"), and the example command will fetch _only_ the 'master' branch.  The `remote.<repository>.fetch` values determine which remote-tracking branch, if any, is updated.  When used in this way, the `remote.<repository>.fetch` values do not have any effect in deciding _what_ gets fetched (i.e. the values are not used as refspecs when the command-line lists refspecs); they are only used to decide _where_ the refs that are fetched are stored by acting as a mapping.
pt_BR: Quando o `git fetch` é executado especificamente com as ramificações ou tags utilizando a linha de comando como `git fetch origin master` por exemplo, os `<refspec>` utilizados determinam uma ordem de capturar, o quê deve ser capturado (o `master` no exemplo é uma abreviação de `master:`, que por sua vez significa "capture a ramificação 'master', por exemplo), assim o comando no exemplo capturará _apenas_ a ramificação 'master'.  Os valores `remote.<repositório>.fetch` determinam qual a ramificação remota rastreada, caso exista, será atualizada.  Quando utilizados desta maneira, os valores `remote.<repository>.fetch` não têm nenhum efeito na decisão do _quê_ é capturado (ou seja, os valores não são utilizados como `refspecs` quando a linha de comando lista `refspecs`); eles são utilizados apenas para decidir _onde_ os `refs` que estão sendo capturados estão sendo armazenados e agem como um mapeamento.

note: type: Plain text
en: The latter use of the `remote.<repository>.fetch` values can be overridden by giving the `--refmap=<refspec>` parameter(s) on the command line.
pt_BR: O último valores do `remote.<repositório>.fetch` podem ser substituídos, ao usar os parâmetros `--refmap=<refspec>` na linha de comando.

note: type: Title -
en: PRUNING
pt_BR: PODA

note: type: Plain text
en: Git has a default disposition of keeping data unless it's explicitly thrown away; this extends to holding onto local references to branches on remotes that have themselves deleted those branches.
pt_BR: A disposição predefinida do Git se organiza de forma a manter os dados a menos que sejam descartados de forma explicita; isso se estende a manter referências locais nas ramificações remotas que elas mesmas excluíram.

note: type: Plain text
en: If left to accumulate, these stale references might make performance worse on big and busy repos that have a lot of branch churn, and e.g. make the output of commands like `git branch -a --contains <commit>` needlessly verbose, as well as impacting anything else that'll work with the complete set of known references.
pt_BR: Se desassistidas, essas referências obsoletas podem piorar o desempenho em repositórios grandes e ocupados aonde apresentam muita rotatividade e por exemplo, façam uso de comandos como `git branch -a --contains <commit>` cuja saída é desnecessariamente detalhada, cautilizando impacto de desempenho em qualquer outra referência de trabalho conhecida.

note: type: Plain text
en: These remote-tracking references can be deleted as a one-off with either of:
pt_BR: Estas referências de rastreamento remoto podem ser excluídas com um único:

note: type: delimited block -
en: # While fetching
    $ git fetch --prune <name>
pt_BR: # Enquanto estiver fazendo a captura
    $ git fetch --prune <nome>

note: type: delimited block -
en: # Only prune, don't fetch
    $ git remote prune <name>
pt_BR: # Exclua apenas, não busque nada
    $ git remote prune <nome>

note: type: Plain text
en: To prune references as part of your normal workflow without needing to remember to run that, set `fetch.prune` globally, or `remote.<name>.prune` per-remote in the config. See linkgit:git-config[1].
pt_BR: Para remover as referências como parte do seu fluxo de trabalho normal sem precisar se lembrar de executá-lo, defina `fetch.prune` globalmente ou com a configuração ` remote.<nome>.prune` por ramo remoto. Consulte linkgit:git-config[1].

note: type: Plain text
en: Here's where things get tricky and more specific. The pruning feature doesn't actually care about branches, instead it'll prune local <-> remote-references as a function of the refspec of the remote (see `<refspec>` and <<CRTB,CONFIGURED REMOTE-TRACKING BRANCHES>> above).
pt_BR: Aqui é onde as coisas ficam complicadas e bem específicas. O recurso de remoção não se importa muito com as ramificações; em vez disso, remove as referências locais <-> remotas como uma função do `refspec` remoto (consulte `<refspec>` e <<CONFIGURAÇÕES DOS RAMOS MONITORADOS REMOTAMENTE, CRTB>> acima).

note: type: Plain text
en: Therefore if the refspec for the remote includes e.g. `refs/tags/*:refs/tags/*`, or you manually run e.g. `git fetch --prune <name> "refs/tags/*:refs/tags/*"` it won't be stale remote tracking branches that are deleted, but any local tag that doesn't exist on the remote.
pt_BR: Portanto, caso o `refspec` remoto inclua `refs/tags/*:refs/tags/*` por exemplo ou caso execute manualmente `git fetch --prune <nome> "refs/tags/*:refs/tags/*"` por exemplo. As ramificações remotas rastreadas que forem excluídas não expirarão, a não ser qualquer outra tag local que não exista remotamente.

note: type: Plain text
en: This might not be what you expect, i.e. you want to prune remote `<name>`, but also explicitly fetch tags from it, so when you fetch from it you delete all your local tags, most of which may not have come from the `<name>` remote in the first place.
pt_BR: Senão for o que você deseja, caso queira remover remotamente o `<nome>` por exemplo e também capturar explicitamente as tags a partir dele; primeiramente, ao recolher dele você exclui todas as tags locais, a maioria das quais podem não terem vindo do `<nome>` remoto.

note: type: Plain text
en: So be careful when using this with a refspec like `refs/tags/*:refs/tags/*`, or any other refspec which might map references from multiple remotes to the same local namespace.
pt_BR: Assim, tenha cuidado ao utilizar isso com um `refspec` como `refs/tags/*:refs/tags/*` ou qualquer outro `refspec` que possa mapear as referências de diferentes pontos remotos para o mesmo `namespace` local.

note: type: Plain text
en: Since keeping up-to-date with both branches and tags on the remote is a common use-case the `--prune-tags` option can be supplied along with `--prune` to prune local tags that don't exist on the remote, and force-update those tags that differ. Tag pruning can also be enabled with `fetch.pruneTags` or `remote.<name>.pruneTags` in the config. See linkgit:git-config[1].
pt_BR: Como manter-se atualizado com as ramificações e as tags remotamente é um caso de uso comum, a opção `--prune-tags` pode ser utilizada junto com o `--prune` para remover as tags locais que não existam no ponto remoto e impor a atualização dessas tags que estiverem diferentes. A remoção de tags também podem ser ativadas com `fetch.pruneTags` ou `remote.<nome>.pruneTags` nas configurações. Consulte linkgit:git-config[1].

note: type: Plain text
en: The `--prune-tags` option is equivalent to having `refs/tags/*:refs/tags/*` declared in the refspecs of the remote. This can lead to some seemingly strange interactions:
pt_BR: A opção `--prune-tags` é equivalente a ter o `refs/tags/*:refs/tags/*` declarado nos `refspecs` remotos. Isso pode ocasionar algumas interações estranhas:

note: type: delimited block -
en: # These both fetch tags
    $ git fetch --no-tags origin 'refs/tags/*:refs/tags/*'
    $ git fetch --no-tags --prune-tags origin
pt_BR: # Ambas capturam as tags
    $ git fetch --no-tags origin 'refs/tags/*:refs/tags/*'
    $ git fetch --no-tags --prune-tags origin

note: type: Plain text
en: The reason it doesn't error out when provided without `--prune` or its config versions is for flexibility of the configured versions, and to maintain a 1=1 mapping between what the command line flags do, and what the configuration versions do.
pt_BR: O motivo pelo qual não ocorre um erro durante o uso sem a opção `--prune` ou as suas versões de configuração, é a flexibilidade das versões configuradas, para manter um mapeamento 1=1 entre as opções da linha de comando e o que as versões das configuração fazem.

note: type: Plain text
en: It's reasonable to e.g. configure `fetch.pruneTags=true` in `~/.gitconfig` to have tags pruned whenever `git fetch --prune` is run, without making every invocation of `git fetch` without `--prune` an error.
pt_BR: É razoável que a configuração `fetch.pruneTags=true` em `~/.gitconfig` que as tags sejam removidas sempre que o comando `git fetch --prune` seja executado, sem fazer com que todas as invocações do comando `git fetch` sem a opção `--prune` cause um erro.

note: type: Plain text
en: Pruning tags with `--prune-tags` also works when fetching a URL instead of a named remote. These will all prune tags not found on origin:
pt_BR: A remoção de tags com `--prune-tags` também funciona durante o resgate de uma URL em vez de um determinado nome remoto. Todas essas tags de remoção serão encontradas em `origin`:

note: type: Plain text
en: The output of "git fetch" depends on the transport method used; this section describes the output when fetching over the Git protocol (either locally or via ssh) and Smart HTTP protocol.
pt_BR: A saída do comando "git fetch" depende do método de transporte utilizado; Esta seção descreve a saída durante a utilização da captura ao utilizar o protocolo Git (localmente ou via ssh) e o protocolo inteligente "Smart HTTP".

note: type: Plain text
en: The status of the fetch is output in tabular form, with each line representing the status of a single ref. Each line is of the form:
pt_BR: A condição da saída durante a captura é produzida em forma de tabela, com cada linha representando a condição de uma única referência. Cada linha é uma forma de:

note: type: delimited block -
en:  <flag> <summary> <from> -> <to> [<reason>]
pt_BR:  <flag> <resumo> <de> -> <para> [<motivo>]

note: type: Plain text
en: The status of up-to-date refs is shown only if the --verbose option is used.
pt_BR: A condição das referências atualizadas é exibido caso a opção --verbose seja utilizada.

note: type: Plain text
en: In compact output mode, specified with configuration variable fetch.output, if either entire `<from>` or `<to>` is found in the other string, it will be substituted with `*` in the other string. For example, `master -> origin/master` becomes `master -> origin/*`.
pt_BR: O modo de saída compacta é definida com a variável de configuração `fetch.output`, caso `<de>` ou `<para>` seja inteiramente encontrada em outra cadeia de caracteres, esta será substituída por `*` na outra cadeia de caracteres. `master -> origin/master` se torna `master -> origin/*` por exemplo.

note: type: Plain text
en: A single character indicating the status of the ref:
pt_BR: Um único caractere indicando a condição da referência:

note: type: Plain text
en: for a successfully fetched fast-forward;
pt_BR: para um avanço rápido bem sucedido;

note: type: Plain text
en: for a successful forced update;
pt_BR: para uma imposição de atualização bem sucedida;

note: type: Plain text
en: for a successfully pruned ref;
pt_BR: para uma eliminação da referência bem sucedida;

note: type: Plain text
en: for a successful tag update;
pt_BR: para uma atualização da tag bem sucedida;

note: type: Plain text
en: for a successfully fetched new ref;
pt_BR: para a captura de uma nova referência bem sucedida;

note: type: Plain text
en: for a ref that was rejected or failed to update; and
pt_BR: para uma referência que foi rejeitada ou a sua atualização tenha falhado; e

note: type: Plain text
en: for a ref that was up to date and did not need fetching.
pt_BR: para uma referência que estava atualizada e não precisou de nenhuma captura.

note: type: Labeled list
en: summary
pt_BR: resumo

note: type: Plain text
en: For a successfully fetched ref, the summary shows the old and new values of the ref in a form suitable for using as an argument to `git log` (this is `<old>..<new>` in most cases, and `<old>...<new>` for forced non-fast-forward updates).
pt_BR: Para a a captura de uma referência bem sucedida, o resumo exibe os valores antigos e novos em um formato adequado para a utilização como argumento para o comando `git log` (`<antigo>..<novo>` na maioria dos casos, e `<antigo>...<novo>` para atualizações de avanço rápido que forem impostas).

note: type: Labeled list
en: from
pt_BR: de

note: type: Plain text
en: The name of the remote ref being fetched from, minus its `refs/<type>/` prefix. In the case of deletion, the name of the remote ref is "(none)".
pt_BR: The name of the remote ref being fetched from, minus its `refs/<tipo>/` prefix. In the case of deletion, the name of the remote ref is "(none)".

note: type: Plain text
en: to
pt_BR: para

note: type: Plain text
en: The name of the local ref being updated, minus its `refs/<type>/` prefix.
pt_BR: The name of the local ref being updated, minus its `refs/<tipo>/` prefix.

note: type: Labeled list
en: reason
pt_BR: motivo

note: type: Plain text
en: A human-readable explanation. In the case of successfully fetched refs, no explanation is needed. For a failed ref, the reason for failure is described.
pt_BR: Uma explicação legível para humanos. No caso de referências capturadas com sucesso, nenhuma explicação é necessária. Para uma referência com falha, o motivo será explanado.

note: type: Plain text
en: Update the remote-tracking branches:
pt_BR: Atualize as ramificações de rastreamento remoto:

note: type: Plain text
en: The above command copies all branches from the remote refs/heads/ namespace and stores them to the local refs/remotes/origin/ namespace, unless the branch.<name>.fetch option is used to specify a non-default refspec.
pt_BR: O comando acima copia todas as ramificações do `refs/heads/` do espaço de nomes remoto e as armazena em `refs/remotes/origin/` com um espaço de nomes local, a menos que a opção `branch.<nome>.fetch` seja utilizada para definir um `refspec` fora do que já vem predefinido.

note: type: Plain text
en: Using refspecs explicitly:
pt_BR: Utilizando `refspecs` de forma explicita:

note: type: Plain text
en: This updates (or creates, as necessary) branches `seen` and `tmp` in the local repository by fetching from the branches (respectively)  `seen` and `maint` from the remote repository.
pt_BR: Faz a atualização (ou cria, conforme seja necessário) as ramificações `seen` e` tmp` no repositório local, capturando as ramificações (respectivamente) `seen` e` maint` no repositório remoto.

note: type: Plain text
en: The `seen` branch will be updated even if it does not fast-forward, because it is prefixed with a plus sign; `tmp` will not be.
pt_BR: O ramo `seen` será atualizado ainda que não faça um avanço rápido, porque é prefixado com um sinal de mais; já o `tmp` não será.

note: type: Plain text
en: Peek at a remote's branch, without configuring the remote in your local repository:
pt_BR: Dê uma olhada no ramo remoto sem a configuração remota do seu repositório local:

note: type: Plain text
en: The first command fetches the `maint` branch from the repository at `git://git.kernel.org/pub/scm/git/git.git` and the second command uses `FETCH_HEAD` to examine the branch with linkgit:git-log[1].  The fetched objects will eventually be removed by git's built-in housekeeping (see linkgit:git-gc[1]).
pt_BR: O primeiro comando captura a ramificação `maint` do repositório em `git://git.kernel.org/pub/scm/git/git.git` e o segundo comando usa `FETCH_HEAD` para examinar a ramificação com linkgit:git-log[1].  Os objetos capturados serão eventualmente removidos pelo serviço de limpeza interno do git (consulte  linkgit:git-gc[1]).

note: type: Plain text
en: Using --recurse-submodules can only fetch new commits in already checked out submodules right now. When e.g. upstream added a new submodule in the just fetched commits of the superproject the submodule itself cannot be fetched, making it impossible to check out that submodule later without having to do a fetch again. This is expected to be fixed in a future Git version.
pt_BR: Com a opção `--recurse-submodules` só pode buscar novos commits nos submódulos que já foram averiguados no momento. Quando, por exemplo, a "upstream" adicionou um novo submódulo nos commits recém-buscados do superprojeto, o submódulo em si não pode ser buscado, tornando impossível verificar o submódulo sendo necessário fazer uma nova busca mais tarde. Espera-se que isso seja corrigido em uma versão futura do Git.

note: type: Plain text
en: git-filter-branch - Rewrite branches
pt_BR: git-filter-branch - Reescreve os ramos

note: type: Plain text
en: 'git filter-branch' [--setup <command>] [--subdirectory-filter <directory>]
    	[--env-filter <command>] [--tree-filter <command>]
    	[--index-filter <command>] [--parent-filter <command>]
    	[--msg-filter <command>] [--commit-filter <command>]
    	[--tag-name-filter <command>] [--prune-empty]
    	[--original <namespace>] [-d <directory>] [-f | --force]
    	[--state-branch <branch>] [--] [<rev-list options>...]
pt_BR: 'git filter-branch' [--setup <comando>] [--subdirectory-filter <diretório>]
    	[--env-filter <comando>] [--tree-filter <comando>]
    	[--index-filter <comando>] [--parent-filter <comando>]
    	[--msg-filter <comando>] [--commit-filter <comando>]
    	[--tag-name-filter <comando>] [--prune-empty]
    	[--original <espaço-de-nomes>] [-d <diretório>] [-f | --force]
    	[--state-branch <ramo>] [--] [<opções da rev-list>...]

note: type: Title -
en: WARNING
pt_BR: ATENÇÃO

note: type: Plain text
en: 'git filter-branch' has a plethora of pitfalls that can produce non-obvious manglings of the intended history rewrite (and can leave you with little time to investigate such problems since it has such abysmal performance).  These safety and performance issues cannot be backward compatibly fixed and as such, its use is not recommended.  Please use an alternative history filtering tool such as https://github.com/newren/git-filter-repo/[git filter-repo].  If you still need to use 'git filter-branch', please carefully read <<SAFETY>> (and <<PERFORMANCE>>) to learn about the land mines of filter-branch, and then vigilantly avoid as many of the hazards listed there as reasonably possible.
pt_BR: O 'git filter-branch' possui uma infinidade de armadilhas que podem produzir não tão óbvios da reescrita pretendida no histórico (e podem deixar pouco tempo para investigar esses problemas já que o desemprenho é terrível).  Esses problemas de segurança e desempenho não podem ser corrigidos de forma compatível com as versões anteriores e como tal o seu uso não é recomendado.  Utilize uma ferramenta alternativa de filtragem de histórico como https://github.com/newren/git-filter-repo/[git filter-repo].  Caso ainda precise usar o  'git filter-branch' leia com cuidado <<SEGURANÇA>> (e <<DESEMPENHO>>) para aprender os perigos do "filter-branch" e em seguida, com muita atenção evite o maior número possível de perigos listados lá.

note: type: Plain text
en: Lets you rewrite Git revision history by rewriting the branches mentioned in the <rev-list options>, applying custom filters on each revision.  Those filters can modify each tree (e.g. removing a file or running a perl rewrite on all files) or information about each commit.  Otherwise, all information (including original commit times or merge information) will be preserved.
pt_BR: Permite reescrever o histórico de revisões do Git, reescrevendo as ramificações mencionadas em `<opções da rev-list>` aplicando os filtros personalizados em cada revisão.  Esses filtros podem modificar cada árvore (por exemplo, remover um arquivo ou executar uma reescrita perl em todos os arquivos) ou informações sobre cada commit.  Caso contrário, todas as informações (incluindo a quantidade de commits originais ou as informações de mesclagem) serão preservadas.

note: type: Plain text
en: The command will only rewrite the _positive_ refs mentioned in the command line (e.g. if you pass 'a..b', only 'b' will be rewritten).  If you specify no filters, the commits will be recommitted without any changes, which would normally have no effect.  Nevertheless, this may be useful in the future for compensating for some Git bugs or such, therefore such a usage is permitted.
pt_BR: O comando reescreverá apenas as "refs _positivas_ mencionados na linha de comando (caso passer 'a..b', apenas 'b' será reescrito por exemplo).  Caso você não defina nenhum filtro, os commits serão refeitos sem qualquer alteração, o que normalmente não teria nenhum efeito.  No entanto, isso pode ser útil no futuro para compensar alguns bugs do Git ou algo assim, portanto, este uso é permitido.

note: type: Plain text
en: *NOTE*: This command honors `.git/info/grafts` file and refs in
    the `refs/replace/` namespace.
    If you have any grafts or replacement refs defined, running this command
    will make them permanent.
pt_BR: *OBSERVAÇÃO*: Este comando honra o arquivo `.git/info/grafts` e as
    refs no `refs/replace/` namespace.
    Caso você tenha quaisquer enxertos ou referências de reposição definidos,
    executando este comando os fará permanente.

note: type: Plain text
en: *WARNING*! The rewritten history will have different object names for all
    the objects and will not converge with the original branch.  You will not
    be able to easily push and distribute the rewritten branch on top of the
    original branch.  Please do not use this command if you do not know the
    full implications, and avoid using it anyway, if a simple single commit
    would suffice to fix your problem.  (See the "RECOVERING FROM UPSTREAM
    REBASE" section in linkgit:git-rebase[1] for further information about
    rewriting published history.)
pt_BR: *ATENÇÃO*! O histórico de reescrita terá nomes de objetos diferentes para todos
    os objetos e não convergirá com a ramificação original.  Você não conseguirá
    fazer um impulsionamento (push) de forma fácil e redistribuir o ramo alterado no cume do
    ramo original.  Não utilize este comando se você não souber todas as implicações do seu uso e
    ainda assim evite usá-lo, caso um único commit simples seja suficiente para resolver o seu problema.
    (Consulte a seção "RECUPERANDO DO UPSTREAM REBASE"
    na seção em linkgit:git-rebase[1] para obter mais informações
    sobre reescrever no histórico de publicado.)

note: type: Plain text
en: Always verify that the rewritten version is correct: The original refs, if different from the rewritten ones, will be stored in the namespace 'refs/original/'.
pt_BR: Sempre verifique se a versão reescrita está correta: As refs originais, caso sejam diferentes das que foram reescritas, serão armazenadas no espaço de nomes `refs/original/`.

note: type: Plain text
en: Note that since this operation is very I/O expensive, it might be a good idea to redirect the temporary directory off-disk with the `-d` option, e.g. on tmpfs.  Reportedly the speedup is very noticeable.
pt_BR: Observe que como essa operação é muito intenso logicamente, pode ser uma boa idéia redirecionar o diretório temporário para fora do disco com a opção `-d` no tmpfs por exemplo.  Alegadamente, a melhora de desempenho é muito perceptível.

note: type: Title ~
en: Filters
pt_BR: Filtros

note: type: Plain text
en: The filters are applied in the order as listed below.  The <command> argument is always evaluated in the shell context using the 'eval' command (with the notable exception of the commit filter, for technical reasons).  Prior to that, the `$GIT_COMMIT` environment variable will be set to contain the id of the commit being rewritten.  Also, GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, GIT_AUTHOR_DATE, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL, and GIT_COMMITTER_DATE are taken from the current commit and exported to the environment, in order to affect the author and committer identities of the replacement commit created by linkgit:git-commit-tree[1] after the filters have run.
pt_BR: Os filtros são aplicados na ordem listada abaixo.  O argumento <comando> é sempre avaliado no shell utilizando o comando 'eval' como contexto (exceto o filtro do commit, devido a uma mera tecnicalidade).  Antes disso, a variável do ambiente `$GIT_COMMIT` será configurada para conter o ID do commit que está sendo reescrito.  Além disso as variáveis `GIT_AUTHOR_NAME`, `GIT_AUTHOR_EMAIL`, `GIT_AUTHOR_DATE`, `GIT_COMMITTER_NAME`, `GIT_COMMITTER_EMAIL` e `GIT_COMMITTER_DATE` são retirados do commit atual e exportados para o ambiente, a fim de afetar as identidades autor e de quem fez o commit do commit que está sendo criado por linkgit:git-commit-tree[1] após a execução dos filtros.

note: type: Plain text
en: If any evaluation of <command> returns a non-zero exit status, the whole operation will be aborted.
pt_BR: Caso qualquer avaliação do <comando> retorne uma condição diferente de zero na saída, toda a operação será abortada.

note: type: Plain text
en: A 'map' function is available that takes an "original sha1 id" argument and outputs a "rewritten sha1 id" if the commit has been already rewritten, and "original sha1 id" otherwise; the 'map' function can return several ids on separate lines if your commit filter emitted multiple commits.
pt_BR: Está disponível uma função chamada 'map' que pega um argumento "id do sha1 original" e gera um "id do sha1 reescrito" caso o commit seja reescrito e caso contrário "sha1 id original"; a função 'map' pode retornar vários IDs em linhas separadas caso o filtro do commit emita vários commits.

note: type: Labeled list
en: --setup <command>
pt_BR: --setup <comando>

note: type: Plain text
en: This is not a real filter executed for each commit but a one time setup just before the loop. Therefore no commit-specific variables are defined yet.  Functions or variables defined here can be used or modified in the following filter steps except the commit filter, for technical reasons.
pt_BR: Este não é um filtro real executado para cada commit, porém uma configuração única antes do loop. Portanto, nenhuma variável específica do commit será definida ainda.  As funções ou variáveis definidas aqui, podem ser utilizadas ou modificadas nas seguintes etapas do filtro, exceto o filtro do commit por uma mera tecnicalidade.

note: type: Labeled list
en: --subdirectory-filter <directory>
pt_BR: --subdirectory-filter <diretório>

note: type: Plain text
en: Only look at the history which touches the given subdirectory.  The result will contain that directory (and only that) as its project root. Implies <<Remap_to_ancestor>>.
pt_BR: Veja apenas a história que toca o subdiretório especificado.  O resultado contemplar este diretório (e somente isso) como a raiz do projeto. Implica no uso de <<Remap_to_ancestor>>.

note: type: Labeled list
en: --env-filter <command>
pt_BR: --env-filter <comando>

note: type: Plain text
en: This filter may be used if you only need to modify the environment in which the commit will be performed.  Specifically, you might want to rewrite the author/committer name/email/time environment variables (see linkgit:git-commit-tree[1] for details).
pt_BR: Este filtro pode ser utilizado apenas quando precisar alterar o ambiente onde o commit foi realizado.  Especificamente, você pode reescrever as variáveis de ambiente do autor/nome responsável pelo commit/email/data na variável do ambiente (para mais detalhes consulte linkgit:git-commit-tree[1].

note: type: Labeled list
en: --tree-filter <command>
pt_BR: --tree-filter <comando>

note: type: Plain text
en: This is the filter for rewriting the tree and its contents.  The argument is evaluated in shell with the working directory set to the root of the checked out tree.  The new tree is then used as-is (new files are auto-added, disappeared files are auto-removed - neither .gitignore files nor any other ignore rules *HAVE ANY EFFECT*!).
pt_BR: Este filtro serve para reescrever a árvore e o seu conteúdo.  O argumento é avaliado no shell com o diretório de trabalho definido como a raiz da árvore verificada.  A nova árvore é então utilizada como está (os novos arquivos serão adicionados automaticamente, os arquivos desaparecidos serão removidos automaticamente - nem os arquivos `.gitignore` nem nenhuma outra regra de ignorar *TEM QUALQUER EFEITO*!).

note: type: Labeled list
en: --index-filter <command>
pt_BR: --index-filter <comando>

note: type: Plain text
en: This is the filter for rewriting the index.  It is similar to the tree filter but does not check out the tree, which makes it much faster.  Frequently used with `git rm --cached --ignore-unmatch ...`, see EXAMPLES below.  For hairy cases, see linkgit:git-update-index[1].
pt_BR: Este é o filtro utilizado para reescrever o índice.  É semelhante ao filtro da árvore, no entanto não realiza o check out da árvore, o que a torna muito mais rápida.  É Frequentemente utilizado com `git rm --cached --ignore-unmatch ...`, consulte os EXEMPLOS abaixo.  Para os casos mais cabeludos consulte linkgit:git-update-index[1].

note: type: Labeled list
en: --parent-filter <command>
pt_BR: --parent-filter <comando>

note: type: Plain text
en: This is the filter for rewriting the commit's parent list.  It will receive the parent string on stdin and shall output the new parent string on stdout.  The parent string is in the format described in linkgit:git-commit-tree[1]: empty for the initial commit, "-p parent" for a normal commit and "-p parent1 -p parent2 -p parent3 ..." for a merge commit.
pt_BR: Este filtro serve para reescrever a lista das origens de quem fez o commit.  Ele receberá um texto da origem no stdin e produzirá a um novo texto de origem no stdout.  O texto de origem está no formato descrito em linkgit:git-commit-tree[1]: o commit inicial é vazio, "-p parent" para um commit normal e "-p parent1 -p parent2 -p parent3 ..." para os commits consolidados.

note: type: Labeled list
en: --msg-filter <command>
pt_BR: --msg-filter <comando>

note: type: Plain text
en: This is the filter for rewriting the commit messages.  The argument is evaluated in the shell with the original commit message on standard input; its standard output is used as the new commit message.
pt_BR: Este filtro serve para reescrever as mensagens dos commits.  O argumento é avaliado no shell com a mensagem original do commit em sua entrada padrão; já a sua saída padrão é utilizada como uma nova mensagem do commit.

note: type: Labeled list
en: --commit-filter <command>
pt_BR: --commit-filter <comando>

note: type: Plain text
en: This is the filter for performing the commit.  If this filter is specified, it will be called instead of the 'git commit-tree' command, with arguments of the form "<TREE_ID> [(-p <PARENT_COMMIT_ID>)...]" and the log message on stdin.  The commit id is expected on stdout.
pt_BR: Este filtro serve para apresentar o commit.  Caso este filtro seja utilizado, ele será chamado em vez do comando 'git commit-tree', com os argumentos no formato "<TREE_ID> [(-p <PARENT_COMMIT_ID>)...]" e a mensagem do registro log no stdin.  O ID do commit é esperado no stdout.

note: type: Plain text
en: As a special extension, the commit filter may emit multiple commit ids; in that case, the rewritten children of the original commit will have all of them as parents.
pt_BR: Como uma extensão especial, o filtro do commit pode emitir vários IDs para estes commits; nesse caso, os herdeiros do commit original que foram reescritos, todos terão eles como origem.

note: type: Plain text
en: You can use the 'map' convenience function in this filter, and other convenience functions, too.  For example, calling 'skip_commit "$@"' will leave out the current commit (but not its changes! If you want that, use 'git rebase' instead).
pt_BR: Você pode utilizar a função 'map' como uma conveniência neste filtro assim como nas outras funções também.  Ao chamar 'skip_commit "$@"' por exemplo, deixará de fora o commit atual (mas as alterações não! Caso queira usar dessa maneira, utilize então o comando 'git rebase').

note: type: Plain text
en: You can also use the `git_commit_non_empty_tree "$@"` instead of `git commit-tree "$@"` if you don't wish to keep commits with a single parent and that makes no change to the tree.
pt_BR: É possível também utilizar `git_commit_non_empty_tree "$@"` em vez de `git commit-tree "$@"` caso não queira mais manter os commit com uma única origem, isso não faz qualquer alteração na árvore.

note: type: Labeled list
en: --tag-name-filter <command>
pt_BR: --tag-name-filter <comando>

note: type: Plain text
en: This is the filter for rewriting tag names. When passed, it will be called for every tag ref that points to a rewritten object (or to a tag object which points to a rewritten object).  The original tag name is passed via standard input, and the new tag name is expected on standard output.
pt_BR: Este filtro serve para reescrever os nomes das tags. Quando aprovada, será chamada para cada tag de referência que aponte para um objeto reescrito (ou para um objeto tag que aponte para um objeto reescrito).  O nome da tag original é passado através da entrada padrão e seu novo nome é esperado na saída padrão.

note: type: Plain text
en: The original tags are not deleted, but can be overwritten; use "--tag-name-filter cat" to simply update the tags.  In this case, be very careful and make sure you have the old tags backed up in case the conversion has run afoul.
pt_BR: As tags originais não são excluídas, mas podem ser substituídas; utilize a opção "--tag-name-filter cat" para atualizar as tags.  Nesse caso, tenha muito cuidado e certifique-se de fazer o backup das tags antigas, caso ocorra algum problema durante a conversão.

note: type: Plain text
en: Nearly proper rewriting of tag objects is supported. If the tag has a message attached, a new tag object will be created with the same message, author, and timestamp. If the tag has a signature attached, the signature will be stripped. It is by definition impossible to preserve signatures. The reason this is "nearly" proper, is because ideally if the tag did not change (points to the same object, has the same name, etc.)  it should retain any signature. That is not the case, signatures will always be removed, buyer beware. There is also no support for changing the author or timestamp (or the tag message for that matter). Tags which point to other tags will be rewritten to point to the underlying commit.
pt_BR: A reescrita quase apropriada dos objetos tag são suportados. Caso a tag tenha uma mensagem anexada, um novo objeto tag será criado com a mesma mensagem, autor e registro de data e hora. Caso a tag tenha uma assinatura anexada, a assinatura será removida. Devido a predefinição retorna para impossível preservar as assinaturas. O motivo do "quase" apropriado, significa que idealmente caso uma tag não mude (aponta para o mesmo objeto, tem o mesmo nome etc.), ela deve manter qualquer assinatura. Não é este o caso, as assinaturas sempre serão removidas, portanto cuidado. Também não há compatibilidade para alterar o autor ou o registro de data e hora (ou a mensagem da tag). As tags que apontem para as outras tags, serão reescritas para apontar para o commit subjacente.

note: type: Plain text
en: Some filters will generate empty commits that leave the tree untouched.  This option instructs git-filter-branch to remove such commits if they have exactly one or zero non-pruned parents; merge commits will therefore remain intact.  This option cannot be used together with `--commit-filter`, though the same effect can be achieved by using the provided `git_commit_non_empty_tree` function in a commit filter.
pt_BR: Alguns filtros geram commits vazios que deixam a árvore intocada.  Essa opção instrui o comando `git-filter-branch` para remover tais commits caso elas tenham exatamente um ou zero origens sem poda; os commits mesclados permanecerão intactos.  Esta opção não pode ser utilizada em conjunto com `--commit-filter`, embora o mesmo efeito possa ser alcançado utilizando a função `git_commit_non_empty_tree` em um filtro do commit.

note: type: Labeled list
en: --original <namespace>
pt_BR: --original <espaço-de-nomes>

note: type: Plain text
en: Use this option to set the namespace where the original commits will be stored. The default value is 'refs/original'.
pt_BR: Utilize esta opção para definir o espaço de nomes onde os commits originais serão armazenados. O valor predefinido é 'refs/original'.

note: type: Labeled list
en: -d <directory>
pt_BR: -d <diretório>

note: type: Plain text
en: Use this option to set the path to the temporary directory used for rewriting.  When applying a tree filter, the command needs to temporarily check out the tree to some directory, which may consume considerable space in case of large projects.  By default it does this in the `.git-rewrite/` directory but you can override that choice by this parameter.
pt_BR: Use esta opção para definir o caminho para o diretório temporário usado para a reescrita.  Ao aplicar um filtro na árvore, o comando precisa fazer a averiguação da árvore em algum diretório, o que pode consumir um espaço considerável no caso dos grandes projetos.  É predefinido que ele faça isso no diretório `.git-rewrite/`, porém é possível substituir esta opção por este parâmetro.

note: type: Plain text
en: 'git filter-branch' refuses to start with an existing temporary directory or when there are already refs starting with 'refs/original/', unless forced.
pt_BR: O comando 'git filter-branch' não será iniciado caso um diretório temporário existenta ou quando já existem referências começando com 'refs/original/' ou a menos que seja imposto.

note: type: Labeled list
en: --state-branch <branch>
pt_BR: --state-branch <ramo>

note: type: Plain text
en: This option will cause the mapping from old to new objects to be loaded from named branch upon startup and saved as a new commit to that branch upon exit, enabling incremental of large trees. If '<branch>' does not exist it will be created.
pt_BR: Esta opção fará com que o mapeamento dos objetos antigos para os novos sejam carregados do ramo chamado na inicialização e salvo como um novo commit até a sua conclusão, permitindo o incremento das grandes árvores. Se o '<ramo>' não existir, ele será criado.

note: type: Labeled list
en: <rev-list options>...
pt_BR: <opções da rev-list>...

note: type: Plain text
en: Arguments for 'git rev-list'.  All positive refs included by these options are rewritten.  You may also specify options such as `--all`, but you must use `--` to separate them from the 'git filter-branch' options. Implies <<Remap_to_ancestor>>.
pt_BR: Argumentos para o 'git rev-list'.  Todas as referências positivas incluídas por estas opções serão reescritas.  Você também pode usar as opções como `--all`, porém deve utilizar `--` para separá-las das opções 'git filter-branch'. Implica no uso de <<Remap_to_ancestor>>.

note: type: Title ~
en: Remap to ancestor
pt_BR: Remapear para o ancestral

note: type: Plain text
en: By using linkgit:git-rev-list[1] arguments, e.g., path limiters, you can limit the set of revisions which get rewritten. However, positive refs on the command line are distinguished: we don't let them be excluded by such limiters. For this purpose, they are instead rewritten to point at the nearest ancestor that was not excluded.
pt_BR: Ao usar argumentos linkgit:git-rev-list[1] como limitadores de caminho por exemplo, você pode limitar o conjunto das revisões que serão reescritas. No entanto, referências positivas na linha de comando são diferenciadas: nós não permitimos que sejam excluídas através destes limitadores. Para esse fim, eles são reescritos para apontar para o ancestral mais próximo que não tenha sido excluído.

note: type: Plain text
en: On success, the exit status is `0`.  If the filter can't find any commits to rewrite, the exit status is `2`.  On any other error, the exit status may be any other non-zero value.
pt_BR: Se bem sucedido, a condição da saída se encerra com `0`.  Caso o o filtro não encontre nenhum commit para reescrever, a condição da saída se encerra com `2`.  Em qualquer outro erro, a condição da saída saída pode ser qualquer outro valor diferente de zero.

note: type: Plain text
en: Suppose you want to remove a file (containing confidential information or copyright violation) from all commits:
pt_BR: Suponha que você queira remover um arquivo (contendo informações confidenciais ou de violação de direitos autorais) de todos os commit:

note: type: Plain text
en: However, if the file is absent from the tree of some commit, a simple `rm filename` will fail for that tree and commit.  Thus you may instead want to use `rm -f filename` as the script.
pt_BR: No entanto, caso o arquivo do commit esteja ausente da árvore, um simples `rm filename` falhará para aquela árvore e o commit.  Portanto, pode ser interessante usar `rm -f filename` como script.

note: type: Plain text
en: Using `--index-filter` with 'git rm' yields a significantly faster version.  Like with using `rm filename`, `git rm --cached filename` will fail if the file is absent from the tree of a commit.  If you want to "completely forget" a file, it does not matter when it entered history, so we also add `--ignore-unmatch`:
pt_BR: Usar a opção `--index-filter` com 'git rm' gera uma versão significativamente mais rápida.  Assim como o `rm filename` o `git rm --cached filename` falhará caso o arquivo do commit esteja ausente da árvore.  Caso queira "esquecer completamente" um arquivo, não se importando quando ele entrou no histórico, então também adicionamos a opção `--ignore-unmatch`:

note: type: Plain text
en: Now, you will get the rewritten history saved in HEAD.
pt_BR: Agora, você salvará o histórico reescrito no `HEAD`.

note: type: Plain text
en: To rewrite the repository to look as if `foodir/` had been its project root, and discard all other history:
pt_BR: Para reescrever o repositório para fazer de conta que `foodir/` tenha sido a raiz do projeto e descarte todos os outros históricos:

note: type: Plain text
en: Thus you can, e.g., turn a library subdirectory into a repository of its own.  Note the `--` that separates 'filter-branch' options from revision options, and the `--all` to rewrite all branches and tags.
pt_BR: Assim, você pode, transformar um subdiretório da biblioteca em um repositório próprio por exemplo.  Observe o `--` que separa as opções 'filter-branch' das opções de revisão e o` --all` para reescrever todos os ramos e as tags.

note: type: Plain text
en: To set a commit (which typically is at the tip of another history) to be the parent of the current initial commit, in order to paste the other history behind the current history:
pt_BR: Para definir um commit (que normalmente esteja na ponta de outro histórico) para ser a atual origem inicial do commit e para colar o outro histórico atrás do histórico atual:

note: type: Plain text
en: (if the parent string is empty - which happens when we are dealing with the initial commit - add graftcommit as a parent).  Note that this assumes history with a single root (that is, no merge without common ancestors happened).  If this is not the case, use:
pt_BR: (caso o texto da origem esteja vazio - o mesmo que acontece quando estamos lidando com o commit inicial - `add graftcommit` como origem).  Observe que isso assume o histórico com uma única raiz (ou seja, sem nenhuma mesclagem com ancestrais comuns).  Se não for esse o caso, utilize:

note: type: Plain text
en: or even simpler:
pt_BR: ou mais simples ainda:

note: type: Plain text
en: To remove commits authored by "Darl McBribe" from the history:
pt_BR: Para remover os commits criados por "Darl McBribe" do histórico:

note: type: Plain text
en: The function 'skip_commit' is defined as follows:
pt_BR: A função 'skip_commit' é definida da seguinte maneira:

note: type: Plain text
en: The shift magic first throws away the tree id and then the -p parameters.  Note that this handles merges properly! In case Darl committed a merge between P1 and P2, it will be propagated properly and all children of the merge will become merge commits with P1,P2 as their parents instead of the merge commit.
pt_BR: A mágica do deslocamento primeiro joga fora o ID da árvore e depois os parâmetros `-p`.  Observe que isso manipula a mesclagem de forma adequada! No caso de Darl ter feito um commit mesclando entre P1 e P2, ela será propagada corretamente e todos os herdeiros desta mesclagem se tornarão commits P1,P2 como as suas origens em vez do commit de mesclagem.

note: type: Plain text
en: *NOTE* the changes introduced by the commits, and which are not reverted
    by subsequent commits, will still be in the rewritten branch. If you want
    to throw out _changes_ together with the commits, you should use the
    interactive mode of 'git rebase'.
pt_BR: *NOTA* as alterações introduzidas pelos commits que não sejam revertidos
    por commits subsequentes, ainda estarão na ramificação que foi reescrita. Caso queira
    descartar as _alterações_ junto com os commits, você deve usar o
    modo interativo do comando 'git rebase'.

note: type: Plain text
en: You can rewrite the commit log messages using `--msg-filter`.  For example, 'git svn-id' strings in a repository created by 'git svn' can be removed this way:
pt_BR: Você pode re-escrever as mensagens do registro log dos commits com `--msg-filter`.  A cadeia de caracteres 'git svn-id' em um repositório criado por 'git svn' por exemplo, podem ser removidos desta maneira:

note: type: Plain text
en: If you need to add 'Acked-by' lines to, say, the last 10 commits (none of which is a merge), use this command:
pt_BR: Caso precise adicionar as linhas 'Acked-by' (Reinformado por) aos últimos 10 commits por exemplo (nenhum dos quais seja uma mesclagem), utilize este comando:

note: type: delimited block -
en: git filter-branch --msg-filter '
    	cat &&
    	echo "Acked-by: Bugs Bunny <bunny@bugzilla.org>"
    ' HEAD~10..HEAD
pt_BR: git filter-branch --msg-filter '
    	cat &&
    	echo "Reconhecido por: Pernalonga <coelho@bugzilla.org>"
    ' HEAD~10..HEAD

note: type: Plain text
en: The `--env-filter` option can be used to modify committer and/or author identity.  For example, if you found out that your commits have the wrong identity due to a misconfigured user.email, you can make a correction, before publishing the project, like this:
pt_BR: A opção `--env-filter` pode ser utilizada para modificar a identidade do autor de quem fez o commit.  Caso descubra que os seus commits têm a identidade errada devido a um `user.email` configurado de forma errada por exemplo, é possível fazer uma correção antes de publicar o projeto, assim:

note: type: Plain text
en: To restrict rewriting to only part of the history, specify a revision range in addition to the new branch name.  The new branch name will point to the top-most revision that a 'git rev-list' of this range will print.
pt_BR: Para restringir a reescrita a apenas na parte do histórico, determine um intervalo da revisão além do novo nome do ramo.  O novo nome do ramo apontará para o topo da revisão mais recente deste intervalo que um 'git rev-list' dessa faixa imprimirá.

note: type: Plain text
en: Consider this history:
pt_BR: Considere este histórico:

note: type: Plain text
en: To rewrite only commits D,E,F,G,H, but leave A, B and C alone, use:
pt_BR: Para reescrever apenas os commits D, E, F, G, H, mas deixe A, B e C intactos, utilize:

note: type: Plain text
en: To rewrite commits E,F,G,H, use one of these:
pt_BR: Para reescrever os commits E, F, G, H, utilize um destes:

note: type: Plain text
en: To move the whole tree into a subdirectory, or remove it from there:
pt_BR: Para mover toda a árvore para um subdiretório ou removê-la de lá:

note: type: delimited block -
en: git filter-branch --index-filter \
    	'git ls-files -s | sed "s-\t\"*-&newsubdir/-" |
    		GIT_INDEX_FILE=$GIT_INDEX_FILE.new \
    			git update-index --index-info &&
    	 mv "$GIT_INDEX_FILE.new" "$GIT_INDEX_FILE"' HEAD
pt_BR: git filter-branch --index-filter \
    	'git ls-files -s | sed "s-\t\"*-&novosubdir/-" |
    		GIT_INDEX_FILE=$GIT_INDEX_FILE.new \
    			git update-index --index-info &&
    	 mv "$GIT_INDEX_FILE.new" "$GIT_INDEX_FILE"' HEAD

note: type: Title -
en: CHECKLIST FOR SHRINKING A REPOSITORY
pt_BR: LISTA DE VERIFICAÇÃO PARA REDUZIR DE UM REPOSITÓRIO

note: type: Plain text
en: git-filter-branch can be used to get rid of a subset of files, usually with some combination of `--index-filter` and `--subdirectory-filter`.  People expect the resulting repository to be smaller than the original, but you need a few more steps to actually make it smaller, because Git tries hard not to lose your objects until you tell it to.  First make sure that:
pt_BR: O comando `git-filter-branch` pode ser utilizado para se livrar de um subconjunto de arquivos, geralmente com alguma combinação das opções `--index-filter` e `--subdirectory-filter`.  As pessoas esperam que o repositório resultante seja menor que o original, porém são necessários mais algumas etapas para torná-lo menor porque o Git se esforça para não perder os seus objetos até que você assim o solicite.  Primeiro, verifique se:

note: type: Plain text
en: You really removed all variants of a filename, if a blob was moved over its lifetime.  `git log --name-only --follow --all -- filename` can help you find renames.
pt_BR: Você realmente removeu todas as variantes de um nome do arquivo, se um bolha foi movida durante a sua vida útil.  O comando `git log --name-only --follow --all - nome_do_arquivo` pode ajudá-lo a encontrar os arquivos renomeados.

note: type: Plain text
en: You really filtered all refs: use `--tag-name-filter cat -- --all` when calling git-filter-branch.
pt_BR: Você realmente filtrou todas as referências: utilize as opções `--tag-name-filter cat -- --all` ao invocar o comando 'git-filter-branch'.

note: type: Plain text
en: Then there are two ways to get a smaller repository.  A safer way is to clone, that keeps your original intact.
pt_BR: Depois, existem duas outras maneiras de se obter um repositório ainda menor.  A maneira mais segura seria clonar, mantendo o original intacto.

note: type: Plain text
en: Clone it with `git clone file:///path/to/repo`.  The clone will not have the removed objects.  See linkgit:git-clone[1].  (Note that cloning with a plain path just hardlinks everything!)
pt_BR: Clone-o com o comando `git clone file:///path/to/repo`.  O clone não terá os objetos que foram removidos.  Consulte linkgit:git-clone[1].   (Observe que ao realizar a clonagem com um caminho simples, isso faz com que tudo seja vinculado!)

note: type: Plain text
en: If you really don't want to clone it, for whatever reasons, check the following points instead (in this order).  This is a very destructive approach, so *make a backup* or go back to cloning it.  You have been warned.
pt_BR: Caso realmente não queira cloná-lo, independente do motivo, verifique os seguintes pontos (nesta ordem).  Essa é uma abordagem muito destrutiva, logo, *faça um backup* ou volte para a clonagem.  Você foi avisado.

note: type: Plain text
en: Remove the original refs backed up by git-filter-branch: say `git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d`.
pt_BR: Remova os refs originais com o backup do git-filter-branch utilizando: `git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d`.

note: type: Plain text
en: Expire all reflogs with `git reflog expire --expire=now --all`.
pt_BR: Expire todos os `reflogs` utilizando o comando `git reflog expire --expire=now --all`.

note: type: Plain text
en: Garbage collect all unreferenced objects with `git gc --prune=now` (or if your git-gc is not new enough to support arguments to `--prune`, use `git repack -ad; git prune` instead).
pt_BR: O lixo é coletado de todos os objetos sem referências utilizando o comando `git gc --prune=now` (ou caso o seu `git-gc` não seja novo o suficiente para suportar os argumentos para a opção `--prune`, utilize `git repack -ad; git prune`).

note: type: Plain text
en: The performance of git-filter-branch is glacially slow; its design makes it impossible for a backward-compatible implementation to ever be fast:
pt_BR: O desempenho do ramo do 'git-filter-branch' é bem lento; o seu design torna impossível a implementação de retrocompatibilidade rápida com versões anteriores:

note: type: Plain text
en: In editing files, git-filter-branch by design checks out each and every commit as it existed in the original repo.  If your repo has `10^5` files and `10^5` commits, but each commit only modifies five files, then git-filter-branch will make you do `10^10` modifications, despite only having (at most) `5*10^5` unique blobs.
pt_BR: Na edição dos arquivos, o `git-filter-branch` por design faz a averiguação de todos os commits conforme existiam no repositório original.  Caso o seu repositório tenha `10^5` arquivos e `10^5` commits, porém cada commit altere apenas cinco arquivos, o `git-filter-branch` fará com que você faça `10^10` alterações, apesar de ter apenas (no máximo) `5*10^5` bolhas únicas.

note: type: Plain text
en: If you try and cheat and try to make git-filter-branch only work on files modified in a commit, then two things happen
pt_BR: Caso tente trapacear e tente fazer com que o 'git-filter-branch' funcione apenas nos arquivos modificados de um commit, ocorrerão duas coisas

note: type: Plain text
en: you run into problems with deletions whenever the user is simply trying to rename files (because attempting to delete files that don't exist looks like a no-op; it takes some chicanery to remap deletes across file renames when the renames happen via arbitrary user-provided shell)
pt_BR: você enfrenta problemas com exclusões sempre que o usuário está simplesmente tentando renomear os arquivos (porque tentar excluir os que não existem parece um no-op; é preciso alguma trapaça para remapear as exclusões entre as renomeações dos arquivos quando as renomeações acontecem por meio de usuários com o seu próprio shell)

note: type: Plain text
en: even if you succeed at the map-deletes-for-renames chicanery, you still technically violate backward compatibility because users are allowed to filter files in ways that depend upon topology of commits instead of filtering solely based on file contents or names (though this has not been observed in the wild).
pt_BR: mesmo caso consiga excluir a zombaria do 'map-deletes-for-renames' (renomeações para mapas excluídos), ainda assim violará tecnicamente a compatibilidade com as versões anteriores, porque os usuários podem filtrar os arquivos de maneiras que dependem da topologia dos commits, em vez de filtrar apenas com base no conteúdo ou nos nomes dos arquivos (embora isso não tenha sido observado ainda).

note: type: Plain text
en: Even if you don't need to edit files but only want to e.g. rename or remove some and thus can avoid checking out each file (i.e. you can use --index-filter), you still are passing shell snippets for your filters.  This means that for every commit, you have to have a prepared git repo where those filters can be run.  That's a significant setup.
pt_BR: Mesmo que você não precise editar os arquivos, porém apenas queira, por exemplo, renomear ou remover alguns e assim, evitar a averiguação de cada arquivo (como por exemplo, você pode utilizar a opção `--index-filter`), você ainda está passando trechos do shell para os seus filtros.  Isso significa que, para cada commit, é necessário ter um repositório git preparado onde estes filtros possam ser executados.  Esta é uma configuração significativa.

note: type: Plain text
en: Further, several additional files are created or updated per commit by git-filter-branch.  Some of these are for supporting the convenience functions provided by git-filter-branch (such as map()), while others are for keeping track of internal state (but could have also been accessed by user filters; one of git-filter-branch's regression tests does so).  This essentially amounts to using the filesystem as an IPC mechanism between git-filter-branch and the user-provided filters.  Disks tend to be a slow IPC mechanism, and writing these files also effectively represents a forced synchronization point between separate processes that we hit with every commit.
pt_BR: Além disso, os vários arquivos adicionais são criados ou são atualizados por commits através do comando git-filter-branch.  Alguns deles são para apoiar as funções de conveniência fornecidas pelo 'git-filter-branch' (como map()), enquanto outros são para acompanhar a condição interna (mas também podem ter sido acessados através dos filtros do usuário; com um dos testes de regressão 'git-filter-branch' do ramo fazem).  Basicamente significa utilizar o sistema dos arquivos como um mecanismo IPC entre o 'git-filter-branch' e os filtros fornecidos pelo usuário.  Os discos tendem a ser um mecanismo IPC lento e a gravação destes arquivos também representa efetivamente um ponto de sincronização imposto entre os processos separados que atingimos com cada commit.

note: type: Plain text
en: The user-provided shell commands will likely involve a pipeline of commands, resulting in the creation of many processes per commit.  Creating and running another process takes a widely varying amount of time between operating systems, but on any platform it is very slow relative to invoking a function.
pt_BR: Os comandos do usuário informados pelo shell provavelmente envolverão um pipeline de comandos, resultando na criação de muitos processos por commit.  Criar e executar um outro processo leva uma certa quantidade bastante de tempo entre os sistemas operacionais, porém em qualquer outra plataforma é muito lento em relação à chamada de uma função.

note: type: Plain text
en: git-filter-branch itself is written in shell, which is kind of slow.  This is the one performance issue that could be backward-compatibly fixed, but compared to the above problems that are intrinsic to the design of git-filter-branch, the language of the tool itself is a relatively minor issue.
pt_BR: O próprio 'git-filter-branch' é escrito em shell, o que o torna um pouco lento.  Esse é o único problema de desempenho que pode ser corrigido de forma compatível com as versões anteriores, porém se  comparado aos problemas acima, intrínsecos ao design do 'git-filter-branch', o idioma usado pela própria ferramenta é um problema relativamente menor.

note: type: Plain text
en: Side note: Unfortunately, people tend to fixate on the written-in-shell aspect and periodically ask if git-filter-branch could be rewritten in another language to fix the performance issues.  Not only does that ignore the bigger intrinsic problems with the design, it'd help less than you'd expect: if git-filter-branch itself were not shell, then the convenience functions (map(), skip_commit(), etc) and the `--setup` argument could no longer be executed once at the beginning of the program but would instead need to be prepended to every user filter (and thus re-executed with every commit).
pt_BR: Nota: Infelizmente, as pessoas tendem a se fixar no aspecto "escrito em shell" e periodicamente perguntam se o 'git-filter-branch' pode ser reescrito em outra linguagem para corrigir os problemas com o desempenho.  Isso não apenas ignora os maiores problemas intrínsecos na questão do design, como também ajuda menos do que você espera: se o ramo do 'git-filter-branch' em si não fosse em shell, as funções de conveniência (map(), skip_commit(), etc) e a opção `--setup` não poderiam mais ser executadas uma vez durante o início do programa, porém precisariam ser anexadas em todo o filtro do usuário (e portanto, ser executado com cada commit).

note: type: Plain text
en: The https://github.com/newren/git-filter-repo/[git filter-repo] tool is an alternative to git-filter-branch which does not suffer from these performance problems or the safety problems (mentioned below). For those with existing tooling which relies upon git-filter-branch, 'git repo-filter' also provides https://github.com/newren/git-filter-repo/blob/master/contrib/filter-repo-demos/filter-lamely[filter-lamely], a drop-in git-filter-branch replacement (with a few caveats).  While filter-lamely suffers from all the same safety issues as git-filter-branch, it at least ameliorates the performance issues a little.
pt_BR: A ferramenta https://github.com/newren/git-filter-repo/[git filter-repo] é uma alternativa ao 'git-filter-branch' que não sofre com estes problemas de desempenho ou problemas com segurança (mencionados abaixo). Para aqueles com ferramentas já existentes que dependam do 'git-filter-branch', o comando 'git repo-filter' também oferece https://github.com/newren/git-filter-repo/blob/master/contrib/filter-repo-demos/filter-lamely[filter-lamely], um substituto do 'git-filter-branch' (com algumas ressalvas).  Embora o filtro sofra dos mesmos problemas de segurança que o 'git-filter-branch', ele pelo menos melhora um pouco as questões de desempenho.

note: type: Title -
en: SAFETY
pt_BR: SEGURANÇA

note: type: Plain text
en: git-filter-branch is riddled with gotchas resulting in various ways to easily corrupt repos or end up with a mess worse than what you started with:
pt_BR: O 'git-filter-branch' está cheio de pegadinhas, em várias maneiras o resultando pode corromper facilmente os repositórios ou acabar com uma bagunça pior do que a que você começou:

note: type: Plain text
en: Someone can have a set of "working and tested filters" which they document or provide to a coworker, who then runs them on a different OS where the same commands are not working/tested (some examples in the git-filter-branch manpage are also affected by this).  BSD vs. GNU userland differences can really bite.  If lucky, error messages are spewed.  But just as likely, the commands either don't do the filtering requested, or silently corrupt by making some unwanted change.  The unwanted change may only affect a few commits, so it's not necessarily obvious either.  (The fact that problems won't necessarily be obvious means they are likely to go unnoticed until the rewritten history is in use for quite a while, at which point it's really hard to justify another flag-day for another rewrite.)
pt_BR: Alguém pode ter um conjunto de "filtros testados e que funcionam" que eles documentam ou provê a um colega de trabalho, que os executa em um SO diferente onde os mesmos comandos não estão funcionando ou foram testados (alguns exemplos na página do manual do 'git-filter-branch' também são afetados por este).  Os usuários do BSD vs. GNU podem sentir grandes diferenças.  Se tiver sorte, algumas mensagens de erros serão exibidas.  Mas, com a mesma probabilidade, os comandos não fazem a filtragem solicitada ou silenciosamente, corrompem ao fazer algumas alterações indesejadas.  A alteração indesejada pode afetar apenas alguns commits, portanto também não é necessariamente óbvia.  (O fato onde os problemas não serão necessariamente óbvios significa que eles provavelmente passarão despercebidos até que o histórico reescrito esteja em uso por um bom tempo, quando for realmente difícil justificar outro alerta para outra reescrita.)

note: type: Plain text
en: Filenames with spaces are often mishandled by shell snippets since they cause problems for shell pipelines.  Not everyone is familiar with find -print0, xargs -0, git-ls-files -z, etc.  Even people who are familiar with these may assume such flags are not relevant because someone else renamed any such files in their repo back before the person doing the filtering joined the project.  And often, even those familiar with handling arguments with spaces may not do so just because they aren't in the mindset of thinking about everything that could possibly go wrong.
pt_BR: Os nomes dos arquivos com espaços geralmente não são tratados de forma correta pelos trechos em shell scripts, pois causam problemas nas pipelines.  Nem todo mundo está familiarizado com 'find -print0', 'xargs -0', 'git-ls-files -z', etc. Mesmo as pessoas familiarizadas com isso podem assumir que tais opções não sejam relevantes porque alguém renomeou esses arquivos no seu repositório antes da pessoa que fez a filtragem entrar no projeto.  E muitas vezes, mesmo aqueles familiarizados com o tratamento dos argumentos com espaços podem não fazê-lo apenas porque não estão com a mentalidade de pensar em tudo o que poderia dar errado.

note: type: Plain text
en: Non-ascii filenames can be silently removed despite being in a desired directory.  Keeping only wanted paths is often done using pipelines like `git ls-files | grep -v ^WANTED_DIR/ | xargs git rm`.  ls-files will only quote filenames if needed, so folks may not notice that one of the files didn't match the regex (at least not until it's much too late).  Yes, someone who knows about core.quotePath can avoid this (unless they have other special characters like \t, \n, or "), and people who use ls-files -z with something other than grep can avoid this, but that doesn't mean they will.
pt_BR: Os nomes de arquivos não ascii podem ser removidos silenciosamente, apesar de estarem no diretório desejado.  Manter apenas os caminhos desejados geralmente é feito utilizando pipelines como `git ls-files | grep -v ^WANTED_DIR/ | xargs git rm`.  O ls-files só citará os nomes dos arquivos caso seja necessário, portanto, as pessoas podem não perceber que um dos arquivos não coincide com o regex (pelo menos não até que seja tarde demais).  Sim, alguém que conhece a opção de configuração `core.quotePath` pode evitar isso (a menos que tenha outros caracteres especiais como '\t', '\n' ou '"'), e as pessoas que utilizam `ls-files -z` com algo diferente de 'grep' podem evitar isso, porém não significa que eles irão.

note: type: Plain text
en: Similarly, when moving files around, one can find that filenames with non-ascii or special characters end up in a different directory, one that includes a double quote character.  (This is technically the same issue as above with quoting, but perhaps an interesting different way that it can and has manifested as a problem.)
pt_BR: Da mesma forma, ao mover os arquivos, pode-se descobrir que os nomes dos arquivos com caracteres não ASCII ou especiais, acabam em um diretório diferente, um que inclua um caractere com aspas duplas.  (Tecnicamente, este é o mesmo problema acima, com citações, porém talvez seja uma maneira interessante e diferente de se manifestar como um problema.)

note: type: Plain text
en: It's far too easy to accidentally mix up old and new history.  It's still possible with any tool, but git-filter-branch almost invites it.  If lucky, the only downside is users getting frustrated that they don't know how to shrink their repo and remove the old stuff.  If unlucky, they merge old and new history and end up with multiple "copies" of each commit, some of which have unwanted or sensitive files and others which don't.  This comes about in multiple different ways:
pt_BR: É muito fácil misturar acidentalmente o histórico antigo e com o novo.  Com qualquer ferramenta ainda é possível, mas o comando git-filter-branch é quase um convite pra isso.  Caso tenha sorte, a única desvantagem é que os usuários fiquem frustrados por não saberem como encolher o seu repositório e remover as coisas antigas.  Caso tenha azar, eles mesclam o histórico antigo e o novo e acabam com várias "cópias" de cada commit, algumas das quais com arquivos confidenciais ou indesejados e outras que não.  Isso ocorre de várias maneiras diferentes:

note: type: Plain text
en: the default to only doing a partial history rewrite ('--all' is not the default and few examples show it)
pt_BR: a predefinição para reescrever apenas um histórico parcial ('--all' não é a predefinição e poucos exemplos o mostram)

note: type: Plain text
en: the fact that there's no automatic post-run cleanup
pt_BR: o fato de não haver limpeza automática após a execução

note: type: Plain text
en: the fact that --tag-name-filter (when used to rename tags) doesn't remove the old tags but just adds new ones with the new name
pt_BR: o fato da opção `--tag-name-filter` (quando usado para renomear as tags) não remover as tags antigas, mas apenas adicionar novas com um novo nome

note: type: Plain text
en: the fact that little educational information is provided to inform users of the ramifications of a rewrite and how to avoid mixing old and new history.  For example, this man page discusses how users need to understand that they need to rebase their changes for all their branches on top of new history (or delete and reclone), but that's only one of multiple concerns to consider.  See the "DISCUSSION" section of the git filter-repo manual page for more details.
pt_BR: o fato de poucas informações educacionais serem fornecidas aos usuários das ramificações de uma reescrita e como evitar misturar o histórico antigo e o novo.  Por exemplo, esta página do manual discute como os usuários precisam entender que precisam refazer as suas alterações para todas as suas ramificações no topo do novo histórico (ou excluir ou refazer a clonagem), porém essa é apenas uma das várias preocupações a serem consideradas.  Para mais detalhes, consulte a seção "DISCUSSÃO" da página do manual do 'filter-repo'.

note: type: Plain text
en: Annotated tags can be accidentally converted to lightweight tags, due to either of two issues:
pt_BR: As tags anotadas podem ser convertidas acidentalmente em tags leves, devido a um de dois problemas:

note: type: Plain text
en: Someone can do a history rewrite, realize they messed up, restore from the backups in refs/original/, and then redo their git-filter-branch command.  (The backup in refs/original/ is not a real backup; it dereferences tags first.)
pt_BR: Alguém pode reescrever o histórico, perceber que errou, restaurar a partir de um dos backups no 'refs/original/' e depois refazer o comando 'git-filter-branch'.  (O backup no 'refs/original/' não é um backup real; ele primeiro remove a referência das tags.)

note: type: Plain text
en: Running git-filter-branch with either --tags or --all in your <rev-list options>.  In order to retain annotated tags as annotated, you must use --tag-name-filter (and must not have restored from refs/original/ in a previously botched rewrite).
pt_BR: Execute o comando 'git-filter-branch' com '--tags' ou '--all' mas suas `<opções da rev-list>`.  Para manter as tags que já estejam anotadas como anotadas, utilize '--tag-name-filter' (não deve ter sido restaurado a partir de um 'refs/original/' vindo anteriormente de uma reescrita danificada).

note: type: Plain text
en: Any commit messages that specify an encoding will become corrupted by the rewrite; git-filter-branch ignores the encoding, takes the original bytes, and feeds it to commit-tree without telling it the proper encoding.  (This happens whether or not --msg-filter is used.)
pt_BR: Qualquer mensagem dos commits que defina uma codificação, se tornará corrompida pela reescrita; O 'git-filter-branch' ignora a codificação, pega os bytes originais e o alimenta para a árvore do commit sem informar a codificação adequada.  (Isso ocorre caso o filtro `--msg-filter` seja utilizado ou não.)

note: type: Plain text
en: Commit messages (even if they are all UTF-8) by default become corrupted due to not being updated -- any references to other commit hashes in commit messages will now refer to no-longer-extant commits.
pt_BR: É predefinido que as mensagens dos commits (mesmo que todas sejam UTF-8) fiquem corrompidas por não serem atualizadas -- quaisquer referências a outros hashes dos commits, nas mensagens dos commits, agora se referem a commits que não existem mais.

note: type: Plain text
en: There are no facilities for helping users find what unwanted crud they should delete, which means they are much more likely to have incomplete or partial cleanups that sometimes result in confusion and people wasting time trying to understand.  (For example, folks tend to just look for big files to delete instead of big directories or extensions, and once they do so, then sometime later folks using the new repository who are going through history will notice a build artifact directory that has some files but not others, or a cache of dependencies (node_modules or similar) which couldn't have ever been functional since it's missing some files.)
pt_BR: Não há facilidades para ajudar os usuários a encontrarem os itens indesejados que devem ser excluídos, o que significa que são muito mais propensos a fazer limpezas incompletas ou parciais que às vezes resultam em confusão e pessoas perdendo tempo tentando compreender.  (Como, por exemplo, as pessoas tendem a procurar excluir apenas os arquivos grandes, em vez dos grandes diretórios ou extensões, e uma vez que o fazem algum tempo depois, as pessoas que usam o novo repositório que estão passando pelo histórico notarão alguns artefatos de construção onde alguns arquivos existem e outros não, ou um cache com dependências (node_modules ou similar) que nunca poderiam estar funcionais, pois alguns arquivos estão faltando.)

note: type: Plain text
en: If --prune-empty isn't specified, then the filtering process can create hoards of confusing empty commits
pt_BR: Caso a opção `--prune-empty` não seja utilizado, o processo de filtragem poderá criar hordas confusas com commits vazios

note: type: Plain text
en: If --prune-empty is specified, then intentionally placed empty commits from before the filtering operation are also pruned instead of just pruning commits that became empty due to filtering rules.
pt_BR: Caso a opção `--prune-empty` seja utilizado, os commits vazios que foram intencionalmente colocados antes da operação de filtragem também serão removidos, em vez de apenas os commits removidos que ficaram vazios devido às regras de filtragem.

note: type: Plain text
en: If --prune-empty is specified, sometimes empty commits are missed and left around anyway (a somewhat rare bug, but it happens...)
pt_BR: Caso a opção `--prune-empty` seja utilizado, algumas vezes os commits vazios são perdidos e deixados de qualquer maneira (um bug um tanto raro, mas acontece...)

note: type: Plain text
en: A minor issue, but users who have a goal to update all names and emails in a repository may be led to --env-filter which will only update authors and committers, missing taggers.
pt_BR: Um problema menor, porém os usuários que têm o objetivo de atualizar todos os nomes e os e-mails em um repositório podem ser levados ao '--env-filter', que atualizará apenas os autores e que fez os commits, sem as tags.

note: type: Plain text
en: If the user provides a --tag-name-filter that maps multiple tags to the same name, no warning or error is provided; git-filter-branch simply overwrites each tag in some undocumented pre-defined order resulting in only one tag at the end.  (A git-filter-branch regression test requires this surprising behavior.)
pt_BR: Caso o usuário utilize um comando `--tag-name-filter` que mapeie várias tags para o mesmo nome, nenhum aviso ou erro será exibido; O comando `git-filter-branch` simplesmente sobrescreve cada tag em uma ordem predefinida não documentada, resultando em apenas uma tag no final.  (Um teste de regressão `git-filter-branch` requer este comportamento.)

note: type: Plain text
en: Also, the poor performance of git-filter-branch often leads to safety issues:
pt_BR: Além disso, o baixo desempenho do comando 'git-filter-branch' geralmente leva a problemas de segurança:

note: type: Plain text
en: Coming up with the correct shell snippet to do the filtering you want is sometimes difficult unless you're just doing a trivial modification such as deleting a couple files.  Unfortunately, people often learn if the snippet is right or wrong by trying it out, but the rightness or wrongness can vary depending on special circumstances (spaces in filenames, non-ascii filenames, funny author names or emails, invalid timezones, presence of grafts or replace objects, etc.), meaning they may have to wait a long time, hit an error, then restart.  The performance of git-filter-branch is so bad that this cycle is painful, reducing the time available to carefully re-check (to say nothing about what it does to the patience of the person doing the rewrite even if they do technically have more time available).  This problem is extra compounded because errors from broken filters may not be shown for a long time and/or get lost in a sea of output.  Even worse, broken filters often just result in silent incorrect rewrites.
pt_BR: Chegar com o trecho shell correto para fazer a filtragem desejada algumas vezes é difícil, a menos que você não esteja fazendo uma alteração trivial como a exclusão de alguns arquivos.  Infelizmente, as pessoas geralmente aprendem se o trecho está certo ou errado ao testá-lo, porém o certo ou errado pode variar dependendo de circunstâncias especiais (espaços nos nomes dos arquivos, dos nomes dos arquivos não-ascii, nomes ou e-mails engraçados dos autores, fusos horários inválidos, a presença de enxertos ou a reposição dos objetos, etc.), o que significa que eles podem ter que esperar muito tempo, encontrar um erro e reiniciar.  O desempenho do comando 'git-filter-branch' é tão ruim que este ciclo é doloroso, reduzindo o tempo disponível para uma nova verificação mais cuidadosa (isso sem falar sobre o que isso faz com a paciência da pessoa que está reescrevendo, ainda que tecnicamente tenham mais recursos e tempo disponível).  Este problema é mais complexo porque os erros vindos dos filtros quebrados podem não ser exibidos por um longo período de tempo e/ou estarem perdidos uma imensidão do que for gerado.  Pior ainda, os filtros quebrados geralmente resultam em reescritas incorretas e silenciosas.

note: type: Plain text
en: To top it all off, even when users finally find working commands, they naturally want to share them.  But they may be unaware that their repo didn't have some special cases that someone else's does.  So, when someone else with a different repository runs the same commands, they get hit by the problems above.  Or, the user just runs commands that really were vetted for special cases, but they run it on a different OS where it doesn't work, as noted above.
pt_BR: E acima de tudo, mesmo quando os usuários finalmente encontram os comandos que funcionam, eles naturalmente querem compartilhá-los.  Porém eles podem não estar cientes que o repositório deles não teve algumas questões especiais que outros tiveram.  Portanto, quando alguém com um repositório diferente executa os mesmos comandos, é atingido pelos problemas acima.  Ou então, o usuário apenas executa os comandos que foram realmente examinados para questões especiais, mas eles o executam em um sistema operacional diferente, onde não funciona, conforme observado acima.

note: type: Plain text
en: git-fmt-merge-msg - Produce a merge commit message
pt_BR: git-fmt-merge-msg - Gera uma mensagem de commit da mesclagem

note: type: Plain text
en: 'git fmt-merge-msg' [-m <message>] [--log[=<n>] | --no-log]
    'git fmt-merge-msg' [-m <message>] [--log[=<n>] | --no-log] -F <file>
pt_BR: 'git fmt-merge-msg' [-m <mensagem>] [--log[=<n>] | --no-log]
    'git fmt-merge-msg' [-m <mensagem>] [--log[=<n>] | --no-log] -F <arquivo>

note: type: Plain text
en: Takes the list of merged objects on stdin and produces a suitable commit message to be used for the merge commit, usually to be passed as the '<merge-message>' argument of 'git merge'.
pt_BR: Pega a lista de objetos mesclados no stdin e gera uma mensagem adequada para o commit, que foi mesclado, geralmente ser utilizada como '<mensagem-da-mesclagem>' que é um argumento do comando 'git merge'.

note: type: Plain text
en: This command is intended mostly for internal use by scripts automatically invoking 'git merge'.
pt_BR: Primeiramente, este comando é destinado para uso interno com scripts que invocam automaticamente o 'git merge'.

note: type: Plain text
en: In addition to branch names, populate the log message with one-line descriptions from the actual commits that are being merged.  At most <n> commits from each merge parent will be used (20 if <n> is omitted).  This overrides the `merge.log` configuration variable.
pt_BR: Além dos nomes das ramificações, preencha a mensagem do registro log com descrições de uma linha dos commits que estão sendo mesclados atualmente.  Serão utilizadas no máximo <n> mesclagens dos commits de cada origem (20 caso <n> seja omitido).  Isso substitui a variável de configuração `merge.log`.

note: type: Plain text
en: Do not list one-line descriptions from the actual commits being merged.
pt_BR: Não liste os descritivos de uma linha dos commits atuais que estão sendo mescladas.

note: type: Plain text
en: Synonyms to --log and --no-log; these are deprecated and will be removed in the future.
pt_BR: É um sinônimos para `--log` e `--no-log`; estas opções foram descontinuadas e serão removidas no futuro.

note: type: Labeled list
en: --message <message>
pt_BR: --message <mensagem>

note: type: Plain text
en: Use <message> instead of the branch names for the first line of the log message.  For use with `--log`.
pt_BR: Para a primeira linha da mensagem do registro log utilize `<mensagem>` em vez dos nomes das ramificações.  Para usar com `--log`.

note: type: Labeled list
en: --file <file>
pt_BR: --file <arquivo>

note: type: Plain text
en: Take the list of merged objects from <file> instead of stdin.
pt_BR: Pegue a lista dos objetos mesclados de <arquivo> em vez do stdin.

note: type: Plain text
en: Synonym to `merge.log`; this is deprecated and will be removed in the future.
pt_BR: É um sinônimo para `merge.log`; estas opções foram descontinuadas e serão removidas no futuro.

note: type: Plain text
en: Print a log message describing a merge of the "master" branch from the "origin" remote.
pt_BR: Imprima uma mensagem do registro log descrevendo uma mesclagem do ramo "master" no ramo remoto "origin".

note: type: Plain text
en: git-for-each-ref - Output information on each ref
pt_BR: git-for-each-ref - Informações de saída de cada referência

note: type: Plain text
en: 'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]
    		   [(--sort=<key>)...] [--format=<format>] [<pattern>...]
    		   [--points-at=<object>]
    		   (--merged[=<object>] | --no-merged[=<object>])
    		   [--contains[=<object>]] [--no-contains[=<object>]]
pt_BR: 'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]
    		   [(--sort=<chave>)...] [--format=<formato>] [<padrão>...]
    		   [--points-at=<objeto>]
    		   (--merged[=<objeto>] | --no-merged[=<objeto>])
    		   [--contains[=<objeto>]] [--no-contains[=<objeto>]]

note: type: Plain text
en: Iterate over all refs that match `<pattern>` and show them according to the given `<format>`, after sorting them according to the given set of `<key>`.  If `<count>` is given, stop after showing that many refs.  The interpolated values in `<format>` can optionally be quoted as string literals in the specified host language allowing their direct evaluation in that language.
pt_BR: Reitere todos as referências que coincidam com `<padrão>` e mostre-os de acordo com o `<formato>` utilizado depois de classificá-los de acordo com o conjunto informado por `<chave>`.  Caso `<count>` seja utilizado, pare depois de exibir referências demais.  Os valores interpolados no `<formato>` podem opcionalmente ser citados como literais de uma cadeia de caracteres no idioma do host utilizado, permitindo a sua avaliação direta neste idioma.

note: type: Labeled list
en: <pattern>...
pt_BR: <padrão>...

note: type: Plain text
en: If one or more patterns are given, only refs are shown that match against at least one pattern, either using fnmatch(3) or literally, in the latter case matching completely or from the beginning up to a slash.
pt_BR: Caso uma ou mais padrões sejam utilizados, serão exibidos apenas as referências que coincidam com um dos padrões apresentados utilizando fnmatch(3) ou literal, neste último caso, apenas caso coincida completamente seja desde o início ou até uma barra.

note: type: Plain text
en: By default the command shows all refs that match `<pattern>`.  This option makes it stop after showing that many refs.
pt_BR: É predefinido que o comando exiba todos as referências que coincidam com `<padrão>`.  Esta opção define um limite de quantidade para parar após a exibição de `<count>` referências.

note: type: Plain text
en: A field name to sort on.  Prefix `-` to sort in descending order of the value.  When unspecified, `refname` is used.  You may use the --sort=<key> option multiple times, in which case the last key becomes the primary key.
pt_BR: A field name to sort on.  O prefixo `-` é utilizado para classificar em ordem decrescente.  When unspecified, `refname` is used.  Você pode utilizar a opção `--sort=<chave>` mais de uma vez; nesse caso, a última chave se torna a chave primária.

note: type: Labeled list
en: --format=<format>
pt_BR: --format=<formato>

note: type: Plain text
en: A string that interpolates `%(fieldname)` from a ref being shown and the object it points at.  If `fieldname` is prefixed with an asterisk (`*`) and the ref points at a tag object, use the value for the field in the object which the tag object refers to (instead of the field in the tag object).  When unspecified, `<format>` defaults to `%(objectname) SPC %(objecttype) TAB %(refname)`.  It also interpolates `%%` to `%`, and `%xx` where `xx` are hex digits interpolates to character with hex code `xx`; for example `%00` interpolates to `\0` (NUL), `%09` to `\t` (TAB) and `%0a` to `\n` (LF).
pt_BR: Uma cadeia de caracteres que interpola `%(fieldname)` vindo de uma referência sendo exibida e o objeto para o qual aponta.  Caso `fieldname` seja prefixada com um asterisco (`*`) e a referência aponte para um objeto tag, utilize o valor do campo no objeto ao qual o objeto tag se refere (em vez do campo no objeto tag).  Quando não especificado, o `<formato>` retorna para a predefinição `%(objectname) SPC %(objecttype) TAB %(refname)`.  Também interpola `%%` para `%` e `% xx` onde `xx` são dígitos hexadecimais interpolados com caracteres que tenha um código hexadecimal `xx`; `% 00` interpola para `\0` (NUL) por exemplo, `%09` para `\t` (TAB) e `%0a` para `\n` (LF).

note: type: Plain text
en: Respect any colors specified in the `--format` option. The `<when>` field must be one of `always`, `never`, or `auto` (if `<when>` is absent, behave as if `always` was given).
pt_BR: Respeite todas as cores especificadas com a opção `--format`. O campo `<quando>` deve ser `always`, `never` ou `auto` (comporte-se como `always` caso `<quando>` esteja ausente).

note: type: Plain text
en: If given, strings that substitute `%(fieldname)` placeholders are quoted as string literals suitable for the specified host language.  This is meant to produce a scriptlet that can directly be `eval`ed.
pt_BR: Se informado, as strings que substituem os espaços reservados `% (fieldname)` são citadas como literais de strings adequadas para o idioma do host especificado.  Isso tem a intenção de produzir um "scriptlet" que possa ser diretamente "avaliado".

note: type: Labeled list
en: --points-at=<object>
pt_BR: --points-at=<objeto>

note: type: Plain text
en: Only list refs which points at the given object.
pt_BR: Listar apenas as referências que apontem para o objeto especificado.

note: type: Labeled list
en: --merged[=<object>]
pt_BR: --merged[=<objeto>]

note: type: Plain text
en: Only list refs whose tips are reachable from the specified commit (HEAD if not specified), incompatible with `--no-merged`.
pt_BR: Liste apenas as referências cujas dicas são acessíveis a partir do commit especificado (ou HEAD caso nenhum seja especificado). A opção é incompatível com `--no-merged`.

note: type: Labeled list
en: --no-merged[=<object>]
pt_BR: --no-merged[=<objeto>]

note: type: Plain text
en: Only list refs whose tips are not reachable from the specified commit (HEAD if not specified), incompatible with `--merged`.
pt_BR: Liste apenas as referências cujas dicas não podem ser acessadas a partir do commit especificado (ou HEAD caso nenhum seja especificado). A opção é incompatível com `--merged`.

note: type: Labeled list
en: --contains[=<object>]
pt_BR: --contains[=<objeto>]

note: type: Plain text
en: Only list refs which contain the specified commit (HEAD if not specified).
pt_BR: Liste apenas as referências que contenham os commits especificados (ou HEAD caso nenhum seja especificado).

note: type: Labeled list
en: --no-contains[=<object>]
pt_BR: --no-contains[=<objeto>]

note: type: Plain text
en: Only list refs which don't contain the specified commit (HEAD if not specified).
pt_BR: Listar apenas as referências que não contenham os commits especificados (ou HEAD caso nenhum seja especificado).

note: type: Plain text
en: Sorting and filtering refs are case insensitive.
pt_BR: As referências de classificação e filtragem não diferenciam as maiúsculas de minúsculas.

note: type: Title -
en: FIELD NAMES
pt_BR: NOME DOS CAMPOS

note: type: Plain text
en: Various values from structured fields in referenced objects can be used to interpolate into the resulting output, or as sort keys.
pt_BR: Há vários valores dos campos estruturados nas referências dos objetos que podem ser utilizados para interpolação da saída resultante ou como chaves de classificação.

note: type: Plain text
en: For all objects, the following names can be used:
pt_BR: Os seguintes nomes podem ser utilizados para todos os objetos, :

note: type: Plain text
en: The name of the ref (the part after $GIT_DIR/).  For a non-ambiguous short name of the ref append `:short`.  The option core.warnAmbiguousRefs is used to select the strict abbreviation mode. If `lstrip=<N>` (`rstrip=<N>`) is appended, strips `<N>` slash-separated path components from the front (back) of the refname (e.g. `%(refname:lstrip=2)` turns `refs/tags/foo` into `foo` and `%(refname:rstrip=2)` turns `refs/tags/foo` into `refs`).  If `<N>` is a negative number, strip as many path components as necessary from the specified end to leave `-<N>` path components (e.g. `%(refname:lstrip=-2)` turns `refs/tags/foo` into `tags/foo` and `%(refname:rstrip=-1)` turns `refs/tags/foo` into `refs`). When the ref does not have enough components, the result becomes an empty string if stripping with positive <N>, or it becomes the full refname if stripping with negative <N>.  Neither is an error.
pt_BR: O nome da referência "ref" (a parte após $GIT_DIR/).  Para um nome abreviado não ambíguo do ref, acrescente `: short`.  A opção `core.warnAmbiguousRefs` é utilizada para selecionar o modo estrito de abreviação. Caso `lstrip=<N>` (`rstrip=<N>`) for anexado, retira `<N>` dos componentes de caminho separados por barra da frente (traseira) do refname (`%(refname:lstrip=2)` por exemplo, transforma `refs/tags/foo` em `foo` e`%(refname:rstrip=2)` transforma `refs/tags/foo` em `refs`).  Caso `<N>` seja um número negativo, retire quantos componentes do caminho forem necessários do final especificado, deixando os componentes do caminho `-<N>`, por exemplo (`%(refname:lstrip=-2)` transforma `refs/tags/foo` em `tags/foo` e `%(refname:rstrip=-1)` transforma `refs/tags/foo` em `refs`). Quando uma ref não possui componentes suficientes, o resultado se torna uma cadeia de caracteres vazia caso seja removida com <N> positivo, ou se torna o refname completo caso seja removida com um <N> negativo.  Nenhum dos dois é um erro.

note: type: Plain text
en: `strip` can be used as a synonym to `lstrip`.
pt_BR: O `strip` pode ser utilizado como sinônimo de `lstrip`.

note: type: Plain text
en: The type of the object (`blob`, `tree`, `commit`, `tag`).
pt_BR: O tipo do objeto (`blob`, `tree`, `commit`, `tag`).

note: type: Plain text
en: The size of the object (the same as 'git cat-file -s' reports).  Append `:disk` to get the size, in bytes, that the object takes up on disk. See the note about on-disk sizes in the `CAVEATS` section below.
pt_BR: É o tamanho do objeto (o mesmo que relatórios 'git cat-file -s')  Acrescente `: disk` para saber o quanto o objeto ocupa no disco, em bytes. Consulte a nota sobre os tamanhos do disco na seção `RESSALVAS` abaixo.

note: type: Plain text
en: The object name (aka SHA-1).  For a non-ambiguous abbreviation of the object name append `:short`.  For an abbreviation of the object name with desired length append `:short=<length>`, where the minimum length is MINIMUM_ABBREV. The length may be exceeded to ensure unique object names.
pt_BR: O nome do objeto (também informado como SHA-1)  Para uma abreviação não ambígua do nome do objeto, adicione `: short`.  Para uma abreviação do nome do objeto com o comprimento desejado, inclua `:short=<comprimento>`, onde o comprimento mínimo é `MINIMUM_ABBREV`. O comprimento pode ser excedido para garantir que os nomes dos objetos sejam únicos.

note: type: Plain text
en: This expands to the object name of the delta base for the given object, if it is stored as a delta.  Otherwise it expands to the null object name (all zeroes).
pt_BR: Isso se expande para o nome do objeto da base delta para o objeto especificado, caso ele esteja armazenado como um delta.  Caso contrário, o objeto se expandirá para um nome nulo (todo zerado).

note: type: Plain text
en: The name of a local ref which can be considered ``upstream'' from the displayed ref. Respects `:short`, `:lstrip` and `:rstrip` in the same way as `refname` above.  Additionally respects `:track` to show "[ahead N, behind M]" and `:trackshort` to show the terse version: ">" (ahead), "<" (behind), "<>" (ahead and behind), or "=" (in sync). `:track` also prints "[gone]" whenever unknown upstream ref is encountered. Append `:track,nobracket` to show tracking information without brackets (i.e "ahead N, behind M").
pt_BR: É o nome de uma "ref" local que pode ser considerada ``upstream'' da "ref" que está sendo exibida. Respeita `:short`, `:lstrip` e `:rstrip` da mesma maneira que o `refname` acima.  Além disso, respeita também `:track` para exibir "[à frente N, atrás M]"e `:trackshort` para exibir a versão concisa: ">" (à frente), "<" (atrás), "<>" (à frente e atrás) ou "=" (em sincronia). `:track` também imprime "[gone]" sempre que uma "ref" "upstream" desconhecida seja encontrada. Acrescente `:track,nobracket` para exibir as informações de rastreamento sem colchetes (ou seja, "à frente de N, atrás de M").

note: type: Plain text
en: For any remote-tracking branch `%(upstream)`, `%(upstream:remotename)` and `%(upstream:remoteref)` refer to the name of the remote and the name of the tracked remote ref, respectively. In other words, the remote-tracking branch can be updated explicitly and individually by using the refspec `%(upstream:remoteref):%(upstream)` to fetch from `%(upstream:remotename)`.
pt_BR: Para qualquer ramificação monitorada remotamente como `%(upstream)`, `%(upstream:nomeremoto)` e `%(upstream:remoteref)` consulte o nome remoto e o nome "ref" monitorado remotamente e assim sucessivamente. Em outras palavras, o ramo monitorado remotamente pode ser atualizado de forma explicita ou individualmente utilizando o "refspec" `%(upstream:remoteref):%(upstream)` para que seja capturado em `%(upstream:remotename)`.

note: type: Plain text
en: Has no effect if the ref does not have tracking information associated with it.  All the options apart from `nobracket` are mutually exclusive, but if used together the last option is selected.
pt_BR: Não tem nenhum efeito caso o ref não tenha informações de rastreamento associadas a ele.  Todas as opções além de `nobracket` são mutuamente exclusivas, porém se utilizadas em conjunto, a última opção será selecionada.

note: type: Plain text
en: The name of a local ref which represents the `@{push}` location for the displayed ref. Respects `:short`, `:lstrip`, `:rstrip`, `:track`, `:trackshort`, `:remotename`, and `:remoteref` options as `upstream` does. Produces an empty string if no `@{push}` ref is configured.
pt_BR: O nome de uma "ref" local que representa a localização `@{push}` para uma ref que está sendo exibido. Respeita as opções `:short`, `:lstrip`, `:rstrip`, `:track`, `:trackshort`, `:remotename`, e `:remoteref`; assim como a opção `upstream`. Produz uma cadeia de caracteres vazia caso nenhum `@{push}` "ref" esteja configurada.

note: type: Plain text
en: '*' if HEAD matches current ref (the checked out branch), ' ' otherwise.
pt_BR: '*' caso HEAD corresponda à ref atual (a ramificação que foi verificada), caso contrário ' '.

note: type: Plain text
en: Change output color. Followed by `:<colorname>`, where color names are described under Values in the "CONFIGURATION FILE" section of linkgit:git-config[1].  For example, `%(color:bold red)`.
pt_BR: Muda a cor de saída. Seguido por `:<colorname>` onde os nomes das cores são descritos em Valores na seção "ARQUIVO DE CONFIGURAÇÃO" do linkgit:git-config[1].  Por exemplo, `%(color:bold red)`.

note: type: Plain text
en: Left-, middle-, or right-align the content between %(align:...) and %(end). The "align:" is followed by `width=<width>` and `position=<position>` in any order separated by a comma, where the `<position>` is either left, right or middle, default being left and `<width>` is the total length of the content with alignment. For brevity, the "width=" and/or "position=" prefixes may be omitted, and bare <width> and <position> used instead.  For instance, `%(align:<width>,<position>)`. If the contents length is more than the width then no alignment is performed. If used with `--quote` everything in between %(align:...) and %(end) is quoted, but if nested then only the topmost level performs quoting.
pt_BR: Alinhe o conteúdo à esquerda (Left-), ao meio (Middle-) ou à direita entre %(align:...) e %(end). O "align:" é seguido por `width=<largura>` e `position=<posição>` em qualquer ordem separado por vírgula, onde a `<posição>` é esquerda, direita ou meio, a predefinição retorna para esquerda e `<largura>` é o comprimento total do conteúdo com alinhamento. Por questões de brevidade, os prefixos "width=" ou "position=" podem ser omitidos, podendo ser utilizados <largura> e <posição> apenas.  Por exemplo, `%(align:<largura>,<posição>)`. Caso o comprimento do conteúdo seja maior que a largura, nenhum alinhamento será realizado. Se utilizado com `--quote`, tudo entre %(align:...) e %(end) será citado, porém se aninhado, a citação ocorrerá apenas no nível mais alto.

note: type: Plain text
en: Used as %(if)...%(then)...%(end) or %(if)...%(then)...%(else)...%(end).  If there is an atom with value or string literal after the %(if) then everything after the %(then) is printed, else if the %(else) atom is used, then everything after %(else) is printed. We ignore space when evaluating the string before %(then), this is useful when we use the %(HEAD) atom which prints either "*" or " " and we want to apply the 'if' condition only on the 'HEAD' ref.  Append ":equals=<string>" or ":notequals=<string>" to compare the value between the %(if:...) and %(then) atoms with the given string.
pt_BR: Utilizado como %(if)...%(then)...%(end) ou %(if)...%(then)...%(else)...%(end).  Caso haja um átomo com um valor ou uma cadeia de caracteres literal após o %(if), tudo após o %(then) será impresso; caso contrário, caso o átomo em %(else) seja utilizado, tudo será impresso após o %(else). Ignoramos o espaço ao avaliar uma cadeia de caracteres antes de %(then), isso é útil quando usamos o átomo %(HEAD) que imprime "*" ou " " e queremos aplicar a condição 'if' apenas no ref 'HEAD'.  Anexar ":equals=<texto>" ou ":notequals=<texto>" para comparar o valor entre os átomos de %(if:...) e %(then) com a sequência especificada.

note: type: Plain text
en: The ref which the given symbolic ref refers to. If not a symbolic ref, nothing is printed. Respects the `:short`, `:lstrip` and `:rstrip` options in the same way as `refname` above.
pt_BR: O ref ao qual determinado ref simbólico se refere. Caso não seja um ref simbólico, nada será impresso. Respeita as opções `:short`, `:lstrip` e `:rstrip` da mesma maneira que o `refname` acima.

note: type: Plain text
en: The absolute path to the worktree in which the ref is checked out, if it is checked out in any linked worktree. Empty string otherwise.
pt_BR: O caminho absoluto para a árvore de trabalho onde a "ref" foi averiguada, caso estiveja em qualquer árvore de trabalho vinculada. Caso contrário, uma sequência vazia.

note: type: Plain text
en: In addition to the above, for commit and tag objects, the header field names (`tree`, `parent`, `object`, `type`, and `tag`) can be used to specify the value in the header field.
pt_BR: Além do que foi dito acima para os objetos commit e tag, os nomes dos campos do cabeçalho (`tree`, `parent`, `object`, `type`, e `tag`) podem ser utilizados para especificar o valor no campo do cabeçalho.

note: type: Plain text
en: For commit and tag objects, the special `creatordate` and `creator` fields will correspond to the appropriate date or name-email-date tuple from the `committer` or `tagger` fields depending on the object type.  These are intended for working on a mix of annotated and lightweight tags.
pt_BR: Para os objetos commit e tag, os campos especiais `creatordate` e `creator` coincidirão com a data apropriada ou ao termo ordenado nome-email-data dos campos `committer` ou `tagger`, dependendo do tipo do objeto.  Estes são destinados para trabalhar com uma mistura de tags anotadas e leves.

note: type: Plain text
en: Fields that have name-email-date tuple as its value (`author`, `committer`, and `tagger`) can be suffixed with `name`, `email`, and `date` to extract the named component.
pt_BR: Os campos que possuam um termo ordenado nome-email-data como o valor (`autor`, `committer` e `tagger`) podem ser sufixados com `nome`, `email` e `data` para extrair o componente informado.

note: type: Plain text
en: The complete message in a commit and tag object is `contents`.  Its first line is `contents:subject`, where subject is the concatenation of all lines of the commit message up to the first blank line.  The next line is `contents:body`, where body is all of the lines after the first blank line.  The optional GPG signature is `contents:signature`.  The first `N` lines of the message is obtained using `contents:lines=N`.  Additionally, the trailers as interpreted by linkgit:git-interpret-trailers[1] are obtained as `trailers` (or by using the historical alias `contents:trailers`).  Non-trailer lines from the trailer block can be omitted with `trailers:only`. Whitespace-continuations can be removed from trailers so that each trailer appears on a line by itself with its full content with `trailers:unfold`. Both can be used together as `trailers:unfold,only`.
pt_BR: A mensagem completa em um objeto commit e tag são `conteúdos`.  A sua primeira linha é `contents:subject` onde "subject" (assunto) é a concatenação de todas as linhas da mensagem do commit até a primeira linha em branco.  A próxima linha é `contents:body`, onde "body" (corpo da mensagem) são todas as linhas após a primeira linha em branco.  A assinatura opcional GPG é `contents:signature`.  As primeiras `N` linhas da mensagem são obtidas usando `contents:lines=N`.  Além disso, os trailers interpretados através do linkgit:git-interpret-trailers[1] são obtidos como `caractere de resposta` (ou utilizando o alias do histórico `contents:trailers`).  As linhas que não forem caractere de resposta do bloco dos caracteres de resposta, podem ser omitidos com `trailers:only`. As continuações dos espaços podem ser removidos dos caracteres de resposta, para que cada caractere apareça em uma linha por si só e com o seu conteúdo completo, utilizando `trailers:unfold`. Ambos podem ser utilizados juntos como `trailers:unfold,only`.

note: type: Plain text
en: For sorting purposes, fields with numeric values sort in numeric order (`objectsize`, `authordate`, `committerdate`, `creatordate`, `taggerdate`).  All other fields are used to sort in their byte-value order.
pt_BR: Para fins de classificação, os campos com os valores numéricos são classificados em ordem numérica (`objectsize`, `authordate`, `committerdate`, `creatordate`, `taggerdate`).  Todos os outros campos são utilizados para classificar a sua ordem em valor de bytes.

note: type: Plain text
en: There is also an option to sort by versions, this can be done by using the fieldname `version:refname` or its alias `v:refname`.
pt_BR: Também existe uma opção de classificação por versões utilizando o nome do campo `version:refnamee` ou o seu apelido `v:refname`.

note: type: Plain text
en: In any case, a field name that refers to a field inapplicable to the object referred by the ref does not cause an error.  It returns an empty string instead.
pt_BR: De qualquer forma, nenhum erro é gerado caso um nome do campo seja referido a um campo inaplicável ao objeto "ref".  Ele retorna uma cadeia de caracteres vazia.

note: type: Plain text
en: As a special case for the date-type fields, you may specify a format for the date by adding `:` followed by date format name (see the values the `--date` option to linkgit:git-rev-list[1] takes).
pt_BR: Como um caso especial para os campos do tipo data, você pode especificar um formato para a data adicionando `:` seguido pelo nome do formato da data (veja quais os valores a opção `--date` assume em linkgit:git-rev-list[1]).

note: type: Plain text
en: Some atoms like %(align) and %(if) always require a matching %(end).  We call them "opening atoms" and sometimes denote them as %($open).
pt_BR: Alguns átomos como %(align) e %(if) sempre exige que um %(end) coincida.  Nós os chamamos de "átomos de abertura" e às vezes os denotamos como %($open).

note: type: Plain text
en: When a scripting language specific quoting is in effect, everything between a top-level opening atom and its matching %(end) is evaluated according to the semantics of the opening atom and only its result from the top-level is quoted.
pt_BR: Quando uma citação específica da linguagem de script está em vigor, tudo entre um átomo de abertura no topo do nível e o seu %(end) correspondente é avaliado de acordo com a semântica do átomo de abertura e apenas o resultado do topo seja citado.

note: type: Plain text
en: An example directly producing formatted text.  Show the most recent 3 tagged commits:
pt_BR: Um exemplo que produz diretamente um texto formatado.  Exibe as tags dos 3 commits mais recentes:

note: type: Plain text
en: A simple example showing the use of shell eval on the output, demonstrating the use of --shell.  List the prefixes of all heads:
pt_BR: Um exemplo simples exibindo a utilização da saída do "eval" no shell, demonstrando a utilização da opção `--shell`.  Liste os prefixos de todos os "heads":

note: type: Plain text
en: A bit more elaborate report on tags, demonstrating that the format may be an entire script:
pt_BR: Um relatório um pouco mais elaborado sobre as tags, demonstrando que o formato pode ser um script inteiro:

note: type: delimited block -
en: 	kind=Tag
    	if test "z$t" = z
    	then
    		# could be a lightweight tag
    		t=%(objecttype)
    		kind="Lightweight tag"
    		o=%(objectname)
    		n=%(authorname)
    		e=%(authoremail)
    		s=%(subject)
    		d=%(authordate)
    		b=%(body)
    	fi
    	echo "$kind $T points at a $t object $o"
    	if test "z$t" = zcommit
    	then
    		echo "The commit was authored by $n $e
    at $d, and titled
pt_BR: 	kind=Tag
    	if test "z$t" = z
    	then
    		# could be a lightweight tag
    		t=%(objecttype)
    		kind="Lightweight tag"
    		o=%(objectname)
    		n=%(authorname)
    		e=%(authoremail)
    		s=%(subject)
    		d=%(authordate)
    		b=%(body)
    	fi
    	echo "$kind $T points at a $t object $o"
    	if test "z$t" = zcommit
    	then
    		echo "O commit foi criado por $n $e
    at $d, and titled

note: type: delimited block -
en: Its message reads as:
    "
    		echo "$b" | sed -e "s/^/    /"
    		echo
    	fi
    '
pt_BR: A sua mensagem diz:
    "
    		echo "$b" | sed -e "s/^/    /"
    		echo
    	fi
    '

note: type: Plain text
en: An example to show the usage of %(if)...%(then)...%(else)...%(end).  This prefixes the current branch with a star.
pt_BR: Um exemplo para exibir a utilização de %(if)...%(then)...%(else)...%(end).  Isso prefixa o ramo atual com uma estrela.

note: type: Plain text
en: An example to show the usage of %(if)...%(then)...%(end).  This prints the authorname, if present.
pt_BR: Um exemplo para exibir a utilização de %(if)...%(then)...%(end).  Isso imprime o authorname (nome do autor), caso esteja presente.

note: type: delimited block -
en: git for-each-ref --format="%(refname)%(if)%(authorname)%(then) Authored by: %(authorname)%(end)"
pt_BR: git for-each-ref --format="%(refname)%(if)%(authorname)%(then) Criado por: %(authorname)%(end)"

note: type: Plain text
en: git-format-patch - Prepare patches for e-mail submission
pt_BR: git-format-patch - Preparar os patches para o envio de e-mails

note: type: Plain text
en: 'git format-patch' [-k] [(-o|--output-directory) <dir> | --stdout]
    		   [--no-thread | --thread[=<style>]]
    		   [(--attach|--inline)[=<boundary>] | --no-attach]
    		   [-s | --signoff]
    		   [--signature=<signature> | --no-signature]
    		   [--signature-file=<file>]
    		   [-n | --numbered | -N | --no-numbered]
    		   [--start-number <n>] [--numbered-files]
    		   [--in-reply-to=<message id>] [--suffix=.<sfx>]
    		   [--ignore-if-in-upstream]
    		   [--cover-from-description=<mode>]
    		   [--rfc] [--subject-prefix=<subject prefix>]
    		   [(--reroll-count|-v) <n>]
    		   [--to=<email>] [--cc=<email>]
    		   [--[no-]cover-letter] [--quiet]
    		   [--[no-]encode-email-headers]
    		   [--no-notes | --notes[=<ref>]]
    		   [--interdiff=<previous>]
    		   [--range-diff=<previous> [--creation-factor=<percent>]]
    		   [--progress]
    		   [<common diff options>]
    		   [ <since> | <revision range> ]
pt_BR: 'git format-patch' [-k] [(-o|--output-directory) <dir> | --stdout]
    		   [--no-thread | --thread[=<estilo>]]
    		   [(--attach|--inline)[=<limite>] | --no-attach]
    		   [-s | --signoff]
    		   [--signature=<assinatura> | --no-signature]
    		   [--signature-file=<arquivo>]
    		   [-n | --numbered | -N | --no-numbered]
    		   [--start-number <n>] [--numbered-files]
    		   [--in-reply-to=<id-da-mensagem>] [--suffix=.<sfx>]
    		   [--ignore-if-in-upstream]
    		   [--cover-from-description=<modo>]
    		   [--rfc] [--subject-prefix=<subject prefix>]
    		   [(--reroll-count|-v) <n>]
    		   [--to=<e-mail>] [--cc=<e-mail>]
    		   [--[no-]cover-letter] [--quiet]
    		   [--[no-]encode-email-headers]
    		   [--no-notes | --notes[=<ref>]]
    		   [--interdiff=<anterior>]
    		   [--range-diff=<anterior> [--creation-factor=<percent>]]
    		   [--progress]
    		   [<opções-comuns-ao-diff>]
    		   [ <desde> | <faixa-da-revisão> ]

note: type: Plain text
en: Prepare each commit with its patch in one file per commit, formatted to resemble UNIX mailbox format.  The output of this command is convenient for e-mail submission or for use with 'git am'.
pt_BR: Prepare cada commit com o seu respectivo patch em um arquivo, formatado para que se assemelhe com uma caixa de correio UNIX.  A saída deste comando é conveniente para o envio de um e-mail ou para a utilização com 'git am'.

note: type: Plain text
en: There are two ways to specify which commits to operate on.
pt_BR: Existem duas maneiras de especificar em quais commits operar.

note: type: Plain text
en: A single commit, <since>, specifies that the commits leading to the tip of the current branch that are not in the history that leads to the <since> to be output.
pt_BR: Um único commit, `<since>`, determina que os commits que levem ao cume do ramo atual que não estão no histórico que levem ao `<since>` para ser gerado.

note: type: Plain text
en: Generic <revision range> expression (see "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7]) means the commits in the specified range.
pt_BR: Expressão genérica do <intervalo da revisão> (consulte a seção "DEFININDO AS REVISÕES" no linkgit:gitrevisions[7]) define os commits no intervalo especificado.

note: type: Plain text
en: The first rule takes precedence in the case of a single <commit>.  To apply the second rule, i.e., format everything since the beginning of history up until <commit>, use the `--root` option: `git format-patch --root <commit>`.  If you want to format only <commit> itself, you can do this with `git format-patch -1 <commit>`.
pt_BR: A primeira regra tem precedência no caso de um único `<commit>`.  Para aplicar a segunda regra, formate tudo desde o início do histórico até `<commit>`, utilize a opção `--root`, por exemplo: `git format-patch --root <commit>`.  Caso queira formatar apenas o `<commit>` em si, faça com `git format-patch -1 <commit>`.

note: type: Plain text
en: By default, each output file is numbered sequentially from 1, and uses the first line of the commit message (massaged for pathname safety) as the filename. With the `--numbered-files` option, the output file names will only be numbers, without the first line of the commit appended.  The names of the output files are printed to standard output, unless the `--stdout` option is specified.
pt_BR: É predefinido que cada arquivo de saída seja numerado sequencialmente a partir de 1 e usa a primeira linha da mensagem do commit (trabalhada para a segurança do pathname) como o pathname. Com a opção `--numbered-files`, os nomes dos arquivos na saída serão apenas números, sem a primeira linha anexada do commit.  Os nomes dos arquivos na saída são impressos na saída padrão a menos que a opção `--stdout` seja utilizada.

note: type: Plain text
en: If `-o` is specified, output files are created in <dir>.  Otherwise they are created in the current working directory. The default path can be set with the `format.outputDirectory` configuration option.  The `-o` option takes precedence over `format.outputDirectory`.  To store patches in the current working directory even when `format.outputDirectory` points elsewhere, use `-o .`. All directory components will be created.
pt_BR: Caso a opção `-o` seja utilizada, os arquivos gerados serão criados no <dir>.  Caso contrário, eles serão criados no diretório de trabalho atual. O caminho predefinido pode ser definido com a opção de configuração `format.outputDirectory`.  A opção `-o` tem precedência sobre a opção de configuração `format.outputDirectory`.  Para armazenar as correções no diretório de trabalho atual, mesmo quando a opção de configuração `format.outputDirectory` apontar para um outro lugar, utilize `-o .`. Todos os componentes do diretório serão criados.

note: type: Plain text
en: By default, the subject of a single patch is "[PATCH] " followed by the concatenation of lines from the commit message up to the first blank line (see the DISCUSSION section of linkgit:git-commit[1]).
pt_BR: É predefinido que o assunto de um único patch seja "[PATCH]" seguido da concatenação das linhas da mensagem do commit até a primeira linha em branco (consulte a seção DISCUSSÃO em linkgit:git-commit[1]).

note: type: Plain text
en: When multiple patches are output, the subject prefix will instead be "[PATCH n/m] ".  To force 1/1 to be added for a single patch, use `-n`.  To omit patch numbers from the subject, use `-N`.
pt_BR: Quando vários patches são produzidos, o prefixo do assunto será "[PATCH n/m] ".  Para forçar a adição 1/1 para um único patch, utilize `-n`.  Para omitir os números do assunto, utilize `-N`.

note: type: Plain text
en: If given `--thread`, `git-format-patch` will generate `In-Reply-To` and `References` headers to make the second and subsequent patch mails appear as replies to the first mail; this also generates a `Message-Id` header to reference.
pt_BR: Caso a opção `--thread` seja utilizada, o ` git-format-patch` irá gerar cabeçalhos `In-Reply-To` (Em-Resposta-Para) e `References` para fazer com que o e-mail do segundo e subsequentes patches apareçam como resposta ao primeiro e-mail; isso também gera um cabeçalho `Message-Id` para a referência.

note: type: Plain text
en: Prepare patches from the topmost <n> commits.
pt_BR: Prepare os patches a partir do `<n>` do nível mais alto dos commits.

note: type: Plain text
en: Use <dir> to store the resulting files, instead of the current working directory.
pt_BR: Utilize `<dir>` para armazenar os arquivos resultantes em vez do diretório de trabalho atual.

note: type: Plain text
en: Name output in '[PATCH n/m]' format, even with a single patch.
pt_BR: Nomeie a saída no formato '[PATCH n/m]', mesmo que seja com um único patch.

note: type: Plain text
en: Name output in '[PATCH]' format.
pt_BR: Nomeie a saída no formato '[PATCH]'.

note: type: Plain text
en: Start numbering the patches at <n> instead of 1.
pt_BR: Comece a enumerar os patches a partir do <n> em vez de 1.

note: type: Plain text
en: Output file names will be a simple number sequence without the default first line of the commit appended.
pt_BR: Os nomes dos arquivos na saída serão uma sequência numérica simples sem a primeira linha predefinida do commit anexado.

note: type: Plain text
en: Do not strip/add '[PATCH]' from the first line of the commit log message.
pt_BR: Não retire/adicione '[PATCH]' da primeira linha da mensagem do registro log do commit.

note: type: Plain text
en: Add `Signed-off-by:` line to the commit message, using the committer identity of yourself.  See the signoff option in linkgit:git-commit[1] for more information.
pt_BR: Adicione a linha `Signed-off-by:` (Assinada por:) à mensagem do commit, utilizando a sua identidade.  Para mais informações sobre a assinatura na saída da mensagem, consulte em linkgit:git-commit[1].

note: type: Plain text
en: Print all commits to the standard output in mbox format, instead of creating a file for each one.
pt_BR: Imprima todos os commits na saída padrão no formato mbox em vez de criar um arquivo individual para cada um.

note: type: Labeled list
en: --attach[=<boundary>]
pt_BR: --attach[=<divisa>]

note: type: Plain text
en: Create multipart/mixed attachment, the first part of which is the commit message and the patch itself in the second part, with `Content-Disposition: attachment`.
pt_BR: Crie anexos com diversas partes/misto onde a primeira parte é a mensagem do commit e o próprio patch na segunda parte utilizando `Content-Disposition: attachment`.

note: type: Plain text
en: Disable the creation of an attachment, overriding the configuration setting.
pt_BR: Desative a criação de um anexo, substituindo a configuração predefinida.

note: type: Labeled list
en: --inline[=<boundary>]
pt_BR: --inline[=<divisa>]

note: type: Plain text
en: Create multipart/mixed attachment, the first part of which is the commit message and the patch itself in the second part, with `Content-Disposition: inline`.
pt_BR: Crie um anexo com diversas partes/misto onde a primeira parte é a mensagem do commit e o próprio patch na segunda parte utilizando `Content-Disposition: inline`.

note: type: Labeled list
en: --thread[=<style>]
pt_BR: --thread[=<estilo>]

note: type: Plain text
en: Controls addition of `In-Reply-To` and `References` headers to make the second and subsequent mails appear as replies to the first.  Also controls generation of the `Message-Id` header to reference.
pt_BR: Controla a adição dos cabeçalhos `In-Reply-To` (Em resposta a) e `References` para fazer com que o segundo e os emails subsequentes apareçam como respostas ao primeiro.  Também controla a geração do cabeçalho para a referência `Message-Id`.

note: type: Plain text
en: The optional <style> argument can be either `shallow` or `deep`.  'shallow' threading makes every mail a reply to the head of the series, where the head is chosen from the cover letter, the `--in-reply-to`, and the first patch mail, in this order.  'deep' threading makes every mail a reply to the previous one.
pt_BR: O argumento opcional <estilo> pode ser `shallow` (superficial) ou `deep` (profundo).  O argumento 'shallow' (superficial) faz com que todo o e-mail respondido para o cabeçalho da série onde o cabeçalho é selecionado nessa ordem, pela carta de apresentação, pelo `--in-reply-to` e pelo primeiro patch.  O argumento 'deep' (profundo) faz com que cada e-mail seja uma uma resposta ao anterior.

note: type: Plain text
en: The default is `--no-thread`, unless the `format.thread` configuration is set.  If `--thread` is specified without a style, it defaults to the style specified by `format.thread` if any, or else `shallow`.
pt_BR: A predefinição é `--no-thread`, a menos que a configuração `format.thread` esteja definida.  Caso `--thread` seja utilizado sem um estilo, a predefinição retorna para o estilo determinado na opção de configuração `format.thread` caso exista ou então, `shallow` (superficial).

note: type: Plain text
en: Beware that the default for 'git send-email' is to thread emails itself.  If you want `git format-patch` to take care of threading, you will want to ensure that threading is disabled for `git send-email`.
pt_BR: Lembre-se de que a predefinição para o comando 'git send-email' é encadear os próprios emails.  Caso queira que o comando `git format-patch` cuide do encadeamento, tenha certeza que o encadeamento esteja desativado para o comando `git send-email`.

note: type: Labeled list
en: --in-reply-to=<message id>
pt_BR: --in-reply-to=<id-da-mensagem>

note: type: Plain text
en: Make the first mail (or all the mails with `--no-thread`) appear as a reply to the given <message id>, which avoids breaking threads to provide a new patch series.
pt_BR: Faça com que o primeiro e-mail (ou todos os emails com `--no-thread`) apareça como uma resposta ao <id da mensagem> informado, o que evita quebras dos encadeamentos provendo uma nova série dos patches.

note: type: Plain text
en: Do not include a patch that matches a commit in <until>..<since>.  This will examine all patches reachable from <since> but not from <until> and compare them with the patches being generated, and any patch that matches is ignored.
pt_BR: Não inclua um patch que coincida a um commit em <until>..<since> (até..desde).  Examina todos os patches acessíveis a partir de <since> (desde), mas não a partir de <until> (até), os comparará com os patches que estão sendo gerados e qualquer patch coincidente será ignorado.

note: type: Plain text
en: Controls which parts of the cover letter will be automatically populated using the branch's description.
pt_BR: Controla quais as partes da carta de apresentação serão preenchidas automaticamente utilizando ao descritivo do ramo.

note: type: Plain text
en: If `<mode>` is `message` or `default`, the cover letter subject will be populated with placeholder text. The body of the cover letter will be populated with the branch's description. This is the default mode when no configuration nor command line option is specified.
pt_BR: Caso `<modo>` seja `message` ou `default`, o assunto da carta de apresentação será preenchido com um texto em um espaço reservado. O corpo da carta de apresentação será preenchido com a descrição do ramo. Este é o modo predefinido quando nenhuma configuração ou opção na linha de comando for utilizada.

note: type: Plain text
en: If `<mode>` is `subject`, the first paragraph of the branch description will populate the cover letter subject. The remainder of the description will populate the body of the cover letter.
pt_BR: Caso o `<modo>` seja `subject`, o primeiro parágrafo do descritivo do ramo preencherá o assunto da carta de apresentação. O restante do descritivo preencherá o corpo da carta de apresentação.

note: type: Plain text
en: If `<mode>` is `auto`, if the first paragraph of the branch description is greater than 100 bytes, then the mode will be `message`, otherwise `subject` will be used.
pt_BR: Caso `<modo>` seja `auto` e se o primeiro parágrafo do descritivo do ramo for maior que 100 bytes, o modo será `message`, caso contrário, o `subject` será utilizado.

note: type: Plain text
en: If `<mode>` is `none`, both the cover letter subject and body will be populated with placeholder text.
pt_BR: Caso `<modo>` seja `none`, tanto o assunto e o corpo da carta serão preenchidos com o texto do espaço reservado.

note: type: Plain text
en: Instead of the standard '[PATCH]' prefix in the subject line, instead use '[<subject prefix>]'. This allows for useful naming of a patch series, and can be combined with the `--numbered` option.
pt_BR: Em vez do prefixo '[PATCH]' predefinido na linha assunto, utilize '[<prefixo do assunto>]'. Permite a nomeação útil de uma série de patches e pode ser combinado com a opção `--numbered`.

note: type: Plain text
en: Alias for `--subject-prefix="RFC PATCH"`. RFC means "Request For Comments"; use this when sending an experimental patch for discussion rather than application.
pt_BR: É um atalho `--subject-prefix="RFC PATCH"`. O RFC significa "Solicitação de Comentários"; utilize isso ao enviar um patch experimental para que ele seja discutido em vez de um patch definitivo.

note: type: Plain text
en: Mark the series as the <n>-th iteration of the topic. The output filenames have `v<n>` prepended to them, and the subject prefix ("PATCH" by default, but configurable via the `--subject-prefix` option) has ` v<n>` appended to it.  E.g.  `--reroll-count=4` may produce `v4-0001-add-makefile.patch` file that has "Subject: [PATCH v4 1/20] Add makefile" in it.
pt_BR: Marque a série como a <n>-ésima iteração do tópico. Os nomes dos arquivos na saída têm `v<n>` anexado a eles e o prefixo do assunto (a predefinição retorna para "PATCH", porém pode ser alterado através da opção `--subject-prefix`).  Por exemplo. `--reroll-count=4` pode produzir o arquivo `v4-0001-add-makefile.patch` que contém "Assunto: [PATCH v4 1/20] Adicione o makefile".

note: type: Labeled list
en: --to=<email>
pt_BR: --to=<e-mail>

note: type: Plain text
en: Add a `To:` header to the email headers. This is in addition to any configured headers, and may be used multiple times.  The negated form `--no-to` discards all `To:` headers added so far (from config or command line).
pt_BR: Adicione um cabeçalho `Para:` nos cabeçalhos do email. É um acréscimo a qualquer cabeçalho configurado e pode ser utilizado várias vezes.  A forma negada da opção `--no-to` descarta todos os cabeçalhos `Para:` que foram adicionados até agora (seja da configuração ou da linha de comando).

note: type: Labeled list
en: --cc=<email>
pt_BR: --cc=<e-mail>

note: type: Plain text
en: Add a `Cc:` header to the email headers. This is in addition to any configured headers, and may be used multiple times.  The negated form `--no-cc` discards all `Cc:` headers added so far (from config or command line).
pt_BR: Adicione um cabeçalho `Cc:` (Com Cópia Para) aos cabeçalhos do email. É um acréscimo a qualquer cabeçalho configurado e pode ser utilizado várias vezes.  A forma negada da opção `--no-cc` descarta todos os cabeçalhos `Cc:` que foram adicionados até agora (seja da configuração ou da linha de comando).

note: type: Plain text
en: Use `ident` in the `From:` header of each commit email. If the author ident of the commit is not textually identical to the provided `ident`, place a `From:` header in the body of the message with the original author. If no `ident` is given, use the committer ident.
pt_BR: Utilize `ident` (identidade) no cabeçalho `De:` de cada email do commit. Caso o `ident` do autor do commit não seja textualmente idêntica ao `ident` informado, coloque um cabeçalho `De:` no corpo da mensagem com o autor original. Caso nenhum `ident` seja informado, utilize o `ident` de quem fez o commit.

note: type: Plain text
en: Note that this option is only useful if you are actually sending the emails and want to identify yourself as the sender, but retain the original author (and `git am` will correctly pick up the in-body header). Note also that `git send-email` already handles this transformation for you, and this option should not be used if you are feeding the result to `git send-email`.
pt_BR: Observe que esta opção só é útil caso esteja realmente enviando os e-mails e quiser se identificar como remetente mantendo o autor original (o `git am` pegará corretamente o cabeçalho interno). Observe também que o comando `git send-email` já lida com essa transformação para você, essa opção não deve ser utilizada caso esteja alimentando o resultado com o comando `git send-email`.

note: type: Labeled list
en: --add-header=<header>
pt_BR: --add-header=<cabeçalho>

note: type: Plain text
en: Add an arbitrary header to the email headers.  This is in addition to any configured headers, and may be used multiple times.  For example, `--add-header="Organization: git-foo"`.  The negated form `--no-add-header` discards *all* (`To:`, `Cc:`, and custom) headers added so far from config or command line.
pt_BR: Adicione um cabeçalho arbitrário aos cabeçalhos do e-mail.  É um acréscimo a qualquer cabeçalho configurado e pode ser utilizado várias vezes.  Por exemplo, `--add-header="Organization: git-foo"`.  O formulário negado `--no-add-header` descarta *todos* os cabeçalhos (`Para:`, `Cc:` e customizado) adicionados até agora na configuração ou na linha de comando.

note: type: Plain text
en: In addition to the patches, generate a cover letter file containing the branch description, shortlog and the overall diffstat.  You can fill in a description in the file before sending it out.
pt_BR: Além dos patches, gere uma carta de apresentação contendo no arquivo a descrição da ramificação, o "shortlog" e o "diffstat" geral.  Você pode preencher uma descrição no arquivo antes de enviá-lo.

note: type: Plain text
en: Encode email headers that have non-ASCII characters with "Q-encoding" (described in RFC 2047), instead of outputting the headers verbatim. Defaults to the value of the `format.encodeEmailHeaders` configuration variable.
pt_BR: Codifique os cabeçalhos do e-mail que possuam caracteres não ASCII com "Q-encoding" (descrito na RFC 2047), em vez de emitir os cabeçalhos de forma literal. A predefinição retorna para o valor da variável de configuração `format.encodeEmailHeaders`.

note: type: Labeled list
en: --interdiff=<previous>
pt_BR: --interdiff=<anterior>

note: type: Plain text
en: As a reviewer aid, insert an interdiff into the cover letter, or as commentary of the lone patch of a 1-patch series, showing the differences between the previous version of the patch series and the series currently being formatted. `previous` is a single revision naming the tip of the previous series which shares a common base with the series being formatted (for example `git format-patch --cover-letter --interdiff=feature/v1 -3 feature/v2`).
pt_BR: Como um auxílio ao revisor, insira um "interdiff" na carta de apresentação ou como um comentário único do patch de uma série de 1, exibindo as diferenças entre a versão anterior da série do patch e a série atualmente sendo formatada. `previous` (anterior) é uma única revisão que informa a ponta da série anterior que compartilha uma base comum com a série que está sendo formatada (`git format-patch --cover-letter --interdiff=feature/v1 -3 feature/v2` por exemplo).

note: type: Labeled list
en: --range-diff=<previous>
pt_BR: --range-diff=<anterior>

note: type: Plain text
en: As a reviewer aid, insert a range-diff (see linkgit:git-range-diff[1])  into the cover letter, or as commentary of the lone patch of a 1-patch series, showing the differences between the previous version of the patch series and the series currently being formatted.  `previous` can be a single revision naming the tip of the previous series if it shares a common base with the series being formatted (for example `git format-patch --cover-letter --range-diff=feature/v1 -3 feature/v2`), or a revision range if the two versions of the series are disjoint (for example `git format-patch --cover-letter --range-diff=feature/v1~3..feature/v1 -3 feature/v2`).
pt_BR: Como um assistente revisor, insira um "range-diff" (consulte linkgit:git-range-diff[1]) na carta de apresentação ou como um comentário do patch solitário da série de 1-patch, exibindo as diferenças entre a versão anterior da série de patches e a série atualmente sendo formatada.  O `previous` pode ser uma única revisão informando a ponta da série anterior, caso ela compartilhe uma base comum com a série que está sendo formatada (como por exemplo,o comando `git format-patch --cover-letter --range-diff=feature/v1 -3 feature/v2`), ou um intervalo das revisões caso as duas versões da série sejam separadas (como por exemplo, `git format-patch --cover-letter --range-diff=feature/v1~3..feature/v1 -3 feature/v2`).

note: type: Plain text
en: Note that diff options passed to the command affect how the primary product of `format-patch` is generated, and they are not passed to the underlying `range-diff` machinery used to generate the cover-letter material (this may change in the future).
pt_BR: Observe que as opções diff passadas ao comando afetam como o produto primário do `format-patch` será gerado, não são passadas para o mecanismo subjacente do `range-diff` usado para gerar o material da carta de apresentação (isso pode mudar no futuro).

note: type: Plain text
en: Used with `--range-diff`, tweak the heuristic which matches up commits between the previous and current series of patches by adjusting the creation/deletion cost fudge factor. See linkgit:git-range-diff[1])  for details.
pt_BR: Ao ser utilizado com a opção `--range-diff`, ajuste a heurística que coincida com os commits entre as séries de patches anteriores e atuais, ajustando o custo do fator de correção entre criação/exclusão. (Para mais detalhes, consulte linkgit:git-range-diff[1]).

note: type: Plain text
en: Append the notes (see linkgit:git-notes[1]) for the commit after the three-dash line.
pt_BR: Adiciona as anotações (consulte linkgit:git-notes[1]) para o commit depois da linha com três traços.

note: type: Plain text
en: The expected use case of this is to write supporting explanation for the commit that does not belong to the commit log message proper, and include it with the patch submission. While one can simply write these explanations after `format-patch` has run but before sending, keeping them as Git notes allows them to be maintained between versions of the patch series (but see the discussion of the `notes.rewrite` configuration options in linkgit:git-notes[1] to use this workflow).
pt_BR: É esperado que seja utilizado para escrever uma explicação de suporte para o commit que não pertença à mensagem do registro log do commit e seja incluída no envio do patch. Embora seja possível simplesmente escrever essas explicações após a execução do `format-patch`, antes do envio, mantê-las como notas do Git permite que elas sejam mantidas entre as versões da série de patches (ainda assim consulte a discussão das opções de configuração do `notes.rewrite` em linkgit:git-notes[1] para compreender este fluxo de trabalho).

note: type: Plain text
en: The default is `--no-notes`, unless the `format.notes` configuration is set.
pt_BR: A predefinição é `--no-notes`, a menos que a configuração `format.notes` esteja definida.

note: type: Labeled list
en: --[no-]signature=<signature>
pt_BR: --[no-]signature=<assinatura>

note: type: Plain text
en: Add a signature to each message produced. Per RFC 3676 the signature is separated from the body by a line with '-- ' on it. If the signature option is omitted the signature defaults to the Git version number.
pt_BR: Adicione uma assinatura em cada mensagem produzida. De acordo com a RFC 3676, a assinatura é separada do corpo por uma linha com '-- '. Caso a opção da assinatura seja omitida, a predefinição da assinatura retorna para o número da versão do Git.

note: type: Labeled list
en: --signature-file=<file>
pt_BR: --signature-file=<arquivo>

note: type: Plain text
en: Works just like --signature except the signature is read from a file.
pt_BR: Funciona exatamente como `--signature`, exceto que a assinatura é lida em um arquivo.

note: type: Plain text
en: Instead of using `.patch` as the suffix for generated filenames, use specified suffix.  A common alternative is `--suffix=.txt`.  Leaving this empty will remove the `.patch` suffix.
pt_BR: Em vez de usar `.patch` como o sufixo dos nomes dos arquivos gerados, utilize o sufixo especificado.  Uma alternativa comum é `--suffix=.txt`.  Deixando este campo vazio remove o sufixo `.patch`.

note: type: Plain text
en: Note that the leading character does not have to be a dot; for example, you can use `--suffix=-patch` to get `0001-description-of-my-change-patch`.
pt_BR: Observe que o caractere principal não precisa ser um ponto; você pode usar `suffix=patch` para obter `0001-description-of-my-change-patch` por exemplo.

note: type: Plain text
en: Do not print the names of the generated files to standard output.
pt_BR: Não imprima os nomes dos arquivos gerados na saída padrão.

note: type: Plain text
en: Do not output contents of changes in binary files, instead display a notice that those files changed.  Patches generated using this option cannot be applied properly, but they are still useful for code review.
pt_BR: Não reproduza o conteúdo das alterações em arquivos binários; em vez disso, exiba um aviso que estes arquivos foram alterados.  Os patches gerados utilizando esta opção não podem ser aplicados de forma adequada, porém ainda são úteis para a revisão do código.

note: type: Plain text
en: Output an all-zero hash in each patch's From header instead of the hash of the commit.
pt_BR: Gere um hash zerado no cabeçalho "From" de cada patch em vez do hash do commit.

note: type: Plain text
en: Record the base tree information to identify the state the patch series applies to.  See the BASE TREE INFORMATION section below for details. If <commit> is "auto", a base commit is automatically chosen. The `--no-base` option overrides a `format.useAutoBase` configuration.
pt_BR: Registre as informações da base da árvore que identifique a condição na qual a série de patches se aplica.  Consulte a seção INFORMAÇÃO BASE DA ÁRVORE abaixo para obter detalhes. If <commit> is "auto", a base commit is automatically chosen. The `--no-base` option overrides a `format.useAutoBase` configuration.

note: type: Plain text
en: Treat the revision argument as a <revision range>, even if it is just a single commit (that would normally be treated as a <since>).  Note that root commits included in the specified range are always formatted as creation patches, independently of this flag.
pt_BR: Trate o argumento revisão como um <intervalo de revisões>, mesmo que seja apenas um único commit (que normalmente seria tratado como um <since> (desde)).  Observe que os commits raiz incluídos no intervalo especificado são sempre formatadas como patches de criação, independentemente dessa flag.

note: type: Plain text
en: Show progress reports on stderr as patches are generated.
pt_BR: Exiba o progresso dos relatórios no stderr à medida que os patches são gerados.

note: type: Plain text
en: You can specify extra mail header lines to be added to each message, defaults for the subject prefix and file suffix, number patches when outputting more than one patch, add "To:" or "Cc:" headers, configure attachments, change the patch output directory, and sign off patches with configuration variables.
pt_BR: Você pode definir linhas extras no cabeçalho do e-mail que serão adicionadas em cada mensagem, predefinições para o prefixo do assunto e sufixo do arquivo, a quantidade das correções ao emitir mais de um patch, adicionar os cabeçalhos "Para:" ou "Cc:", configurar os anexos, alterar diretório de saída par ao patch e assinar os patches com variáveis de configuração.

note: type: delimited block -
en: [format]
    	headers = "Organization: git-foo\n"
    	subjectPrefix = CHANGE
    	suffix = .txt
    	numbered = auto
    	to = <email>
    	cc = <email>
    	attach [ = mime-boundary-string ]
    	signOff = true
    	outputDirectory = <directory>
    	coverLetter = auto
    	coverFromDescription = auto
pt_BR: [format]
    	headers = "Organização: git-foo\n"
    	subjectPrefix = CHANGE
    	suffix = .txt
    	numbered = auto
    	to = <e-mail>
    	cc = <e-mail>
    	attach [ = mime-boundary-string ]
    	signOff = true
    	outputDirectory = <diretório>
    	coverLetter = auto
    	coverFromDescription = auto

note: type: Plain text
en: The patch produced by 'git format-patch' is in UNIX mailbox format, with a fixed "magic" time stamp to indicate that the file is output from format-patch rather than a real mailbox, like so:
pt_BR: O patch produzido pelo 'git format-patch' está em formato mailbox (caixa de correio) UNIX, fixado com uma estampa "mágica" indicando que o arquivo foi gerado pelo patch em vez de um mailbox real, exemplo:

note: type: delimited block -
en: arch/arm config files were slimmed down using a python script
    (See commit c2330e286f68f1c408b4aa6515ba49d57f05beae comment)
pt_BR: Os arquivos da configuração arch/arm foram reduzidos utilizando um script python
    (Veja o comentário c2330e286f68f1c408b4aa6515ba49d57f05beae do commit)

note: type: delimited block -
en: Do the same for ia64 so we can have sleek & trim looking
    ...
pt_BR: Faça o mesmo com o ia64, para que possamos ter uma aparência elegante e ornamentada
    ...

note: type: Plain text
en: Typically it will be placed in a MUA's drafts folder, edited to add timely commentary that should not go in the changelog after the three dashes, and then sent as a message whose body, in our example, starts with "arch/arm config files were...".  On the receiving end, readers can save interesting patches in a UNIX mailbox and apply them with linkgit:git-am[1].
pt_BR: Normalmente, ele é colocado na pasta de rascunhos do MUA, editado para adicionar os comentários oportunos que não devem entrar no changelog após os três hífens e enviado como uma mensagem onde o corpo, no nosso exemplo, começa com "arquivos da configuração arch/arm onde...".  No lado do recebimento, os leitores podem salvar os patches interessantes em um mailbox UNIX e aplicá-los com linkgit:git-am[1].

note: type: Plain text
en: When a patch is part of an ongoing discussion, the patch generated by 'git format-patch' can be tweaked to take advantage of the 'git am --scissors' feature.  After your response to the discussion comes a line that consists solely of "`-- >8 --`" (scissors and perforation), followed by the patch with unnecessary header fields removed:
pt_BR: Quando um patch faz parte de uma discussão em andamento, o patch gerado pelo 'git format-patch' pode ser ajustado para aproveitar o recurso 'git am --scissors'.  Após a sua resposta na discussão, surge uma linha que consiste apenas em "`-- >8 --`"(tesoura e perfuração), seguida pelo patch com campos desnecessários do cabeçalho que foram removidos:

note: type: delimited block -
en: ...
    > So we should do such-and-such.
pt_BR: ...
    > Então faremos assim e assado.

note: type: delimited block -
en: Makes sense to me.  How about this patch?
pt_BR: Faz sentido para mim.  Que tal este patch?

note: type: delimited block -
en: -- >8 --
    Subject: [IA64] Put ia64 config files on the Uwe Kleine-König diet
pt_BR: -> 8 -
    Assunto: [IA64] Coloque os arquivos da configuração do ia64 na dieta Uwe Kleine-König

note: type: delimited block -
en: arch/arm config files were slimmed down using a python script
    ...
pt_BR: Os arquivos da configuração arch/arm foram reduzidos utilizando um script python
    ...

note: type: Plain text
en: When sending a patch this way, most often you are sending your own patch, so in addition to the "`From $SHA1 $magic_timestamp`" marker you should omit `From:` and `Date:` lines from the patch file.  The patch title is likely to be different from the subject of the discussion the patch is in response to, so it is likely that you would want to keep the Subject: line, like the example above.
pt_BR: Ao enviar um patch dessa forma, na maioria das vezes você está enviando o seu próprio patch, portanto, além do marcador "`From $SHA1 $magic_timestamp`", você deve omitir as linhas `From:` e `Date:` do arquivo patch.  É provável que o título do patch seja diferente do assunto da discussão onde o patch é uma resposta, portanto, é provável que você queira manter a linha "Subject:", como no exemplo acima.

note: type: Title ~
en: Checking for patch corruption
pt_BR: Verificando o corrompimento dos patches

note: type: Plain text
en: Many mailers if not set up properly will corrupt whitespace.  Here are two common types of corruption:
pt_BR: Muitos clientes de e-mail se não configurados corretamente irão corromper os espaços.  Aqui estão dois tipos comuns de corrompimento:

note: type: Plain text
en: Empty context lines that do not have _any_ whitespace.
pt_BR: As linhas de contexto vazias que não possuem _qualquer_ espaço.

note: type: Plain text
en: Non-empty context lines that have one extra whitespace at the beginning.
pt_BR: As linhas de contexto não vazias que possuam um espaço extra no início.

note: type: Plain text
en: One way to test if your MUA is set up correctly is:
pt_BR: Uma maneira de testar se o seu cliente de e-mail está configurado corretamente é fazendo o seguinte:

note: type: Plain text
en: Send the patch to yourself, exactly the way you would, except with To: and Cc: lines that do not contain the list and maintainer address.
pt_BR: Envie o patch para você mesmo exatamente como você faria se fosse enviar para alguém sem adicionar a lista e o endereço do mantenedor em "To:" (Para:) e "Cc:".

note: type: Plain text
en: Save that patch to a file in UNIX mailbox format.  Call it a.patch, say.
pt_BR: Salve esse patch em um arquivo no formato mailbox do UNIX.  Chame-o de "a.patch".

note: type: Plain text
en: Apply it:
pt_BR: Aplique:

note: type: Plain text
en: $ git fetch <project> master:test-apply
    $ git switch test-apply
    $ git restore --source=HEAD --staged --worktree :/
    $ git am a.patch
pt_BR: $ git fetch <projeto> master:test-apply
    $ git switch test-apply
    $ git restore --source=HEAD --staged --worktree :/
    $ git am a.patch

note: type: Plain text
en: If it does not apply correctly, there can be various reasons.
pt_BR: Pode haver vários motivos caso o patch não seja aplicado corretamente.

note: type: Plain text
en: The patch itself does not apply cleanly.  That is _bad_ but does not have much to do with your MUA.  You might want to rebase the patch with linkgit:git-rebase[1] before regenerating it in this case.
pt_BR: O patch em si não está correto.  Isso é _ruim_, mas não tem muito a ver com o seu cliente de e-mail.  Você pode querer refazer o patch neste caso com linkgit:git-rebase[1] antes de regenerá-lo.

note: type: Plain text
en: The MUA corrupted your patch; "am" would complain that the patch does not apply.  Look in the .git/rebase-apply/ subdirectory and see what 'patch' file contains and check for the common corruption patterns mentioned above.
pt_BR: O seu cliente de e-mail corrompeu o seu patch; o "am" reclamaria que o patch não pode ser aplicado.  Procure no subdiretório `.git/rebase-apply/` e veja o conteúdo do arquivo 'patch', verifique se os padrões mais comuns de corrupção mencionados acima se aplicam.

note: type: Plain text
en: While at it, check the 'info' and 'final-commit' files as well.  If what is in 'final-commit' is not exactly what you would want to see in the commit log message, it is very likely that the receiver would end up hand editing the log message when applying your patch.  Things like "Hi, this is my first patch.\n" in the patch e-mail should come after the three-dash line that signals the end of the commit message.
pt_BR: Enquanto isso, verifique os arquivos 'info' e 'final-commit' também.  Caso o que estiver em 'final-commit' não seja exatamente o que você quer ver na mensagem do registro log do commit, é muito provável que o destinatário acabe editando manualmente a mensagem do registro log durante a aplicação do seu patch.  Coisas como "Olá, este é o meu primeiro patch.\n" no e-mail do patch deve vir após a linha de três traços que sinaliza o final da mensagem do commit.

note: type: Title -
en: MUA-SPECIFIC HINTS
pt_BR: DICAS ESPECÍFICAS PARA CLIENTES DE E-MAIL

note: type: Plain text
en: Here are some hints on how to successfully submit patches inline using various mailers.
pt_BR: Aqui estão algumas dicas sobre como enviar os patches com sucesso utilizando diferentes clientes de e-mail.

note: type: Plain text
en: GMail does not have any way to turn off line wrapping in the web interface, so it will mangle any emails that you send.  You can however use "git send-email" and send your patches through the GMail SMTP server, or use any IMAP email client to connect to the google IMAP server and forward the emails through that.
pt_BR: O GMail não tem como desativar a quebra de linha na interface da Web; portanto, ele altera os e-mails que você envia.  Você pode entanto usar o "git send-email" e enviar os seus patches através do servidor SMTP do GMail ou usar qualquer cliente de email IMAP para conectar-se ao servidor IMAP do google e encaminhar os e-mails dessa maneira.

note: type: Plain text
en: For hints on using 'git send-email' to send your patches through the GMail SMTP server, see the EXAMPLE section of linkgit:git-send-email[1].
pt_BR: Para obter dicas sobre o uso do 'git send-email' para enviar os seus patches através do servidor SMTP do GMail, consulte a seção EXEMPLO do linkgit:git-send-email[1].

note: type: Plain text
en: For hints on submission using the IMAP interface, see the EXAMPLE section of linkgit:git-imap-send[1].
pt_BR: Para obter dicas sobre o envio utilizando a interface IMAP, consulte a seção EXEMPLO do linkgit:git-send-email[1].

note: type: Plain text
en: By default, Thunderbird will both wrap emails as well as flag them as being 'format=flowed', both of which will make the resulting email unusable by Git.
pt_BR: É predefinido que o Thunderbird agrupe os e-mails e sinalize-os como 'format=flowed', o que tornará o e-mail resultante inutilizável pelo Git.

note: type: Plain text
en: There are three different approaches: use an add-on to turn off line wraps, configure Thunderbird to not mangle patches, or use an external editor to keep Thunderbird from mangling the patches.
pt_BR: Existem três abordagens diferentes: utilize um complemento para desativar a quebra de linha, configure o Thunderbird para não alterar os patches ou utilize um editor externo para impedir que o Thunderbird manipule os patches.

note: type: Title ^
en: Approach #1 (add-on)
pt_BR: Abordagem nº 1 (complemento)

note: type: Plain text
en: Install the Toggle Word Wrap add-on that is available from https://addons.mozilla.org/thunderbird/addon/toggle-word-wrap/ It adds a menu entry "Enable Word Wrap" in the composer's "Options" menu that you can tick off. Now you can compose the message as you otherwise do (cut + paste, 'git format-patch' | 'git imap-send', etc), but you have to insert line breaks manually in any text that you type.
pt_BR: Instale o complemento "Toggle Word Wrap" que está disponível em https://addons.mozilla.org/thunderbird/addon/toggle-word-wrap/. É adicionado uma entrada chamada "Enable Word Wrap Alt+W" (Ativar a quebra automática de linha Alt+W) na aba "Opções" do compositor que você pode de-selecionar. Agora você pode compor a mensagem da mesma maneira que você sempre fez (recortar + colar, 'git format-patch' | 'git imap-send', etc), porém é necessário inserir as quebras das linhas manualmente em qualquer texto que for digitado.

note: type: Title ^
en: Approach #2 (configuration)
pt_BR: Abordagem # 2 (configuração)

note: type: Plain text
en: Three steps:
pt_BR: Três etapas:

note: type: Plain text
en: Configure your mail server composition as plain text: Edit...Account Settings...Composition & Addressing, uncheck "Compose Messages in HTML".
pt_BR: Ainda no Thunderbird, configure a redação da mensagem de e-mail como texto sem formatação, vá em Editar -> Propriedades -> suaconta@email.com -> Redação e Endereçamento, desmarque a opção "Usar formatação (HTML)".

note: type: Plain text
en: Configure your general composition window to not wrap.
pt_BR: Configure a sua janela de composição geral para não quebrar as linhas.

note: type: Plain text
en: In Thunderbird 2: Edit..Preferences..Composition, wrap plain text messages at 0
pt_BR: No Thunderbird 2: Vá em Ferramentas -> Opções -> Edição -> Geral, defina como 0 (zero) caracteres a opção "Quebrar a linha, em mensagem sem formatação, após"

note: type: Plain text
en: In Thunderbird 3: Edit..Preferences..Advanced..Config Editor.  Search for "mail.wrap_long_lines".  Toggle it to make sure it is set to `false`. Also, search for "mailnews.wraplength" and set the value to 0.
pt_BR: No Thunderbird 3: Vá em Ferramentas -> Avançado -> Editor de config.  No campo localizar pesquise por "mail.wrap_long_lines".  Clique duas vezes com o mouse e tenha certeza que o seu valor mudou para `false`. Pesquise também pela opção "mailnews.wraplength", clique duas vezes com o mouse e defina o seu valor para 0 (zero).

note: type: Plain text
en: Disable the use of format=flowed: Edit..Preferences..Advanced..Config Editor.  Search for "mailnews.send_plaintext_flowed".  Toggle it to make sure it is set to `false`.
pt_BR: Desative a utilização da opção "format=flowed": Vá em Ferramentas -> Avançado -> Editor de config.  No campo localizar pesquise por "mailnews.send_plaintext_flowed".  Clique duas vezes com o mouse e tenha certeza que o seu valor mudou para `false`.

note: type: Plain text
en: After that is done, you should be able to compose email as you otherwise would (cut + paste, 'git format-patch' | 'git imap-send', etc), and the patches will not be mangled.
pt_BR: Ao concluir, agora é possível compor o e-mail da mesma maneira que seria feito com (recortar + colar, 'git format-patch' | 'git imap-send', etc), e os patches não ficarão mutilados.

note: type: Title ^
en: Approach #3 (external editor)
pt_BR: Abordagem nº 3 (editor externo)

note: type: Plain text
en: The following Thunderbird extensions are needed: AboutConfig from http://aboutconfig.mozdev.org/ and External Editor from http://globs.org/articles.php?lng=en&pg=8
pt_BR: As seguintes extensões do Thunderbird são necessárias: O AboutConfig http://aboutconfig.mozdev.org/ (Observação: o AboutConfig não é mais compatível com as versões mais novas do Thunderbird.) e o "External Editor" http://globs.org/articles.php?lng=en&pg=8

note: type: Plain text
en: Prepare the patch as a text file using your method of choice.
pt_BR: Prepare o patch como um arquivo de texto utilizando o seu método preferido.

note: type: Plain text
en: Before opening a compose window, use Edit->Account Settings to uncheck the "Compose messages in HTML format" setting in the "Composition & Addressing" panel of the account to be used to send the patch.
pt_BR: Antes de abrir uma janela de composição, vá em Editar -> Propriedades -> Configurações da conta -> Redação e endereçamento e desmarque a opção "Usar formatação (HTML)" para que seja possível enviar o patch.

note: type: Plain text
en: In the main Thunderbird window, 'before' you open the compose window for the patch, use Tools->about:config to set the following to the indicated values:
pt_BR: Na janela principal do Thunderbird, 'antes' de abrir a janela de composição do patch, vá em Ferramentas -> Avançado -> Editor de Configurações e defina os valores como indicado abaixo:

note: type: Plain text
en: Open a compose window and click the external editor icon.
pt_BR: Abra uma janela de composição e clique no ícone do editor externo.

note: type: Plain text
en: In the external editor window, read in the patch file and exit the editor normally.
pt_BR: Na janela do editor externo, carregue o arquivo patch e saia do editor normalmente.

note: type: Plain text
en: Side note: it may be possible to do step 2 with about:config and the following settings but no one's tried yet.
pt_BR: Nota: Pode ser possível executar a segunda etapa para editar as seguintes configurações, mas ninguém tentou ainda.

note: type: Plain text
en: There is a script in contrib/thunderbird-patch-inline which can help you include patches with Thunderbird in an easy way. To use it, do the steps above and then use the script as the external editor.
pt_BR: Existe um script em contrib/thunderbird-patch-inline que pode ajudá-lo a incluir os patches com o Thunderbird facilmente. Para usá-lo, execute as etapas acima e utilize o script como um editor externo.

note: type: Plain text
en: This should help you to submit patches inline using KMail.
pt_BR: Isso deve ajudá-lo a enviar os patches em linha utilizando o KMail.

note: type: Plain text
en: Prepare the patch as a text file.
pt_BR: Prepare o patch como um arquivo de texto.

note: type: Plain text
en: Click on New Mail.
pt_BR: Clique em "New Mail".

note: type: Plain text
en: Go under "Options" in the Composer window and be sure that "Word wrap" is not set.
pt_BR: Vá em "Opções" na janela do Compositor verifique se "Quebra de linha" não está definido.

note: type: Plain text
en: Use Message -> Insert file... and insert the patch.
pt_BR: Utilize Mensagem -> Inserir arquivo -> e insira o patch.

note: type: Plain text
en: Back in the compose window: add whatever other text you wish to the message, complete the addressing and subject fields, and press send.
pt_BR: De volta à janela de composição: adicione qualquer outro texto que desejar, preencha os campos de endereçamento, assunto e pressione Enviar.

note: type: Title -
en: BASE TREE INFORMATION
pt_BR: INFORMAÇÃO BASE DA ÁRVORE

note: type: Plain text
en: The base tree information block is used for maintainers or third party testers to know the exact state the patch series applies to. It consists of the 'base commit', which is a well-known commit that is part of the stable part of the project history everybody else works off of, and zero or more 'prerequisite patches', which are well-known patches in flight that is not yet part of the 'base commit' that need to be applied on top of 'base commit' in topological order before the patches can be applied.
pt_BR: O bloco de informação da base da árvore é utilizado para que os mantenedores ou os testadores de terceiros saibam a condição exata ao qual a série de patches se aplicam. É a 'base do commit', é um commit informado que faz parte da parte estável do histórico do projeto onde todos os outros usam para trabalhar. Zero ou mais 'patches de pré-requisição' são patches informados em transição, porém ainda não fazem parte da 'base do commit' que precisam ser aplicados sobre o cume da 'base do commit' em ordem topológica antes que os patches possam ser aplicados.

note: type: Plain text
en: The 'base commit' is shown as "base-commit: " followed by the 40-hex of the commit object name.  A 'prerequisite patch' is shown as "prerequisite-patch-id: " followed by the 40-hex 'patch id', which can be obtained by passing the patch through the `git patch-id --stable` command.
pt_BR: A 'base do commit' é exibido como "base-commit:" seguido por 40 hexadecimais do nome do objeto commit.  Um 'patch de pré-requisição' é exibido como "prerequisite-patch-id:" seguido por um 'patch id' com 40 hexadecimais, que pode ser obtido passando o patch pelo comando `git patch-id --stable`.

note: type: Plain text
en: Imagine that on top of the public commit P, you applied well-known patches X, Y and Z from somebody else, and then built your three-patch series A, B, C, the history would be like:
pt_BR: Imagine que, em cima do commit público P, foi aplicado os patches informados X, Y e Z de outra pessoa e construiu a sua série de três patches A, B, C, o histórico ficaria assim:

note: type: Plain text
en: With `git format-patch --base=P -3 C` (or variants thereof, e.g. with `--cover-letter` or using `Z..C` instead of `-3 C` to specify the range), the base tree information block is shown at the end of the first message the command outputs (either the first patch, or the cover letter), like this:
pt_BR: Com o `git format-patch --base = P -3 C` (ou variantes do mesmo com `--cover-letter` ou utilizando `Z..C` em vez de `-3 C` para especificar o intervalo por exemplo), o bloco das informações da base da árvore é exibido no final da primeira mensagem que o comando gera (o primeiro patch ou a carta de apresentação), assim:

note: type: Plain text
en: For non-linear topology, such as
pt_BR: Para uma topologia não linear, como

note: type: Plain text
en: You can also use `git format-patch --base=P -3 C` to generate patches for A, B and C, and the identifiers for P, X, Y, Z are appended at the end of the first message.
pt_BR: Você também pode usar o comando `git format-patch --base = P -3 C` para gerar as correções para A, B e C, os identificadores para P, X, Y, Z serão anexados no final da primeira mensagem.

note: type: Plain text
en: If set `--base=auto` in cmdline, it will track base commit automatically, the base commit will be the merge base of tip commit of the remote-tracking branch and revision-range specified in cmdline.  For a local branch, you need to track a remote branch by `git branch --set-upstream-to` before using this option.
pt_BR: Caso `--base=auto` seja definido no cmdline, ele rastreará automaticamente a base do commit, o commit da base será o cume do ramo do commit monitorado remotamente e o intervalo da revisão determinado pelo cmdline.  Antes de utilizar esta opção para uma ramificação local, é necessário monitorar um ramo remoto com o comando `git branch --set-upstream-to`.

note: type: Plain text
en: Extract commits between revisions R1 and R2, and apply them on top of the current branch using 'git am' to cherry-pick them:
pt_BR: Extraia os commits entre as revisões R1 e R2, aplique-as no cume do ramo atual utilizando o comando 'git am' para selecioná-las:

note: type: Plain text
en: Extract all commits which are in the current branch but not in the origin branch:
pt_BR: Extraia todos os commits que estão na ramificação atual, mas não na ramificação "origin":

note: type: Plain text
en: For each commit a separate file is created in the current directory.
pt_BR: Para cada commit é criado um arquivo separado no diretório atual.

note: type: Plain text
en: Extract all commits that lead to 'origin' since the inception of the project:
pt_BR: Extraia todos os commits que levem à 'origin' desde o início do projeto:

note: type: Plain text
en: The same as the previous one:
pt_BR: É o mesmo que o anterior:

note: type: Plain text
en: Additionally, it detects and handles renames and complete rewrites intelligently to produce a renaming patch.  A renaming patch reduces the amount of text output, and generally makes it easier to review.  Note that non-Git "patch" programs won't understand renaming patches, so use it only when you know the recipient uses Git to apply your patch.
pt_BR: Além disso, ele detecta e manipula as renomeações e as reescritas completadas de maneira inteligente produzindo um patch de renomeação.  Um patch de renomeação reduz a quantidade de saída do texto e geralmente facilita a revisão.  Observe que os programas de "patches" que não sejam do Git não entenderão como renomear os patches; portanto, utilize-os apenas quando souber que o destinatário usa o Git para aplicar seu patch.

note: type: Plain text
en: Extract three topmost commits from the current branch and format them as e-mailable patches:
pt_BR: Extraia os três commits mais importantes do ramo atual, formate-os como patches que possam ser enviados por e-mail:

note: type: Plain text
en: git-fsck-objects - Verifies the connectivity and validity of the objects in the database
pt_BR: git-fsck-objects - Verifica a conectividade e validade dos objetos no banco de dados

note: type: Plain text
en: This is a synonym for linkgit:git-fsck[1].  Please refer to the documentation of that command.
pt_BR: Este é um sinônimo para o comando linkgit:git-fsck[1].  Consulte a documentação para obter mais referências sobre este comando.

note: type: Plain text
en: git-fsck - Verifies the connectivity and validity of the objects in the database
pt_BR: git-fsck - Verifica a conectividade e a validade dos objetos no banco de dados

note: type: Plain text
en: 'git fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]
    	 [--[no-]full] [--strict] [--verbose] [--lost-found]
    	 [--[no-]dangling] [--[no-]progress] [--connectivity-only]
    	 [--[no-]name-objects] [<object>*]
pt_BR: 'git fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]
    	 [--[no-]full] [--strict] [--verbose] [--lost-found]
    	 [--[no-]dangling] [--[no-]progress] [--connectivity-only]
    	 [--[no-]name-objects] [<objeto>*]

note: type: Plain text
en: An object to treat as the head of an unreachability trace.
pt_BR: Um objeto a ser tratado como a cabeça de um rastreamento de inacessibilidade.

note: type: Plain text
en: If no objects are given, 'git fsck' defaults to using the index file, all SHA-1 references in `refs` namespace, and all reflogs (unless --no-reflogs is given) as heads.
pt_BR: Caso nenhum objeto seja informado, a predefinição do comando 'git fsck' retorna para o arquivo do índice, todas as referências SHA-1 no espaço de nomes `refs` e todos os reflogs (a menos que a opção `--no-reflogs` seja utilizada) serão utilizados como cabeçalhos.

note: type: Plain text
en: Print out objects that exist but that aren't reachable from any of the reference nodes.
pt_BR: Imprima os objetos que existam, porém que não sejam acessíveis a partir de nenhum dos nós de referência.

note: type: Plain text
en: Print objects that exist but that are never 'directly' used (default).  `--no-dangling` can be used to omit this information from the output.
pt_BR: Imprima os objetos que existam porém, que nunca são utilizados 'diretamente' (predefinição).  `--no-dangling` pode ser utilizado para omitir esta informação na saída.

note: type: Plain text
en: Report root nodes.
pt_BR: Relatar os nós raiz.

note: type: Plain text
en: Report tags.
pt_BR: Tags de relatório.

note: type: Plain text
en: Consider any object recorded in the index also as a head node for an unreachability trace.
pt_BR: Considere qualquer objeto registrado no índice também como um nó principal para um rastreamento de inacessibilidade.

note: type: Plain text
en: Do not consider commits that are referenced only by an entry in a reflog to be reachable.  This option is meant only to search for commits that used to be in a ref, but now aren't, but are still in that corresponding reflog.
pt_BR: Para serem acessíveis, não considere que os commits sejam referenciados apenas por uma entrada em um "reflog".  Esta opção serve apenas para procurar commits que costumavam estar em um "ref", mas agora não estão mais, mas ainda assim em um reflog equivalente.

note: type: Plain text
en: Check not just objects in GIT_OBJECT_DIRECTORY ($GIT_DIR/objects), but also the ones found in alternate object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES or $GIT_DIR/objects/info/alternates, and in packed Git archives found in $GIT_DIR/objects/pack and corresponding pack subdirectories in alternate object pools.  This is now default; you can turn it off with --no-full.
pt_BR: Verifique não apenas os objetos em `GIT_OBJECT_DIRECTORY` (`$GIT_DIR/objects`), mas também os que forem encontrados nos conjuntos de objetos alternativos listados em `GIT_ALTERNATE_OBJECT_DIRECTORIES` ou `$GIT_DIR/objects/info/alternates`, nos arquivos Git encontrados em `$GIT_DIR/objects/pack` e nos pacotes dos subdiretórios correspondentes nos conjuntos dos objetos alternativos.  Esta é a predefinição agora; desative-o com `--no-full`.

note: type: Plain text
en: Check only the connectivity of reachable objects, making sure that any objects referenced by a reachable tag, commit, or tree is present. This speeds up the operation by avoiding reading blobs entirely (though it does still check that referenced blobs exist). This will detect corruption in commits and trees, but not do any semantic checks (e.g., for format errors). Corruption in blob objects will not be detected at all.
pt_BR: Verifique apenas a conectividade dos objetos acessíveis, certificando-se de que todos os objetos referenciados por uma tag, commit ou árvore acessível estejam presentes. Isso acelera a operação evitando a leitura completa das bolhas (embora ainda verifique caso existam as bolhas referenciadas). Isso detectará a corrupção nos commits e nas árvores, porém não fará nenhuma verificação semântica (como por exemplo, erros no formato). A corrupção nos objetos bolha não será detectada de forma alguma.

note: type: Plain text
en: Unreachable tags, commits, and trees will also be accessed to find the tips of dangling segments of history. Use `--no-dangling` if you don't care about this output and want to speed it up further.
pt_BR: Tags, confirmações e árvores inacessíveis também serão acessadas para encontrar o topo dos segmentos pendentes na história. Use a opção `--no-dangling` caso não se importe com esta saída e queira acelerar um pouco as coisas ainda mais.

note: type: Plain text
en: Enable more strict checking, namely to catch a file mode recorded with g+w bit set, which was created by older versions of Git.  Existing repositories, including the Linux kernel, Git itself, and sparse repository have old objects that triggers this check, but it is recommended to check new projects with this flag.
pt_BR: Ative uma verificação mais rigorosa para capturar um modo do arquivo gravado em um conjunto de bits g+w, criado por versões mais antigas do Git.  Os repositórios existentes, incluindo o kernel do Linux, o próprio Git e o repositório esparso, possuem objetos antigos que acionam esta verificação. É recomendável verificar novos projetos com essa flag.

note: type: Plain text
en: Be chatty.
pt_BR: Seja tagarela.

note: type: Plain text
en: Write dangling objects into .git/lost-found/commit/ or .git/lost-found/other/, depending on type.  If the object is a blob, the contents are written into the file, rather than its object name.
pt_BR: Dependendo do tipo, escreva os objetos pendentes em .git/lost-found/commit/ ou .git/lost-found/other/.  O conteúdo será gravado no arquivo e não no nome do objeto caso o objeto seja uma bolha.

note: type: Plain text
en: When displaying names of reachable objects, in addition to the SHA-1 also display a name that describes *how* they are reachable, compatible with linkgit:git-rev-parse[1], e.g.  `HEAD@{1234567890}~25^2:src/`.
pt_BR: Ao exibir os nomes dos objetos acessíveis além do SHA-1 que descrevam *como* eles são acessíveis, é compatível com linkgit:git-rev-parse[1], `HEAD@{1234567890}~25^2:src/` por exemplo.

note: type: Plain text
en: Progress status is reported on the standard error stream by default when it is attached to a terminal, unless --no-progress or --verbose is specified. --progress forces progress status even if the standard error stream is not directed to a terminal.
pt_BR: A condição do progresso é relatado no fluxo de erro predefinido ao estar conectado em um terminal, a menos que as opções `--no-progress` ou `--verbose` sejam utilizados. A opção `--progress` impõem que a condição do progresso seja exibida mesmo que o fluxo de erro predefinido não esteja direcionado para um terminal.

note: type: Plain text
en: git-fsck tests SHA-1 and general object sanity, and it does full tracking of the resulting reachability and everything else. It prints out any corruption it finds (missing or bad objects), and if you use the `--unreachable` flag it will also print out objects that exist but that aren't reachable from any of the specified head nodes (or the default set, as mentioned above).
pt_BR: O git-fsck testa se o SHA-1 e a sanidade geral dos objetos, faz o rastreamento completo da acessibilidade resultante e todo o resto. Imprime qualquer corrupção encontrada (objetos ausentes ou incorretos) , se utilizar a opção `--unreachable`, também serão impressos os objetos que existem mas que não estão acessíveis a partir de nenhum dos nós principais (ou da predefinição mencionada acima).

note: type: Plain text
en: Any corrupt objects you will have to find in backups or other archives (i.e., you can just remove them and do an 'rsync' with some other site in the hopes that somebody else has the object you have corrupted).
pt_BR: Você precisará encontrar quaisquer outros objetos corrompidos nos backups ou em outros arquivos (ou seja, remova-os e faça um 'rsync' com outro site na esperança de que outra pessoa tenha uma cópia do objeto que você corrompeu).

note: type: Plain text
en: If core.commitGraph is true, the commit-graph file will also be inspected using 'git commit-graph verify'. See linkgit:git-commit-graph[1].
pt_BR: Caso core.commitGraph seja verdadeiro, o arquivo commit-graph também será inspecionado utilizando 'git commit-graph verify'. See linkgit:git-commit-graph[1].

note: type: Title -
en: Extracted Diagnostics
pt_BR: Diagnósticos Extraídos

note: type: Labeled list
en: expect dangling commits - potential heads - due to lack of head information
pt_BR: aguardar pelos commits pendentes - potenciais cabeçalhos - devido à falta de informações dos cabeçalhos

note: type: Plain text
en: You haven't specified any nodes as heads so it won't be possible to differentiate between un-parented commits and root nodes.
pt_BR: Você não especificou nenhum nó como cabeçalho, portanto não será possível diferenciar entre os commits sem origem e os nós raiz.

note: type: Labeled list
en: missing sha1 directory '<dir>'
pt_BR: diretório sem sha1 '<dir>'

note: type: Plain text
en: The directory holding the sha1 objects is missing.
pt_BR: O diretório que contém os objetos sha1 está ausente.

note: type: Labeled list
en: unreachable <type> <object>
pt_BR: unreachable <tipo> <objeto>

note: type: Plain text
en: The <type> object <object>, isn't actually referred to directly or indirectly in any of the trees or commits seen. This can mean that there's another root node that you're not specifying or that the tree is corrupt. If you haven't missed a root node then you might as well delete unreachable nodes since they can't be used.
pt_BR: O objeto <tipo> <objeto>, na verdade, não tem referência direta ou indireta com nenhuma das árvores ou commits já vistos. Significa que há um outro nó na raiz que você ainda não está informando ou que a árvore está corrompida. Caso você ainda não tenha perdido um nó na raiz, também possa excluir os nós que estejam inacessíveis, pois eles não possam ser utilizados.

note: type: Labeled list
en: missing <type> <object>
pt_BR: missing <tipo> <objeto>

note: type: Plain text
en: The <type> object <object>, is referred to but isn't present in the database.
pt_BR: O objeto <tipo> <objeto>, tem referência mas não está presente no banco de dados.

note: type: Labeled list
en: dangling <type> <object>
pt_BR: dangling <tipo> <objeto>

note: type: Plain text
en: The <type> object <object>, is present in the database but never 'directly' used. A dangling commit could be a root node.
pt_BR: O <tipo> do objeto <objeto> está presente no banco de dados, mas nunca é utilizado 'diretamente'. A dangling commit could be a root node.

note: type: Labeled list
en: hash mismatch <object>
pt_BR: hash mismatch <objeto>

note: type: Plain text
en: The database has an object whose hash doesn't match the object database value.  This indicates a serious data integrity problem.
pt_BR: O banco de dados tem um objeto cujo hash não coincide com o valor do banco de dados do objeto.  Isso indica um sério problema na integridade dos dados.

note: type: Title -
en: Environment Variables
pt_BR: As Variáveis do Ambiente

note: type: Plain text
en: used to specify the object database root (usually $GIT_DIR/objects)
pt_BR: utilize para especificar a raiz do banco de dados do objeto (geralmente '$GIT_DIR/objects')

note: type: Plain text
en: used to specify the index file of the index
pt_BR: utilizado para determinar o arquivo de índice do índice

note: type: Plain text
en: used to specify additional object database roots (usually unset)
pt_BR: utilizado para determinar as raízes adicionais do banco de dados dos objetos (geralmente não definidos)

note: type: Plain text
en: git-gc - Cleanup unnecessary files and optimize the local repository
pt_BR: git-gc - Limpa os arquivos desnecessários e otimiza o repositório local

note: type: Plain text
en: 'git gc' [--aggressive] [--auto] [--quiet] [--prune=<date> | --no-prune] [--force] [--keep-largest-pack]
pt_BR: 'git gc' [--aggressive] [--auto] [--quiet] [--prune=<data> | --no-prune] [--force] [--keep-largest-pack]

note: type: Plain text
en: Runs a number of housekeeping tasks within the current repository, such as compressing file revisions (to reduce disk space and increase performance), removing unreachable objects which may have been created from prior invocations of 'git add', packing refs, pruning reflog, rerere metadata or stale working trees. May also update ancillary indexes such as the commit-graph.
pt_BR: Executa várias tarefas de limpeza no repositório atual, como a compactação dos arquivos das revisões (para reduzir o espaço em disco e aumentar o desempenho), a remoção dos objetos inacessíveis que podem ter sido criados a partir de invocações anteriores ao 'git add', pacotes refs, a remoção do "reflog", metadados reerere ou árvores de trabalho obsoletas. Pode também atualizar os índices auxiliares, como o grafo do commit.

note: type: Plain text
en: When common porcelain operations that create objects are run, they will check whether the repository has grown substantially since the last maintenance, and if so run `git gc` automatically. See `gc.auto` below for how to disable this behavior.
pt_BR: Quando as operações porcelana tradicionais que criam os objetos são executadas, elas verificam se o repositório cresceu substancialmente desde a última manutenção e se for o caso, executam o o comando `git gc` automaticamente. Consulte `gc.auto` abaixo para saber como desativar este comportamento.

note: type: Plain text
en: Running `git gc` manually should only be needed when adding objects to a repository without regularly running such porcelain commands, to do a one-off repository optimization, or e.g. to clean up a suboptimal mass-import. See the "PACKFILE OPTIMIZATION" section in linkgit:git-fast-import[1] for more details on the import case.
pt_BR: A execução manual do comando `git gc` só é necessária ao adicionar objetos em um repositório quando não executar regularmente estes comandos porcelana, para executar uma otimização única do repositório ou como por exemplo, para limpar uma importação em massa que esteja abaixo do ideal. Consulte a seção "OTIMIZAÇÃO DE PACOTE" no linkgit:git-fast-import[1] para obter mais detalhes sobre o caso de importação.

note: type: Plain text
en: Usually 'git gc' runs very quickly while providing good disk space utilization and performance.  This option will cause 'git gc' to more aggressively optimize the repository at the expense of taking much more time.  The effects of this optimization are mostly persistent. See the "AGGRESSIVE" section below for details.
pt_BR: Normalmente, o comando 'git gc' roda de forma muito rápida, proporcionando uma boa utilização do espaço e do desempenho em disco.  Esta opção fará com que o comando 'git gc' otimize de forma mais agressiva o repositório à custa de levar muito mais tempo.  Os efeitos dessa otimização em geral são persistentes. Consulte a seção "AGRESSIVO" abaixo para obter detalhes.

note: type: Plain text
en: With this option, 'git gc' checks whether any housekeeping is required; if not, it exits without performing any work.
pt_BR: Com esta opção, o comando 'git gc' verifica se é necessário alguma limpeza; caso contrário, sai sem fazer nada.

note: type: Plain text
en: See the `gc.auto` option in the "CONFIGURATION" section below for how this heuristic works.
pt_BR: Consulte a opção `gc.auto` na seção "CONFIGURAÇÃO" abaixo para saber como essa heurística funciona.

note: type: Plain text
en: Once housekeeping is triggered by exceeding the limits of configuration options such as `gc.auto` and `gc.autoPackLimit`, all other housekeeping tasks (e.g. rerere, working trees, reflog...) will be performed as well.
pt_BR: Caso seja excedido os limites definidos nas opções de configuração como `gc.auto` e `gc.autoPackLimit` o processo de limpeza é acionado, todas as outras tarefas de limpeza (como rerere, árvores de trabalho, reflog..., etc) também serão executados.

note: type: Labeled list
en: --prune=<date>
pt_BR: --prune=<data>

note: type: Plain text
en: Prune loose objects older than date (default is 2 weeks ago, overridable by the config variable `gc.pruneExpire`).  --prune=now prunes loose objects regardless of their age and increases the risk of corruption if another process is writing to the repository concurrently; see "NOTES" below. --prune is on by default.
pt_BR: Elimine os objetos soltos anteriores à data (a predefinição retorna para de 2 semanas atrás, substituível pela variável de configuração `gc.pruneExpire`).  A opção `--prune=now` elimina objetos soltos independentemente da idade e aumenta o risco de corrupção caso outro processo esteja gravando no repositório; consulte "OBSERVAÇÕES" abaixo. A predefinição é que a opção `--prune` esteja sempre ativada.

note: type: Plain text
en: Do not prune any loose objects.
pt_BR: Não corte qualquer dos objetos soltos.

note: type: Plain text
en: Suppress all progress reports.
pt_BR: Suprimir todos os relatórios de progresso.

note: type: Plain text
en: Force `git gc` to run even if there may be another `git gc` instance running on this repository.
pt_BR: Imponha a execução do `git gc` mesmo que possa haver uma outra instância do `git gc` em execução neste repositório.

note: type: Plain text
en: All packs except the largest pack and those marked with a `.keep` files are consolidated into a single pack. When this option is used, `gc.bigPackThreshold` is ignored.
pt_BR: Todos os pacotes, exceto o maior e os marcados com um arquivo `.keep`, são consolidados em um único pacote. Quando esta opção é utilizada, a variável `gc.bigPackThreshold` é ignorada.

note: type: Title -
en: AGGRESSIVE
pt_BR: AGRESSIVO

note: type: Plain text
en: When the `--aggressive` option is supplied, linkgit:git-repack[1] will be invoked with the `-f` flag, which in turn will pass `--no-reuse-delta` to linkgit:git-pack-objects[1]. This will throw away any existing deltas and re-compute them, at the expense of spending much more time on the repacking.
pt_BR: Quando a opção `--aggressive` é utilizada, linkgit:git-repack[1] será invocado com a opção `-f`, que por sua vez passará a opção `--no-reuse-delta` para linkgit:git-pack-objects[1]. Isso descartará quaisquer deltas existentes e os computará novamente, às custas de se gastar muito mais tempo na re-embalagem.

note: type: Plain text
en: The effects of this are mostly persistent, e.g. when packs and loose objects are coalesced into one another pack the existing deltas in that pack might get re-used, but there are also various cases where we might pick a sub-optimal delta from a newer pack instead.
pt_BR: Os efeitos disso são predominantemente persistentes, como por exemplo, quando os pacotes e os objetos soltos são reunidos entre si, os deltas existentes neste pacote podem ser reutilizados, porém também existem vários casos onde em vez disso, podemos escolher um delta não otimizado de um pacote mais novo.

note: type: Plain text
en: Furthermore, supplying `--aggressive` will tweak the `--depth` and `--window` options passed to linkgit:git-repack[1]. See the `gc.aggressiveDepth` and `gc.aggressiveWindow` settings below. By using a larger window size we're more likely to find more optimal deltas.
pt_BR: Além disso, utilizar `--aggressive` irá ajustar as opções `--depth` e `--window` encaminhadas para o linkgit:git-repack[1]. Consulte as configurações `gc.aggressiveDepth` e `gc.aggressiveWindow` abaixo. Ao utilizar um tamanho de janela maior, é mais provável que encontremos deltas mais otimizados.

note: type: Plain text
en: It's probably not worth it to use this option on a given repository without running tailored performance benchmarks on it. It takes a lot more time, and the resulting space/delta optimization may or may not be worth it. Not using this at all is the right trade-off for most users and their repositories.
pt_BR: Provavelmente não vale a pena utilizar esta opção em um determinado repositório sem antes executar um benchmark de desempenho sob medida. Leva muito mais tempo e a otimização de espaço/delta resultante pode ou não valer a pena. Não utilizar isso de forma alguma é um dilema para a maioria dos usuários e seus repositórios.

note: type: Plain text
en: The below documentation is the same as what's found in linkgit:git-config[1]:
pt_BR: A documentação abaixo é igual à encontrada no linkgit:git-config[1]:

note: type: Plain text
en: 'git gc' tries very hard not to delete objects that are referenced anywhere in your repository. In particular, it will keep not only objects referenced by your current set of branches and tags, but also objects referenced by the index, remote-tracking branches, notes saved by 'git notes' under refs/notes/, reflogs (which may reference commits in branches that were later amended or rewound), and anything else in the refs/* namespace.  If you are expecting some objects to be deleted and they aren't, check all of those locations and decide whether it makes sense in your case to remove those references.
pt_BR: O comando 'git gc' evita muito a não exclusão dos objetos que possuam referencias em qualquer lugar do seu repositório. Ele manterá não apenas os objetos referenciados pelo seu conjunto atual das ramificações e as tags, mas também os objetos referenciados através do índice, as ramificações monitoradas remotamente, as notas salvas através do comando 'git notes' no 'refs/notes/', reflogs (que podem fazer referência no commit dos ramos que foram alterados ou retrocedido posteriormente) e qualquer outra coisa no espaço dos nomes 'refs/*'.  Caso você esteja esperando que alguns objetos sejam excluídos e não foram, verifique todos estes locais e decida se faz sentido remover as referências ou não.

note: type: Plain text
en: On the other hand, when 'git gc' runs concurrently with another process, there is a risk of it deleting an object that the other process is using but hasn't created a reference to. This may just cause the other process to fail or may corrupt the repository if the other process later adds a reference to the deleted object. Git has two features that significantly mitigate this problem:
pt_BR: Por outro lado, quando o 'git gc' é executado simultaneamente com outro processo, existe o risco de excluir um objeto que o outro processo está utilizando e que não criou uma referência para ele ainda. Isso pode causar falha no outro processo ou corromper o repositório caso o outro processo adicione posteriormente uma referência ao objeto excluído. O Git possui dois recursos que atenuam bastante este problema:

note: type: Plain text
en: Any object with modification time newer than the `--prune` date is kept, along with everything reachable from it.
pt_BR: Qualquer objeto com um tempo de modificação mais recente que a data `--prune` é mantido, junto com tudo o que pode ser acessado.

note: type: Plain text
en: Most operations that add an object to the database update the modification time of the object if it is already present so that #1 applies.
pt_BR: A maioria das operações que adicionam um objeto ao banco de dados atualiza a hora da modificação do objeto, caso já esteja presente para que #1 se aplique.

note: type: Plain text
en: However, these features fall short of a complete solution, so users who run commands concurrently have to live with some risk of corruption (which seems to be low in practice).
pt_BR: No entanto, estes recursos ficam aquém de uma solução completa; portanto, os usuários que executam comandos simultaneamente, precisam enfrentar algum risco de corrupção (o que na pratica, o risco parece ser baixo).

note: type: Plain text
en: The 'git gc --auto' command will run the 'pre-auto-gc' hook.  See linkgit:githooks[5] for more information.
pt_BR: O comando 'git gc --auto' executará o gancho 'pre-auto-gc'.  Para mais informações consulte linkgit:githooks[5].

note: type: Plain text
en: git-get-tar-commit-id - Extract commit ID from an archive created using git-archive
pt_BR: git-get-tar-commit-id - Extrai o ID do commit de um arquivo criado utilizando o comando git-archive

note: type: Plain text
en: Read a tar archive created by 'git archive' from the standard input and extract the commit ID stored in it.  It reads only the first 1024 bytes of input, thus its runtime is not influenced by the size of the tar archive very much.
pt_BR: Leia um arquivo tar criado pelo comando 'git archive' a partir da entrada padrão e extraia o ID do commit armazenado nele.  Ele lê apenas os primeiros 1024 bytes da entrada, portanto, o seu tempo de execução não é influenciado pelo tamanho do arquivo tar.

note: type: Plain text
en: If no commit ID is found, 'git get-tar-commit-id' quietly exists with a return code of 1.  This can happen if the archive had not been created using 'git archive' or if the first parameter of 'git archive' had been a tree ID instead of a commit ID or tag.
pt_BR: Caso nenhum ID do commit seja encontrado, o 'git get-tar-commit-id' encerra silenciosamente com um código de retorno 1.  Isso pode acontecer caso o arquivo não tenha sido criado utilizando o comando 'git archive' ou se o primeiro parâmetro do 'git archive' tenha sido um ID da árvore em vez de um ID ou tag do commit.

note: type: Plain text
en: git-grep - Print lines matching a pattern
pt_BR: git-grep - Imprima linhas que coincidam com um padrão

note: type: Plain text
en: 'git grep' [-a | --text] [-I] [--textconv] [-i | --ignore-case] [-w | --word-regexp]
    	   [-v | --invert-match] [-h|-H] [--full-name]
    	   [-E | --extended-regexp] [-G | --basic-regexp]
    	   [-P | --perl-regexp]
    	   [-F | --fixed-strings] [-n | --line-number] [--column]
    	   [-l | --files-with-matches] [-L | --files-without-match]
    	   [(-O | --open-files-in-pager) [<pager>]]
    	   [-z | --null]
    	   [ -o | --only-matching ] [-c | --count] [--all-match] [-q | --quiet]
    	   [--max-depth <depth>] [--[no-]recursive]
    	   [--color[=<when>] | --no-color]
    	   [--break] [--heading] [-p | --show-function]
    	   [-A <post-context>] [-B <pre-context>] [-C <context>]
    	   [-W | --function-context]
    	   [--threads <num>]
    	   [-f <file>] [-e] <pattern>
    	   [--and|--or|--not|(|)|-e <pattern>...]
    	   [--recurse-submodules] [--parent-basename <basename>]
    	   [ [--[no-]exclude-standard] [--cached | --no-index | --untracked] | <tree>...]
    	   [--] [<pathspec>...]
pt_BR: 'git grep' [-a | --text] [-I] [--textconv] [-i | --ignore-case] [-w | --word-regexp]
    	   [-v | --invert-match] [-h|-H] [--full-name]
    	   [-E | --extended-regexp] [-G | --basic-regexp]
    	   [-P | --perl-regexp]
    	   [-F | --fixed-strings] [-n | --line-number] [--column]
    	   [-l | --files-with-matches] [-L | --files-without-match]
    	   [(-O | --open-files-in-pager) [<pager>]]
    	   [-z | --null]
    	   [ -o | --only-matching ] [-c | --count] [--all-match] [-q | --quiet]
    	   [--max-depth <profundidade>] [--[no-]recursive]
    	   [--color[=<quando>] | --no-color]
    	   [--break] [--heading] [-p | --show-function]
    	   [-A <post-context>] [-B <pre-context>] [-C <context>]
    	   [-W | --function-context]
    	   [--threads <num>]
    	   [-f <arquivo>] [-e] <padrão>
    	   [--and|--or|--not|(|)|-e <padrão>...]
    	   [--recurse-submodules] [--parent-basename <basename>]
    	   [ [--[no-]exclude-standard] [--cached | --no-index | --untracked] | <árvore>...]
    	   [--] [<pathspec>...]

note: type: Plain text
en: Look for specified patterns in the tracked files in the work tree, blobs registered in the index file, or blobs in given tree objects.  Patterns are lists of one or more search expressions separated by newline characters.  An empty string as search expression matches all lines.
pt_BR: Procure por padrões especificados nos arquivos rastreados da árvore de trabalho, bolhas registradas no arquivo do índice ou nas bolhas de determinados objetos da árvore.  Os padrões são listas de uma ou mais expressões de pesquisa separadas por caracteres de nova linha.  Uma cadeia de caracteres vazia utilizada como uma expressão de pesquisa coincide com todas as linhas.

note: type: Plain text
en: If set to true, enable `-n` option by default.
pt_BR: Caso seja definido como `true`, é predefinido que a opção `-n` seja utilizada.

note: type: Plain text
en: If set to true, enable the `--column` option by default.
pt_BR: Caso seja definido como `true`, é predefinido que a opção `--column` seja utilizada.

note: type: Plain text
en: Set the default matching behavior. Using a value of 'basic', 'extended', 'fixed', or 'perl' will enable the `--basic-regexp`, `--extended-regexp`, `--fixed-strings`, or `--perl-regexp` option accordingly, while the value 'default' will return to the default matching behavior.
pt_BR: Define o comportamento de correspondência predefinido. A utilização de um valor 'basic', 'extended', 'fixed' ou 'perl' ativará as opções `--basic-regexp`, `--extended-regexp`, `--fixed-strings`, ou `--perl-regexp`, enquanto o valor 'default' retornará ao comportamento de coincidências já predefinida.

note: type: Plain text
en: If set to true, enable `--extended-regexp` option by default. This option is ignored when the `grep.patternType` option is set to a value other than 'default'.
pt_BR: Caso seja definido como `true`, a predefinição é que a opção `--full-name` seja utilizada. Esta opção é ignorada quando a opção de configuração `grep.patternType` for configurada com um valor diferente de 'default'.

note: type: Plain text
en: Number of grep worker threads to use. If unset (or set to 0), Git will use as many threads as the number of logical cores available.
pt_BR: Quantidade de threads de trabalho "grep" a serem utilizados. If unset (or set to 0), Git will use as many threads as the number of logical cores available.

note: type: Plain text
en: If set to true, enable `--full-name` option by default.
pt_BR: Caso seja definido como `true`, é predefinido que a opção `--full-name` seja utilizada.

note: type: Plain text
en: If set to true, fall back to git grep --no-index if git grep is executed outside of a git repository.  Defaults to false.
pt_BR: Caso seja definido como `true`, retorne para `git grep --no-index` caso o `git grep` seja executado fora de um repositório Git.  A predefinição retorna para `false`.

note: type: Plain text
en: Instead of searching tracked files in the working tree, search blobs registered in the index file.
pt_BR: Em vez de procurar por arquivos rastreados na árvore de trabalho, pesquisar por bolhas registradas no índice do arquivo.

note: type: Plain text
en: Search files in the current directory that is not managed by Git.
pt_BR: Localize os arquivos no diretório atual que não sejam gerenciados pelo Git.

note: type: Plain text
en: In addition to searching in the tracked files in the working tree, search also in untracked files.
pt_BR: Além de localizar nos arquivos rastreados da árvore de trabalho, localize também nos arquivos não rastreados.

note: type: Plain text
en: Also search in ignored files by not honoring the `.gitignore` mechanism. Only useful with `--untracked`.
pt_BR: Localize também nos arquivos ignorados, ignorando o mecanismo `.gitignore`. Útil apenas com a opção `--untracked`.

note: type: Plain text
en: Do not pay attention to ignored files specified via the `.gitignore` mechanism.  Only useful when searching files in the current directory with `--no-index`.
pt_BR: Não preste atenção aos arquivos informados que foram ignorados através do mecanismo `.gitignore`.  Útil apenas ao pesquisar por arquivos no diretório atual sem a opção `--no-index'.

note: type: Plain text
en: Recursively search in each submodule that is active and checked out in the repository.  When used in combination with the <tree> option the prefix of all submodule output will be the name of the parent project's <tree> object. This option has no effect if `--no-index` is given.
pt_BR: Pesquise recursivamente em cada submódulo ativo e averiguado no repositório.  Quando utilizado em combinação com a opção `<tree>`, todo o prefixo gerado do submódulo será o nome do objeto `<tree>` na origem do projeto. Esta opção não tem qualquer efeito caso `--no-index` seja utilizado.

note: type: Plain text
en: Process binary files as if they were text.
pt_BR: Processe os arquivos binários como se fossem texto.

note: type: Plain text
en: Honor textconv filter settings.
pt_BR: Honre com as configurações do filtro "textconv".

note: type: Plain text
en: Do not honor textconv filter settings.  This is the default.
pt_BR: Não respeite as configurações do filtro 'textconv'.  Esta é a predefinição.

note: type: Plain text
en: Ignore case differences between the patterns and the files.
pt_BR: Ignore as diferenças entre maiúsculas e minúsculas entre os padrões e os arquivos.

note: type: Plain text
en: Don't match the pattern in binary files.
pt_BR: Não coincida padrões em arquivos binários.

note: type: Labeled list
en: --max-depth <depth>
pt_BR: --max-depth <profundidade>

note: type: Plain text
en: For each <pathspec> given on command line, descend at most <depth> levels of directories. A value of -1 means no limit.  This option is ignored if <pathspec> contains active wildcards.  In other words if "a*" matches a directory named "a*", "*" is matched literally so --max-depth is still effective.
pt_BR: Para cada `<pathspec>` utilizado na linha de comandos, desça a <profundidade> máxima dos níveis do diretório. Um valor de -1 significa sem limite.  Esta opção será ignorada caso <pathspec> contenha curingas ativos.  Em outras palavras, caso "a*" coincida com um diretório chamado "a*", o curinga "*" coincidirá literalmente para que `--max-depth` ainda seja eficaz.

note: type: Plain text
en: Same as `--max-depth=-1`; this is the default.
pt_BR: O mesmo que `--max-depth=-1`; Esta é a predefinição.

note: type: Plain text
en: Same as `--max-depth=0`.
pt_BR: O mesmo que `--max-depth=0`.

note: type: Plain text
en: Match the pattern only at word boundary (either begin at the beginning of a line, or preceded by a non-word character; end at the end of a line or followed by a non-word character).
pt_BR: Coincida com o padrão apenas no limite da palavra (inicie no início de uma linha ou preceda um caractere que não seja uma palavra; termine no final de uma linha ou seguido por um caractere que não seja uma palavra).

note: type: Plain text
en: Select non-matching lines.
pt_BR: Selecione as linhas que não coincidam.

note: type: Plain text
en: By default, the command shows the filename for each match.  `-h` option is used to suppress this output.  `-H` is there for completeness and does not do anything except it overrides `-h` given earlier on the command line.
pt_BR: É predefinido que o comando exiba o nome do arquivo para cada coincidência.  A opção `-h` é utilizada para suprimir esta saída.  A opção `-H` existe para ser completo e não faz nada exceto a reposição do `-h` utilizado anteriormente na linha de comando.

note: type: Plain text
en: When run from a subdirectory, the command usually outputs paths relative to the current directory.  This option forces paths to be output relative to the project top directory.
pt_BR: O comando geralmente gera caminhos relativos ao diretório atual ao ser executado a partir de um subdiretório.  Esta opção impõem que os caminhos saiam relativos ao topo do diretório do projeto.

note: type: Plain text
en: Use POSIX extended/basic regexp for patterns.  Default is to use basic regexp.
pt_BR: Para os padrões, utilize uma expressão regular (regexp) POSIX estendido/básico.  A predefinição é utilizar uma expressão regular (regexp) básica.

note: type: Plain text
en: Use Perl-compatible regular expressions for patterns.
pt_BR: Para os padrões, utilize expressões regulares compatíveis com o Perl.

note: type: Plain text
en: Support for these types of regular expressions is an optional compile-time dependency. If Git wasn't compiled with support for them providing this option will cause it to die.
pt_BR: A compatibilidade para estes tipos de expressões regulares é uma dependência opcional no momento da compilação. Caso o Git não tenha sido compilado com este suporte, o Git será encerrado caso esta opção seja utilizada.

note: type: Plain text
en: Use fixed strings for patterns (don't interpret pattern as a regex).
pt_BR: Utilize uma cadeia de caracteres fixos para os padrões (não interprete o padrão como uma expressão regular "regex").

note: type: Plain text
en: Prefix the line number to matching lines.
pt_BR: Prefixe o número da linha às linhas coincidentes.

note: type: Plain text
en: Prefix the 1-indexed byte-offset of the first match from the start of the matching line.
pt_BR: Prefixe o deslocamento do byte (byte-offset) indexado em 1 da primeira coincidência desde o início da linha coincidente.

note: type: Plain text
en: Instead of showing every matched line, show only the names of files that contain (or do not contain) matches.  For better compatibility with 'git diff', `--name-only` is a synonym for `--files-with-matches`.
pt_BR: Em vez de exibir todas as linhas coincidentes, exiba apenas os nomes dos arquivos que contenha (ou não) as coincidências.  Para uma melhor compatibilidade com o comando 'git diff', a opção `--name-only` é um sinônimo de `--files-with-matches`.

note: type: Plain text
en: Open the matching files in the pager (not the output of 'grep').  If the pager happens to be "less" or "vi", and the user specified only one pattern, the first file is positioned at the first match automatically. The `pager` argument is optional; if specified, it must be stuck to the option without a space. If `pager` is unspecified, the default pager will be used (see `core.pager` in linkgit:git-config[1]).
pt_BR: Abra os arquivos coincidentes no pager (não a saída do 'grep').  Caso o pager seja "less" (menor) ou "vi" e o usuário usar apenas um padrão, o primeiro arquivo será posicionado na primeira coincidência de forma automática. O argumento `pager` é opcional; se utilizado, deverá estar preso à opção sem um espaço. Caso `pager` não seja utilizado, a predefinição do pager será utilizado (consulte `core.pager` no linkgit:git-config[1]).

note: type: Plain text
en: Use \0 as the delimiter for pathnames in the output, and print them verbatim. Without this option, pathnames with "unusual" characters are quoted as explained for the configuration variable core.quotePath (see glinkgit:it-config[1]).
pt_BR: Use '\0' como um delimitador para os nomes do caminho na saída, e as imprima literalmente. Sem esta opção, os nomes do caminho com caracteres "incomuns" são citados como explicado na variável de configuração `core.quotePath` (consulte glinkgit:it-config[1]).

note: type: Plain text
en: Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.
pt_BR: Imprima apenas as partes que coincidam (não vazias) de uma linha coincidente com cada uma dessas partes em uma linha separada na saída.

note: type: Plain text
en: Instead of showing every matched line, show the number of lines that match.
pt_BR: Em vez de exibir todas as linhas coincidentes, exiba a quantidade de linhas coincidentes.

note: type: Plain text
en: Show colored matches.  The value must be always (the default), never, or auto.
pt_BR: Exibir as coincidências em cores.  Always (sempre) é o valor predefinido, as outras opções são "never" ou "auto".

note: type: Plain text
en: Turn off match highlighting, even when the configuration file gives the default to color output.  Same as `--color=never`.
pt_BR: Desative o destacamento das coincidências, mesmo quando o arquivo da configuração fornecer a predefinição para a saída colorida.  O mesmo que `--color=never`.

note: type: Plain text
en: Print an empty line between matches from different files.
pt_BR: Imprima uma linha vazia entre as coincidências dos diferentes arquivos.

note: type: Plain text
en: Show the filename above the matches in that file instead of at the start of each shown line.
pt_BR: Exiba o nome do arquivo acima das coincidências nesse arquivo em vez de exibir no início de cada linha.

note: type: Plain text
en: Show the preceding line that contains the function name of the match, unless the matching line is a function name itself.  The name is determined in the same way as 'git diff' works out patch hunk headers (see 'Defining a custom hunk-header' in linkgit:gitattributes[5]).
pt_BR: Exibe a linha anterior que contenha o nome da função da coincidência, a menos que a linha correspondente seja o próprio nome da função.  O nome é determinado da mesma maneira que o 'git diff' elabora os cabeçalhos do patch hunk (consulte 'Definindo um cabeçalho personalizado do hunk' em linkgit:gitattributes[5]).

note: type: Plain text
en: Show <num> leading and trailing lines, and place a line containing `--` between contiguous groups of matches.
pt_BR: Exiba um `<num>` (quantidade) de linhas iniciais e finais, coloque uma linha contendo `--` entre os grupos contínuos coincidentes.

note: type: Plain text
en: Show <num> trailing lines, and place a line containing `--` between contiguous groups of matches.
pt_BR: Exibe `<num>` (quantidade) de linhas finais e coloque uma linha contendo `--` entre os grupos contínuos coincidentes.

note: type: Plain text
en: Show <num> leading lines, and place a line containing `--` between contiguous groups of matches.
pt_BR: Exibe `<num>` (quantidade) de linhas iniciais e coloque uma linha contendo `--` entre os grupos contínuos coincidentes.

note: type: Plain text
en: Show the surrounding text from the previous line containing a function name up to the one before the next function name, effectively showing the whole function in which the match was found.
pt_BR: Exibe o texto ao redor da linha anterior que contenha um nome da função até o nome anterior ao próximo, exibindo efetivamente toda a função em que a coincidência foi encontrada.

note: type: Plain text
en: Number of grep worker threads to use.  See `grep.threads` in 'CONFIGURATION' for more information.
pt_BR: Quantidade de threads de trabalho "grep" a serem utilizados.  Para mais informações consulte `grep.threads` em 'CONFIGURAÇÃO'.

note: type: Labeled list
en: -f <file>
pt_BR: -f <arquivo>

note: type: Plain text
en: Read patterns from <file>, one per line.
pt_BR: Leia os padrões vindos de um `<arquivo>`, um por linha.

note: type: Plain text
en: Passing the pattern via <file> allows for providing a search pattern containing a \0.
pt_BR: A passagem do padrão através do <arquivo> permite o provimento de um padrão de pesquisa contendo um '\0'.

note: type: Plain text
en: Not all pattern types support patterns containing \0. Git will error out if a given pattern type can't support such a pattern. The `--perl-regexp` pattern type when compiled against the PCRE v2 backend has the widest support for these types of patterns.
pt_BR: Nem todos os tipos de padrões suportam padrões contendo '\0'. O Git irá exibir um erro caso um determinado tipo de padrão não tiver compatibilidade com ele. O tipo do padrão `--perl-regexp` quando compilado contra a estrutura do PCRE v2 tem uma compatibilidade mais ampla para esses tipos de padrões.

note: type: Plain text
en: In versions of Git before 2.23.0 patterns containing \0 would be silently considered fixed. This was never documented, there were also odd and undocumented interactions between e.g. non-ASCII patterns containing \0 and `--ignore-case`.
pt_BR: Nas versões do Git anteriores à 2.23.0, os padrões contendo '\0' seriam silenciosamente considerados corrigidos. Isso nunca foi documentado, também houve interações ímpares e não documentadas entre, por exemplo, os padrões não ASCII contendo '\0' e `--ignore-case`.

note: type: Plain text
en: In future versions we may learn to support patterns containing \0 for more search backends, until then we'll die when the pattern type in question doesn't support them.
pt_BR: Em futuras versões, podemos aprender a oferecer suporte aos padrões contendo '\0' para mais estruturas de pesquisa, até então morreremos quando o tipo do padrão em questão não mais os suportar.

note: type: Plain text
en: The next parameter is the pattern. This option has to be used for patterns starting with `-` and should be used in scripts passing user input to grep.  Multiple patterns are combined by 'or'.
pt_BR: O próximo parâmetro é o padrão. Esta opção deve ser utilizada para padrões que comecem com `-` e deve ser utilizado em scripts que passam a entrada do usuário ao "grep".  Os vários padrões são combinados por 'or' (ou).

note: type: Plain text
en: Specify how multiple patterns are combined using Boolean expressions.  `--or` is the default operator.  `--and` has higher precedence than `--or`.  `-e` has to be used for all patterns.
pt_BR: Determina como os vários padrões são combinados utilizando expressões booleanas.  `--or` é o operador predefinido.  `--and` tem maior precedência que `--or`.  `-e` deve ser utilizado para todos os padrões.

note: type: Plain text
en: When giving multiple pattern expressions combined with `--or`, this flag is specified to limit the match to files that have lines to match all of them.
pt_BR: Ao utilizar múltiplas expressões de padrões combinadas com `--or`, este flag é utilizado para limitar a coincidência nos arquivos que possuam linhas que coincidam com todas elas.

note: type: Plain text
en: Do not output matched lines; instead, exit with status 0 when there is a match and with non-zero status when there isn't.
pt_BR: Não produza linhas coincidentes; em vez disso, encerre com uma condição 0 quando houver uma coincidência e diferente de 0 quando não houver.

note: type: Labeled list
en: <tree>...
pt_BR: <árvore>...

note: type: Plain text
en: Instead of searching tracked files in the working tree, search blobs in the given trees.
pt_BR: Em vez de localizar os arquivos rastreados na árvore de trabalho, localize as bolhas nas árvores informadas.

note: type: Plain text
en: Signals the end of options; the rest of the parameters are <pathspec> limiters.
pt_BR: Sinaliza o fim das opções; o restante dos parâmetros são os limitadores do `<pathspec>`.

note: type: Plain text
en: If given, limit the search to paths matching at least one pattern.  Both leading paths match and glob(7) patterns are supported.
pt_BR: Se utilizado, limite a localização dos caminhos que coincidam a pelo menos um padrão.  Ambas são compatíveis, as coincidências dos caminhos principais e os padrões bolha(7).

note: type: Plain text
en: Looks for `time_t` in all tracked .c and .h files in the working directory and its subdirectories.
pt_BR: Procura por `time_t` em todos os arquivos rastreados .c e .h no diretório de trabalho e em seus subdiretórios.

note: type: Plain text
en: Looks for a line that has `#define` and either `MAX_PATH` or `PATH_MAX`.
pt_BR: Procura por uma linha que contenha `#define` e até mesmo `MAX_PATH` ou `PATH_MAX`.

note: type: Plain text
en: Looks for a line that has `NODE` or `Unexpected` in files that have lines that match both.
pt_BR: Procura por uma linha que tenha `NODE` ou `Unexpected` nos arquivos que tenham linhas que coincidam com ambas.

note: type: Labeled list
en: `git grep solution -- :^Documentation`
pt_BR: `git grep solução -- :^Documentação`

note: type: Plain text
en: Looks for `solution`, excluding files in `Documentation`.
pt_BR: Procura por `solução`, excluindo os arquivos em `Documentação`.

note: type: Title -
en: NOTES ON THREADS
pt_BR: NOTAS SOBRE OS ENCADEAMENTOS

note: type: Plain text
en: The `--threads` option (and the grep.threads configuration) will be ignored when `--open-files-in-pager` is used, forcing a single-threaded execution.
pt_BR: A opção `--threads` (e a configuração 'grep.threads') serão ignoradas quando a opção `--open-files-in-pager` for utilizado, impondo uma execução com thread único.

note: type: Plain text
en: When grepping the object store (with `--cached` or giving tree objects), running with multiple threads might perform slower than single threaded if `--textconv` is given and there're too many text conversions. So if you experience low performance in this case, it might be desirable to use `--threads=1`.
pt_BR: Ao fazer um 'grep' em um objeto armazenado (com a opção `--cached` ou oferecendo três objetos), a execução com várias threads poderá ser mais lenta do que uma thread única caso `--textconv` seja informado e haja muitas conversões de texto. Portanto, caso esteja com baixo desempenho, pode ser desejável utilizar `--threads=1`.

note: type: Plain text
en: git-gui - A portable graphical interface to Git
pt_BR: git-gui - Uma interface gráfica portátil para o Git

note: type: Plain text
en: 'git gui' [<command>] [arguments]
pt_BR: 'git gui' [<comando>] [argumentos]

note: type: Plain text
en: A Tcl/Tk based graphical user interface to Git.  'git gui' focuses on allowing users to make changes to their repository by making new commits, amending existing ones, creating branches, performing local merges, and fetching/pushing to remote repositories.
pt_BR: Uma interface gráfica baseada em Tcl / Tk para o Git.  O 'git gui' se concentra em permitir que os usuários façam alterações no seu repositório fazendo novos commit, melhorando os já existentes, criando ramificações, realizando mesclagens locais e buscando/impulsionando para os repositórios remotos.

note: type: Plain text
en: Unlike 'gitk', 'git gui' focuses on commit generation and single file annotation and does not show project history.  It does however supply menu actions to start a 'gitk' session from within 'git gui'.
pt_BR: Diferentemente do 'gitk', o comando 'git gui' se concentra na geração do commit e na anotação única do arquivo e não exibe o histórico do projeto.  No entanto, ele fornece as ações do menu para iniciar uma sessão 'gitk' a partir do comando 'git gui'.

note: type: Plain text
en: 'git gui' is known to work on all popular UNIX systems, Mac OS X, and Windows (under both Cygwin and MSYS).  To the extent possible OS specific user interface guidelines are followed, making 'git gui' a fairly native interface for users.
pt_BR: Sabe-se que o 'git gui' funciona em todos os sistemas UNIX populares, no Mac OS X e no Windows (tanto no Cygwin quanto no MSYS).  Na medida do possível, são seguidas as diretrizes específicas do Sistema Operacional quanto a interface do usuário, tornando o comando 'git gui' como uma interface bastante nativa para os usuários.

note: type: Title -
en: COMMANDS
pt_BR: COMANDOS

note: type: Plain text
en: Start a blame viewer on the specified file on the given version (or working directory if not specified).
pt_BR: Inicie um visualizador "blame" em determinado arquivo na versão informada (ou no diretório de trabalho, caso não seja informado).

note: type: Plain text
en: Start a tree browser showing all files in the specified commit.  Files selected through the browser are opened in the blame viewer.
pt_BR: Inicie a navegação na árvore exibindo todos os arquivos no commit especificado.  Os arquivos selecionados pelo navegador são abertos no visualizador "blame".

note: type: Plain text
en: Start 'git gui' and arrange to make exactly one commit before exiting and returning to the shell.  The interface is limited to only commit actions, slightly reducing the application's startup time and simplifying the menubar.
pt_BR: Inicie o 'git gui' e organize para fazer exatamente um commit antes de encerrar e retornar ao shell.  A interface é limitada a apenas as ações do commit, reduzindo um pouco o tempo da inicialização do aplicativo e simplificando a barra de menus.

note: type: Labeled list
en: version
pt_BR: versão

note: type: Plain text
en: Display the currently running version of 'git gui'.
pt_BR: Exiba a versão atual do 'git gui' em execução.

note: type: Title -
en: Examples
pt_BR: Exemplos

note: type: Plain text
en: Show the contents of the file 'Makefile' in the current working directory, and provide annotations for both the original author of each line, and who moved the line to its current location.  The uncommitted file is annotated, and uncommitted changes (if any) are explicitly attributed to 'Not Yet Committed'.
pt_BR: Exibe o conteúdo do arquivo 'Makefile' no diretório de trabalho atual e fornece as anotações do autor original de cada linha, informando quem foi que moveu a linha para o seu local atual e respectivas alterações.  O arquivo que não foi feito o commit é anotado e as alterações não confirmadas (se houver) são explicitamente atribuídas a 'Ainda não confirmado'.

note: type: Plain text
en: Show the contents of 'Makefile' in revision 'v0.99.8' and provide annotations for each line.  Unlike the above example the file is read from the object database and not the working directory.
pt_BR: Exibe o conteúdo da versão do 'Makefile' na revisão 'v0.99.8' e informa as suas respectivas anotações em cada linha.  Diferente do exemplo acima, o arquivo é lido no banco de dados do objeto e não no diretório de trabalho.

note: type: Plain text
en: Loads annotations as described above and automatically scrolls the view to center on line '100'.
pt_BR: Carrega anotações conforme descrito acima e rola automaticamente a exibição para centralizar na linha de número '100'.

note: type: Plain text
en: Make one commit and return to the shell when it is complete.  This command returns a non-zero exit code if the window was closed in any way other than by making a commit.
pt_BR: Faça um commit e retorne ao shell quando estiver concluído.  Este comando retorna um código diferente de zero na saída caso a janela seja fechada de alguma outra maneira que não seja ao fazer um commit.

note: type: Plain text
en: Automatically enter the 'Amend Last Commit' mode of the interface.
pt_BR: Entre automaticamente no modo 'Altere o Último Commit' da interface.

note: type: Plain text
en: Behave as normal citool, but instead of making a commit simply terminate with a zero exit code. It still checks that the index does not contain any unmerged entries, so you can use it as a GUI version of linkgit:git-mergetool[1]
pt_BR: Se comporta como o "citool" normal mas em vez de fazer um commit, simplesmente encerre com um código de saída igual a zero. Ele ainda verifica se o índice não contém entradas que não foram mescladas, para que você possa utilizá-lo como uma versão gráfica do linkgit:git-mergetool[1]

note: type: Plain text
en: Same as `git gui citool` (above).
pt_BR: O mesmo que `git gui citool` (acima).

note: type: Plain text
en: Show a browser for the tree of the 'maint' branch.  Files selected in the browser can be viewed with the internal blame viewer.
pt_BR: Exibe um navegador para a árvore do ramo 'maint'.  Os arquivos selecionados no navegador podem ser visualizados com o visualizador interno.

note: type: Plain text
en: The Git repository browser.  Shows branches, commit history and file differences.  gitk is the utility started by 'git gui''s Repository Visualize actions.
pt_BR: O navegador do repositório Git.  Exibe as ramificações, o histórico do commit e a diferença dos arquivos. O gitk é o utilitário iniciado através das ações da Visualização do Repositório 'git gui'.

note: type: Title -
en: Other
pt_BR: Outros

note: type: Plain text
en: 'git gui' is actually maintained as an independent project, but stable versions are distributed as part of the Git suite for the convenience of end users.
pt_BR: O 'git gui' é atualmente mantido como um projeto independente, porém as versões estáveis são distribuídas como parte do pacote Git para a conveniência dos usuários finais.

note: type: Plain text
en: The official repository of the 'git gui' project can be found at:
pt_BR: O repositório oficial do projeto 'git gui' pode ser encontrado em:

note: type: Plain text
en: git-hash-object - Compute object ID and optionally creates a blob from a file
pt_BR: git-hash-object - Compute a ID do objeto e opcionalmente crie uma bolha a partir de um arquivo

note: type: Plain text
en: 'git hash-object' [-t <type>] [-w] [--path=<file>|--no-filters] [--stdin [--literally]] [--] <file>...
    'git hash-object' [-t <type>] [-w] --stdin-paths [--no-filters]
pt_BR: 'git hash-object' [-t <tipo>] [-w] [--path=<arquivo>|--no-filters] [--stdin [--literally]] [--] <arquivo>...
    'git hash-object' [-t <tipo>] [-w] --stdin-paths [--no-filters]

note: type: Plain text
en: Computes the object ID value for an object with specified type with the contents of the named file (which can be outside of the work tree), and optionally writes the resulting object into the object database.  Reports its object ID to its standard output.  When <type> is not specified, it defaults to "blob".
pt_BR: Calcula o valor do ID do objeto para um objeto com o tipo especificado com o conteúdo do nome do arquivo (que pode estar fora da árvore de trabalho) e opcionalmente, grava o objeto gerado no banco de dados do objeto.  Informa o ID do objeto na saída padrão.  A predefinição retorna para "blob" quando o <tipo> não é informado.

note: type: Labeled list
en: -t <type>
pt_BR: -t <tipo>

note: type: Plain text
en: Specify the type (default: "blob").
pt_BR: Especifique o tipo (Predefinição: "blob" (bolha)).

note: type: Plain text
en: Actually write the object into the object database.
pt_BR: Registre de fato o objeto dentro do objeto do banco de dados.

note: type: Plain text
en: Read the object from standard input instead of from a file.
pt_BR: Leia o objeto da entrada padrão em vez de um arquivo.

note: type: Plain text
en: Read file names from the standard input, one per line, instead of from the command-line.
pt_BR: Leia os nomes dos arquivos na entrada padrão, um por linha, em vez de ler da linha de comando.

note: type: Plain text
en: Hash object as it were located at the given path. The location of file does not directly influence on the hash value, but path is used to determine what Git filters should be applied to the object before it can be placed to the object database, and, as result of applying filters, the actual blob put into the object database may differ from the given file. This option is mainly useful for hashing temporary files located outside of the working directory or files read from stdin.
pt_BR: O objeto hash da maneira como ele foi encontrado no caminho informado. O local do arquivo não influencia diretamente o valor do hash, mas o caminho é utilizado para determinar quais os filtros Git que devem ser aplicados ao objeto antes de serem colocados no banco de dados do objeto, como resultado da aplicação dos filtros, a bolha real que foi colocada no banco de dados do objeto pode diferir do arquivo informado. Essa opção é útil principalmente para fazer o hash dos arquivos temporários localizados fora do diretório de trabalho ou nos arquivos lidos através do stdin.

note: type: Plain text
en: Hash the contents as is, ignoring any input filter that would have been chosen by the attributes mechanism, including the end-of-line conversion. If the file is read from standard input then this is always implied, unless the `--path` option is given.
pt_BR: Faça o hash do conteúdo da forma que estiver, ignorando qualquer filtro na entrada que teria sido selecionado pelo mecanismo dos atributos, incluindo a conversão da quebra de linha. Se o arquivo foi lido a partir da entrada padrão, isso sempre será feito de forma implícita, a menos que a opção `--path` seja utilizada.

note: type: Plain text
en: Allow `--stdin` to hash any garbage into a loose object which might not otherwise pass standard object parsing or git-fsck checks. Useful for stress-testing Git itself or reproducing characteristics of corrupt or bogus objects encountered in the wild.
pt_BR: Permita que a opção `--stdin` faça o hash de qualquer lixo em um objeto solto que, de outra forma, não passaria na análise do objeto predefinido ou nas verificações do 'git-fsck'. Útil para realizar testes extensivos no Git ou reproduzir as características dos objetos corrompidos ou falsos encontrados por aí.

note: type: Plain text
en: git-help - Display help information about Git
pt_BR: git-help - Exiba informações de ajuda sobre o Git

note: type: Plain text
en: With no options and no COMMAND or GUIDE given, the synopsis of the 'git' command and a list of the most commonly used Git commands are printed on the standard output.
pt_BR: Sem opções e sem informar "COMMAND" ou "GUIDE", serão exibidos na saída padrão um resumo do comando 'git' e uma lista dos comandos Git mais comumente utilizados.

note: type: Plain text
en: If the option `--all` or `-a` is given, all available commands are printed on the standard output.
pt_BR: Caso a opção `--all` ou `-a` seja utilizada, todos os comandos disponíveis serão exibidos na saída padrão.

note: type: Plain text
en: If the option `--guide` or `-g` is given, a list of the useful Git guides is also printed on the standard output.
pt_BR: Caso a opção `--guide` ou `-g` seja utilizada, uma lista dos guias úteis do Git também será exibida na saída padrão.

note: type: Plain text
en: If a command, or a guide, is given, a manual page for that command or guide is brought up. The 'man' program is used by default for this purpose, but this can be overridden by other options or configuration variables.
pt_BR: Caso um comando, ou um guia, seja utilizado, uma página do manual para esse comando ou guia será exibido. É predefinido que o programa 'man' seja utilizado para esta finalidade, porém pode ser substituído por outras opções ou variáveis de configuração.

note: type: Plain text
en: If an alias is given, git shows the definition of the alias on standard output. To get the manual page for the aliased command, use `git COMMAND --help`.
pt_BR: Caso um apelido seja utilizado, o git exibe a definição do apelido na saída padrão. Para ver a página do manual para o comando ou apelido em questão, utilize `git COMMAND --help`.

note: type: Plain text
en: Note that `git --help ...` is identical to `git help ...` because the former is internally converted into the latter.
pt_BR: Observe que o `git --help ...` é idêntico ao `git help ...` porque o primeiro é convertido internamente para o último.

note: type: Plain text
en: To display the linkgit:git[1] man page, use `git help git`.
pt_BR: Para exibir a página do manual linkgit:git[1], utilize o comando `git help git`.

note: type: Plain text
en: This page can be displayed with 'git help help' or `git help --help`
pt_BR: Esta página pode ser exibida com 'git help help' ou `git help --help`

note: type: Plain text
en: Prints all the available commands on the standard output. This option overrides any given command or guide name.
pt_BR: Exiba todos os comandos disponíveis na saída padrão. Esta opção substitui qualquer outro comando ou nome da guia.

note: type: Plain text
en: When used with `--all` print description for all recognized commands. This is the default.
pt_BR: Quando utilizado com a opção `--all`, imprima todas as descrições para todos os comandos que forem reconhecidos. Esta é a predefinição.

note: type: Plain text
en: List all available configuration variables. This is a short summary of the list in linkgit:git-config[1].
pt_BR: Liste todas as variáveis de configuração disponíveis. Este é um breve resumo da lista em linkgit:git-config[1].

note: type: Plain text
en: Prints a list of useful guides on the standard output. This option overrides any given command or guide name.
pt_BR: Exibe uma lista das guias úteis na saída padrão. Esta opção substitui qualquer outro comando ou nome da guia.

note: type: Plain text
en: Display manual page for the command in the 'info' format. The 'info' program will be used for that purpose.
pt_BR: Exiba a página do manual do comando no formato 'info'. O programa 'info' será utilizado para este fim.

note: type: Plain text
en: Display manual page for the command in the 'man' format. This option may be used to override a value set in the `help.format` configuration variable.
pt_BR: Exiba a página do manual para o comando no formato 'man'. Esta opção pode ser utilizada para substituir um valor definido na variável de configuração `help.format`.

note: type: Plain text
en: By default the 'man' program will be used to display the manual page, but the `man.viewer` configuration variable may be used to choose other display programs (see below).
pt_BR: É predefinido que o programa 'man' será utilizado para exibir a página do manual, mas a variável de configuração `man.viewer` pode ser utilizada para configurar outros programas de exibição (veja abaixo).

note: type: Plain text
en: Display manual page for the command in the 'web' (HTML)  format. A web browser will be used for that purpose.
pt_BR: Exiba a página do manual do comando no formato 'web' (HTML). Um navegador da web será utilizado para este fim.

note: type: Plain text
en: The web browser can be specified using the configuration variable `help.browser`, or `web.browser` if the former is not set. If none of these config variables is set, the 'git web{litdd}browse' helper script (called by 'git help') will pick a suitable default. See linkgit:git-web{litdd}browse[1] for more information about this.
pt_BR: O navegador da web pode ser definido utilizando a variável de configuração `help.browser` ou` web.browser` se o primeiro já não esteja definido. Caso nenhuma destas configurações sejam definidas, o script de ajuda `git web{litdd}browse` (invocado através do comando `git help`) por predefinição será escolhida a melhor opção. Para obter mais informações, consulte linkgit:git-web{litdd}browse[1].

note: type: Title -
en: CONFIGURATION VARIABLES
pt_BR: VARIÁVEIS DE CONFIGURAÇÃO

note: type: Plain text
en: If no command-line option is passed, the `help.format` configuration variable will be checked. The following values are supported for this variable; they make 'git help' behave as their corresponding command- line option:
pt_BR: A variável de configuração `help.format` será verificada caso nenhuma opção na linha de comando for utilizada. Os seguintes valores são compatíveis com esta variável; eles fazem com que 'git help' se comporte como a sua opção na linha de comando correspondente:

note: type: Plain text
en: "man" corresponds to '-m|--man',
pt_BR: "man" correspondente a '-m|--man',

note: type: Plain text
en: "info" corresponds to '-i|--info',
pt_BR: "info" correspondente a '-i|--info',

note: type: Plain text
en: "web" or "html" correspond to '-w|--web'.
pt_BR: "web" ou "html" correspondente a '-w|--web'.

note: type: Title ~
en: help.browser, web.browser and browser.<tool>.path
pt_BR: help.browser, web.browser e browser.<ferramenta>.path

note: type: Plain text
en: The `help.browser`, `web.browser` and `browser.<tool>.path` will also be checked if the 'web' format is chosen (either by command-line option or configuration variable). See '-w|--web' in the OPTIONS section above and linkgit:git-web{litdd}browse[1].
pt_BR: O `help.browser`, `web.browser` e `browser.<ferramenta>.path` também serão averiguados caso o formato 'web' seja selecionado (seja por uma opção na linha de comando ou por uma variável de configuração). Consulte '-w|--web' na seção OPÇÕES acima e linkgit:git-web{litdd}browse[1].

note: type: Plain text
en: The `man.viewer` configuration variable will be checked if the 'man' format is chosen. The following values are currently supported:
pt_BR: A variável de configuração `man.viewer` será verificada caso o formato 'man' seja selecionado. Os seguintes valores são compatíveis atualmente:

note: type: Plain text
en: "man": use the 'man' program as usual,
pt_BR: O "man": utiliza o programa 'man' como de costume,

note: type: Plain text
en: "woman": use 'emacsclient' to launch the "woman" mode in emacs (this only works starting with emacsclient versions 22),
pt_BR: o "woman": utiliza o 'emacsclient' para iniciar o modo "woman" no emacs (isso só funciona a partir das versões 22 do emacsclient),

note: type: Plain text
en: "konqueror": use 'kfmclient' to open the man page in a new konqueror tab (see 'Note about konqueror' below).
pt_BR: o "konqueror": utiliza o 'kfmclient' para abrir a página do manual em uma nova guia do konqueror (consulte 'Nota sobre o konqueror' abaixo).

note: type: Plain text
en: Values for other tools can be used if there is a corresponding `man.<tool>.cmd` configuration entry (see below).
pt_BR: Os valores para as outras ferramentas podem ser utilizadas caso haja uma entrada de configuração correspondente `man.<ferramenta>.cmd` (veja abaixo).

note: type: Plain text
en: Multiple values may be given to the `man.viewer` configuration variable. Their corresponding programs will be tried in the order listed in the configuration file.
pt_BR: Vários valores que podem ser utilizados na variável de configuração `man.viewer`. Os seus programas correspondentes serão tentados na ordem listada no arquivo de configuração.

note: type: Plain text
en: For example, this configuration:
pt_BR: Esta configuração por exemplo:

note: type: Plain text
en: will try to use konqueror first. But this may fail (for example, if DISPLAY is not set) and in that case emacs' woman mode will be tried.
pt_BR: tentará utilizar o konqueror primeiro. Mas isso pode falhar (caso a variável DISPLAY não estiver definido por exemplo) e nesse caso, será feito a tentativa no modo woman do emacs.

note: type: Plain text
en: If everything fails, or if no viewer is configured, the viewer specified in the `GIT_MAN_VIEWER` environment variable will be tried.  If that fails too, the 'man' program will be tried anyway.
pt_BR: Caso tudo falhe, ou caso nenhum visualizador esteja configurado, será feito uma tentativa no visualizador especificado na variável de ambiente `GIT_MAN_VIEWER`.  Caso isso também falhe, o programa 'man' será testado mesmo assim.

note: type: Title ~
en: man.<tool>.path
pt_BR: man.<ferramenta>.path

note: type: Plain text
en: You can explicitly provide a full path to your preferred man viewer by setting the configuration variable `man.<tool>.path`. For example, you can configure the absolute path to konqueror by setting 'man.konqueror.path'. Otherwise, 'git help' assumes the tool is available in PATH.
pt_BR: Você pode informar de forma explicita um caminho completo para o seu visualizador man preferido, definindo a variável de configuração `man.<ferramenta>.path`. Por exemplo, você pode configurar o caminho absoluto para o konqueror, configurando 'man.konqueror.path'. Caso contrário, 'git help' assume que a ferramenta está disponível no seu `PATH`.

note: type: Title ~
en: man.<tool>.cmd
pt_BR: man.<ferramenta>.cmd

note: type: Plain text
en: When the man viewer, specified by the `man.viewer` configuration variables, is not among the supported ones, then the corresponding `man.<tool>.cmd` configuration variable will be looked up. If this variable exists then the specified tool will be treated as a custom command and a shell eval will be used to run the command with the man page passed as arguments.
pt_BR: Quando o visualizador man, definido através das variáveis de configuração `man.viewer`, não estiver entre as que são compatíveis, a variável de configuração correspondente `man.<ferramenta>.cmd` será pesquisada. Caso essa variável exista, a ferramenta informada será tratada como um comando personalizado e um shell eval será utilizado para executar o comando com a página do manual passada como argumentos.

note: type: Title ~
en: Note about konqueror
pt_BR: Uma observação sobre o konqueror

note: type: Plain text
en: When 'konqueror' is specified in the `man.viewer` configuration variable, we launch 'kfmclient' to try to open the man page on an already opened konqueror in a new tab if possible.
pt_BR: Quando o 'konqueror' for definido na variável de configuração `man.viewer`, iniciamos o 'kfmclient' para tentar abrir a página do manual em um konqueror já aberto porém, em uma nova guia, se for possível.

note: type: Plain text
en: For consistency, we also try such a trick if 'man.konqueror.path' is set to something like `A_PATH_TO/konqueror`. That means we will try to launch `A_PATH_TO/kfmclient` instead.
pt_BR: Para uma maior consistência, também tentamos esse truque caso 'man.konqueror.path' esteja definido em algo como `UM_CAMINHO_PARA_O/konqueror`. Significa que em vez disso, tentaremos iniciar o `UM_CAMINHO_PARA_O/kfmclient`.

note: type: Plain text
en: If you really want to use 'konqueror', then you can use something like the following:
pt_BR: Caso você realmente queira utilizar usar o 'konqueror', faça o seguinte:

note: type: delimited block -
en: 	[man "konq"]
    		cmd = A_PATH_TO/konqueror
pt_BR: 	[man "konq"]
    		cmd = O_CAMINHO_PARA_O/konqueror

note: type: Title ~
en: Note about git config --global
pt_BR: Observação sobre o comando `git config --global`

note: type: Plain text
en: Note that all these configuration variables should probably be set using the `--global` flag, for example like this:
pt_BR: Observe que todas estas variáveis de configuração, provavelmente devem ser definidas utilizando a opção `--global`, assim por exemplo:

note: type: Plain text
en: as they are probably more user specific than repository specific.  See linkgit:git-config[1] for more information about this.
pt_BR: como provavelmente são mais específicos do usuário do que do repositório.  Para mais informações, consulte linkgit:git-config[1].

note: type: Plain text
en: git-http-backend - Server side implementation of Git over HTTP
pt_BR: git-http-backend - Implementação do servidor do Git sobre HTTP

note: type: Plain text
en: A simple CGI program to serve the contents of a Git repository to Git clients accessing the repository over http:// and https:// protocols.  The program supports clients fetching using both the smart HTTP protocol and the backwards-compatible dumb HTTP protocol, as well as clients pushing using the smart HTTP protocol.
pt_BR: Um simples programa CGI para servir o conteúdo de um repositório Git para os clientes Git acessando o repositório nos protocolos http:// e https://.  O programa suporta a busca de clientes utilizando o protocolo HTTP inteligente e o protocolo HTTP antigo compatível com as versões anteriores, bem como os clientes impulsionando através do protocolo HTTP inteligente.

note: type: Plain text
en: It verifies that the directory has the magic file "git-daemon-export-ok", and it will refuse to export any Git directory that hasn't explicitly been marked for export this way (unless the `GIT_HTTP_EXPORT_ALL` environmental variable is set).
pt_BR: Verifica se o diretório possui o arquivo mágico "git-daemon-export-ok" e se recusará a exportar qualquer diretório Git que não tenha sido explicitamente marcado para exportação (a menos que a variável ambiental `GIT_HTTP_EXPORT_ALL` esteja definida) .

note: type: Plain text
en: By default, only the `upload-pack` service is enabled, which serves 'git fetch-pack' and 'git ls-remote' clients, which are invoked from 'git fetch', 'git pull', and 'git clone'.  If the client is authenticated, the `receive-pack` service is enabled, which serves 'git send-pack' clients, which is invoked from 'git push'.
pt_BR: É predefinido que apenas o serviço `upload-pack` esteja ativo, o que atende aos clientes 'git fetch-pack' e 'git ls-remote', que são chamados através do comando 'git fetch', 'git pull' e 'git clone' .  Caso o cliente seja autenticado, o serviço `receive-pack` é ativado, que oferece o 'git send-pack' aos clientes, que é chamado a partir do comando 'git push'.

note: type: Plain text
en: These services can be enabled/disabled using the per-repository configuration file:
pt_BR: Estes serviços podem ser ativados/desativados usando o arquivo de configuração por repositório:

note: type: Plain text
en: This serves Git clients older than version 1.6.6 that are unable to use the upload pack service.  When enabled, clients are able to read any file within the repository, including objects that are no longer reachable from a branch but are still present.  It is enabled by default, but a repository can disable it by setting this configuration item to `false`.
pt_BR: Isso atende aos clientes Git anteriores à versão 1.6.6 que não conseguem utilizar o serviço do pacote de upload.  Quando ativado, os clientes podem ler qualquer arquivo no repositório, incluindo os objetos que não são mais acessíveis a partir de um ramo, mas ainda estão presentes.  É predefinido que esteja ativo, porém um repositório pode desativá-lo definindo este item de configuração como `false`.

note: type: Plain text
en: This serves 'git fetch-pack' and 'git ls-remote' clients.  It is enabled by default, but a repository can disable it by setting this configuration item to `false`.
pt_BR: Isso serve aos clientes 'git fetch-pack' e 'git ls-remote'.  A predefinição é estar sempre ativo, porém um repositório pode desativá-lo ao definir este item de configuração como `false`.

note: type: Plain text
en: This serves 'git send-pack' clients, allowing push.  It is disabled by default for anonymous users, and enabled by default for users authenticated by the web server.  It can be disabled by setting this item to `false`, or enabled for all users, including anonymous users, by setting it to `true`.
pt_BR: Serve aos clientes o 'git send-pack', permitindo impulsionamento "push".  É predefinido que esteja inativo para os usuários anônimos e ativado para os usuários autenticados através do servidor da web.  Pode ser inativado caso este item seja definido como `false` ou ativado para todos os usuários, incluindo os usuários anônimos, caso seja definido como `true`.

note: type: Title -
en: URL TRANSLATION
pt_BR: TRADUÇÃO DE URL

note: type: Plain text
en: To determine the location of the repository on disk, 'git http-backend' concatenates the environment variables PATH_INFO, which is set automatically by the web server, and GIT_PROJECT_ROOT, which must be set manually in the web server configuration.  If GIT_PROJECT_ROOT is not set, 'git http-backend' reads PATH_TRANSLATED, which is also set automatically by the web server.
pt_BR: Para determinar a localização do repositório no disco, o comando 'git http-backend' concatena as variáveis do ambiente `PATH_INFO`, que são definidas automaticamente através do servidor web, e o `GIT_PROJECT_ROOT`, que deve ser definido manualmente na configuração do servidor da web.  Caso o `GIT_PROJECT_ROOT` não esteja definido, o comando 'git http-backend' exibirá o `PATH_TRANSLATED`, que também é definido automaticamente através do servidor web.

note: type: Plain text
en: All of the following examples map `http://$hostname/git/foo/bar.git` to `/var/www/git/foo/bar.git`.
pt_BR: Todos os exemplos a seguir mapeiam o `http://$hostname/git/foo/bar.git` para `/var/www/git/foo/bar.git`.

note: type: Plain text
en: Ensure mod_cgi, mod_alias, and mod_env are enabled, set GIT_PROJECT_ROOT (or DocumentRoot) appropriately, and create a ScriptAlias to the CGI:
pt_BR: Certifique-se que o 'mod_cgi', 'mod_alias' e 'mod_env' estejam ativos, defina o `GIT_PROJECT_ROOT` (ou 'DocumentRoot') adequadamente e crie um "ScriptAlias" para o CGI:

note: type: Plain text
en: To enable anonymous read access but authenticated write access, require authorization for both the initial ref advertisement (which we detect as a push via the service parameter in the query string), and the receive-pack invocation itself:
pt_BR: Para habilitar o acesso de leitura anônima, porém com acesso de gravação autenticado, exija a autorização para o anúncio da "ref" inicial (que detectamos como um "push" por meio do parâmetro "service" na cadeia de consulta) e a própria chamada do pacote de recebimento:

note: type: Plain text
en: If you do not have `mod_rewrite` available to match against the query string, it is sufficient to just protect `git-receive-pack` itself, like:
pt_BR: Caso não tenha o `mod_rewrite` disponível para coincidir com o texto sob consulta é suficiente apenas para proteger o próprio` git-receive-pack`, como:

note: type: delimited block -
en: <LocationMatch "^/git/.*/git-receive-pack$">
    	AuthType Basic
    	AuthName "Git Access"
    	Require group committers
    	...
    </LocationMatch>
pt_BR: <LocationMatch "^/git/.*/git-receive-pack$">
    	AuthType Basic
    	AuthName "Acesso Git"
    	Require group committers
    	...
    </LocationMatch>

note: type: Plain text
en: In this mode, the server will not request authentication until the client actually starts the object negotiation phase of the push, rather than during the initial contact.  For this reason, you must also enable the `http.receivepack` config option in any repositories that should accept a push. The default behavior, if `http.receivepack` is not set, is to reject any pushes by unauthenticated users; the initial request will therefore report `403 Forbidden` to the client, without even giving an opportunity for authentication.
pt_BR: Nesse modo, o servidor não solicitará uma autenticação até que o cliente realmente inicie a fase de negociação do objeto impulsionado (push) e não durante o contato inicial.  Por este motivo, você também deve ativar a opção da configuração `http.receivepack` em qualquer repositório que aceite um impulsionamento "push". O comportamento predefinido, caso a variável `http.receivepack` não esteja definida, é rejeitar qualquer impulsionamento "push" feito pelos usuários não autenticados; a solicitação inicial reportará, '403 Proibido' ao cliente, sem qualquer chance para uma autenticação.

note: type: Plain text
en: To require authentication for both reads and writes, use a Location directive around the repository, or one of its parent directories:
pt_BR: Para exigir a autenticação para ambas as leituras e gravações, utilize uma diretiva local ao redor do repositório ou um dos seus diretórios upstream:

note: type: delimited block -
en: <Location /git/private>
    	AuthType Basic
    	AuthName "Private Git Access"
    	Require group committers
    	...
    </Location>
pt_BR: <Location /git/private>
    	AuthType Basic
    	AuthName "Acesso Git Privado"
    	Require group committers
    	...
    </Location>

note: type: Plain text
en: To serve gitweb at the same url, use a ScriptAliasMatch to only those URLs that 'git http-backend' can handle, and forward the rest to gitweb:
pt_BR: Para veicular o gitweb na mesma URL, utilize um 'ScriptAliasMatch' apenas para ss URLs que o 'git http-backend' pode manipular e encaminhe o restante para o gitweb:

note: type: Plain text
en: To serve multiple repositories from different linkgit:gitnamespaces[7] in a single repository:
pt_BR: Para servir os vários repositórios vindos de diferentes linkgit:gitnamespaces[7] em um único repositório:

note: type: Labeled list
en: Accelerated static Apache 2.x
pt_BR: Apache estático acelerado 2.x

note: type: Plain text
en: Similar to the above, but Apache can be used to return static files that are stored on disk.  On many systems this may be more efficient as Apache can ask the kernel to copy the file contents from the file system directly to the network:
pt_BR: Semelhante ao anterior, porém o Apache pode ser usado para retornar arquivos estáticos armazenados no disco.  Isso pode ser mais eficiente em muitos sistemas, pois o Apache pode solicitar ao kernel que copie o conteúdo do arquivo do sistema de arquivos diretamente para a rede:

note: type: Plain text
en: This can be combined with the gitweb configuration:
pt_BR: Pode ser combinado com a configuração do gitweb:

note: type: Plain text
en: Ensure that `mod_cgi`, `mod_alias`, `mod_auth`, `mod_setenv` are loaded, then set `GIT_PROJECT_ROOT` appropriately and redirect all requests to the CGI:
pt_BR: Certifique-se de que `mod_cgi`, `mod_alias`, `mod_auth`, `mod_setenv` estejam carregados, então defina a variável `GIT_PROJECT_ROOT` adequadamente e redirecione todas as solicitações para o CGI:

note: type: Plain text
en: To enable anonymous read access but authenticated write access:
pt_BR: Para ativar o acesso de leitura anônima porém o acesso de gravação autenticado:

note: type: Plain text
en: where `git-auth.conf` looks something like:
pt_BR: onde o `git-auth.conf` se parece com:

note: type: delimited block -
en: auth.require = (
    	"/" => (
    		"method" => "basic",
    		"realm" => "Git Access",
    		"require" => "valid-user"
    	       )
    )
    # ...and set up auth.backend here
pt_BR: auth.require = (
    	"/" => (
    		"method" => "basic",
    		"realm" => "Acesso Git",
    		"require" => "valid-user"
    	       )
    )
    # ...and set up auth.backend here

note: type: Plain text
en: To require authentication for both reads and writes:
pt_BR: Para exigir a autenticação tanto para leituras quanto para gravações:

note: type: Plain text
en: 'git http-backend' relies upon the `CGI` environment variables set by the invoking web server, including:
pt_BR: O 'git http-backend' conta com as variáveis do ambiente `CGI` definidas pelo servidor da Web que está sendo invocado, incluindo:

note: type: Plain text
en: PATH_INFO (if GIT_PROJECT_ROOT is set, otherwise PATH_TRANSLATED)
pt_BR: `PATH_INFO` (caso `GIT_PROJECT_ROOT` seja definido, caso contrário utilize `PATH_TRANSLATED`)

note: type: Plain text
en: The `GIT_HTTP_EXPORT_ALL` environmental variable may be passed to 'git-http-backend' to bypass the check for the "git-daemon-export-ok" file in each repository before allowing export of that repository.
pt_BR: A variável de ambiente `GIT_HTTP_EXPORT_ALL` pode ser passada para o comando 'git-http-backend' para ignorar a verificação do arquivo "git-daemon-export-ok" em cada repositório antes de permitir a exportação desse repositório.

note: type: Plain text
en: The `GIT_HTTP_MAX_REQUEST_BUFFER` environment variable (or the `http.maxRequestBuffer` config variable) may be set to change the largest ref negotiation request that git will handle during a fetch; any fetch requiring a larger buffer will not succeed.  This value should not normally need to be changed, but may be helpful if you are fetching from a repository with an extremely large number of refs.  The value can be specified with a unit (e.g., `100M` for 100 megabytes). The default is 10 megabytes.
pt_BR: A variável de ambiente `GIT_HTTP_MAX_REQUEST_BUFFER` (ou a variável de configuração `http.maxRequestBuffer`) pode ser configurada para alterar a maior solicitação de negociação "ref" que o git será capaz de manipular durante uma busca; qualquer busca que exija um buffer maior não terá êxito.  Normalmente, esse valor não precisa ser alterado, mas pode ser útil caso você esteja buscando um repositório com uma quantidade de refs extremamente grande.  O valor pode ser definido como uma unidade (`100M` para 100 megabytes por exemplo). O valor predefinido é de 10 megabytes.

note: type: Plain text
en: The backend process sets GIT_COMMITTER_NAME to '$REMOTE_USER' and GIT_COMMITTER_EMAIL to '$\{REMOTE_USER}@http.$\{REMOTE_ADDR\}', ensuring that any reflogs created by 'git-receive-pack' contain some identifying information of the remote user who performed the push.
pt_BR: A estrutura define o `GIT_COMMITTER_NAME` como '$REMOTE_USER' e `GIT_COMMITTER_EMAIL` como '$\{REMOTE_USER}@http.$\{REMOTE_ADDR\}', garantindo que quaisquer reflogs que forem criados através do comando 'git-receive-pack' contenham algumas informações de identificação do ramo remoto do usuário que executou o push.

note: type: Plain text
en: All `CGI` environment variables are available to each of the hooks invoked by the 'git-receive-pack'.
pt_BR: Todas as variáveis do ambiente `CGI` estão disponíveis para cada um dos ganchos invocados pelo comando 'git-receive-pack'.

note: type: Plain text
en: git-http-fetch - Download from a remote Git repository via HTTP
pt_BR: git-http-fetch - Faça o download de um repositório Git remoto através de HTTP

note: type: Plain text
en: 'git http-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [--stdin | --packfile=<hash> | <commit>] <url>
pt_BR: 'git http-fetch' [-c] [-t] [-a] [-d] [-v] [-w nome-do-arquivo] [--recover] [--stdin | --packfile=<hash> | <commit>] <url>

note: type: Plain text
en: Downloads a remote Git repository via HTTP.
pt_BR: Faz o download de um repositório remoto Git através do HTTP.

note: type: Plain text
en: This command always gets all objects. Historically, there were three options `-a`, `-c` and `-t` for choosing which objects to download. They are now silently ignored.
pt_BR: Este comando sempre obtém todos os objetos. Historicamente, havia três opções `-a`, `-c` e `-t` para escolher quais os objetos baixar. Agora eles são ignorados de forma silenciosa.

note: type: Plain text
en: Either the hash or the filename under [URL]/refs/ to pull.
pt_BR: O hash ou o nome do arquivo em [URL]/refs/ para obter.

note: type: Plain text
en: These options are ignored for historical reasons.
pt_BR: Estas opções são ignoradas por razões históricas.

note: type: Plain text
en: Report what is downloaded.
pt_BR: Relate o que foi baixado.

note: type: Labeled list
en: -w <filename>
pt_BR: -w <nome-do-arquivo>

note: type: Plain text
en: Writes the commit-id into the filename under $GIT_DIR/refs/<filename> on the local end after the transfer is complete.
pt_BR: Grava o ID do commit no nome do arquivo sob '$GIT_DIR/refs/<nome-do-arquivo>' no local final depois que a transferência tenha sido concluída.

note: type: Plain text
en: Instead of a commit id on the command line (which is not expected in this case), 'git http-fetch' expects lines on stdin in the format
pt_BR: Em vez de um ID do commit na linha de comando (o que não é esperado neste caso), 'git http-fetch' espera pelas linhas no stdin no formato

note: type: Plain text
en: <commit-id>['\t'<filename-as-in--w>]
pt_BR: <commit-id>['\t'<nome-do-arquivo-como-em--w>]

note: type: Plain text
en: Instead of a commit id on the command line (which is not expected in this case), 'git http-fetch' fetches the packfile directly at the given URL and uses index-pack to generate corresponding .idx and .keep files.  The hash is used to determine the name of the temporary file and is arbitrary. The output of index-pack is printed to stdout.
pt_BR: Em vez de uma ID para o commit na linha de comando (o que não é esperado neste caso), o comando 'git http-fetch' busca o arquivo dos pacotes diretamente na URL informada e usa o pacote dos índices para gerar os arquivos .idx e .keep correspondentes. O hash é utilizado para determinar o nome do arquivo temporário e é arbitrário. O pacote dos índices que foi é impresso no stdout.

note: type: Plain text
en: Verify that everything reachable from target is fetched.  Used after an earlier fetch is interrupted.
pt_BR: Verifique se tudo o que seja acessível a partir do destino já foi obtido.  Utilizado depois que uma busca anterior tenha sido interrompida.

note: type: Plain text
en: git-http-push - Push objects over HTTP/DAV to another repository
pt_BR: git-http-push - Impulsiona os objetos por HTTP/DAV para um outro repositório

note: type: Plain text
en: Sends missing objects to remote repository, and updates the remote branch.
pt_BR: Envia os objetos ausentes para o repositório remoto e atualiza a ramificação remota.

note: type: Plain text
en: *NOTE*: This command is temporarily disabled if your libcurl
    is older than 7.16, as the combination has been reported
    not to work and sometimes corrupts repository.
pt_BR: *OBSERVAÇÃO*: Este comando está temporariamente desativado caso o seu libcurl
    seja anterior a versão 7,16, pois a combinação foi relatada
    para não funcionar e às vezes corrompe o repositório.

note: type: Plain text
en: Do not assume that the remote repository is complete in its current state, and verify all objects in the entire local ref's history exist in the remote repository.
pt_BR: Não assuma que o repositório remoto esteja completo na sua condição atual e verifique se todos os objetos em todo o histórico da referência local existem no repositório remoto.

note: type: Plain text
en: Usually, the command refuses to update a remote ref that is not an ancestor of the local ref used to overwrite it.  This flag disables the check.  What this means is that the remote repository can lose commits; use it with care.
pt_BR: Usually, the command refuses to update a remote ref that is not an ancestor of the local ref used to overwrite it.  Esta flag desativa esta verificação.  What this means is that the remote repository can lose commits; use it with care.

note: type: Plain text
en: Do everything except actually send the updates.
pt_BR: Faça tudo, exceto realmente enviar as atualizações.

note: type: Plain text
en: Report the list of objects being walked locally and the list of objects successfully sent to the remote repository.
pt_BR: Relate a lista dos objetos sendo percorridos localmente e a lista dos objetos enviados com sucesso para o repositório remoto.

note: type: Plain text
en: Remove <ref> from remote repository.  The specified branch cannot be the remote HEAD.  If -d is specified the following other conditions must also be met:
pt_BR: Remova a `<ref>` do repositório remoto.  O ramo especificado não pode ser o `HEAD` remoto.  Caso o `-d` seja utilizado, as outras condições a seguir também deverão ser atendidas:

note: type: Plain text
en: Remote HEAD must resolve to an object that exists locally
pt_BR: O `HEAD` remoto deve resolver para um objeto que exista localmente

note: type: Plain text
en: Specified branch resolves to an object that exists locally
pt_BR: O ramo informado resolve para um objeto que exista localmente

note: type: Plain text
en: Specified branch is an ancestor of the remote HEAD
pt_BR: O ramo especificado é um ancestral do `HEAD` remoto

note: type: Plain text
en: The remote refs to update.
pt_BR: O ramo remoto refs que serão atualizados.

note: type: Title -
en: SPECIFYING THE REFS
pt_BR: ESPECIFICANDO AS REFS

note: type: Plain text
en: A '<ref>' specification can be either a single pattern, or a pair of such patterns separated by a colon ":" (this means that a ref name cannot have a colon in it).  A single pattern '<name>' is just a shorthand for '<name>:<name>'.
pt_BR: Uma especificação '<ref>' pode ser um padrão único ou um par desses padrões separados por dois pontos ":" (significa que um nome "ref" não pode conter dois pontos).  Um único padrão '<nome>' é apenas uma abreviação para '<nome>:<nome>'.

note: type: Plain text
en: Each pattern pair consists of the source side (before the colon)  and the destination side (after the colon).  The ref to be pushed is determined by finding a match that matches the source side, and where it is pushed is determined by using the destination side.
pt_BR: Cada par de padrões consiste no lado da origem (antes dos dois pontos) e no lado do destino (depois dos dois pontos).  O "ref" a ser impulsionado é determinado ao localizar uma coincidência que corresponda com a origem, a localização da origem é determinada utilizando o lado do destino.

note: type: Plain text
en: It is an error if <src> does not match exactly one of the local refs.
pt_BR: É um erro caso `<src>` não corresponda exatamente a um dos `refs` locais.

note: type: Plain text
en: If <dst> does not match any remote ref, either
pt_BR: Caso `<dst>` não corresponda a nenhum `ref` remoto

note: type: Plain text
en: it has to start with "refs/"; <dst> is used as the destination literally in this case.
pt_BR: é preciso iniciar com "refs/"; o <dst> é utilizado literalmente como destino neste caso.

note: type: Plain text
en: <src> == <dst> and the ref that matched the <src> must not exist in the set of remote refs; the ref matched <src> locally is used as the name of the destination.
pt_BR: <src> == <dst> e a referência que coincida com <src> não devem existir no conjunto de refs remotas; o "ref" que coincida com o <src> localmente é utilizado como o nome do destino.

note: type: Plain text
en: Without `--force`, the <src> ref is stored at the remote only if <dst> does not exist, or <dst> is a proper subset (i.e. an ancestor) of <src>.  This check, known as "fast-forward check", is performed in order to avoid accidentally overwriting the remote ref and lose other peoples' commits from there.
pt_BR: Sem `--force`, a fonte do `<src>` "ref" é armazenado no ramo remoto apenas caso o destino `<dst>` não exista ou o destino `<dst>` seja um subconjunto apropriado (ou seja, um ancestral) da origem `<src>`.  Esta verificação, conhecida como "verificação de avanço rápido", é realizada para evitar sobrescrever acidentalmente a "ref" remota e perder os commits de outras pessoas a partir daí.

note: type: Plain text
en: With `--force`, the fast-forward check is disabled for all refs.
pt_BR: Com `--force`, a verificação do avanço rápido é desativado para todas as refs.

note: type: Plain text
en: Optionally, a <ref> parameter can be prefixed with a plus '+' sign to disable the fast-forward check only on that ref.
pt_BR: Opcionalmente, um parâmetro <ref> pode ser prefixado com um sinal de mais '+' para desativar a verificação de avanço rápido apenas nessa "ref".

note: type: Plain text
en: git-imap-send - Send a collection of patches from stdin to an IMAP folder
pt_BR: git-imap-send - Envia uma coleção de patches do stdin para um diretório IMAP

note: type: Plain text
en: This command uploads a mailbox generated with 'git format-patch' into an IMAP drafts folder.  This allows patches to be sent as other email is when using mail clients that cannot read mailbox files directly. The command also works with any general mailbox in which emails have the fields "From", "Date", and "Subject" in that order.
pt_BR: Este comando carrega uma caixa de correio gerada com 'git format-patch' em um diretório de rascunhos IMAP.  Permite que os patches sejam enviados como ocorre com os outros emails ao utilizar clientes de email que não podem ler diretamente os arquivos da caixa de correio. O comando também funciona com qualquer caixa de correio geral na qual os e-mails tenham os campos "De", "Data" e "Assunto" nesta ordem.

note: type: Plain text
en: Typical usage is something like:
pt_BR: A típica utilização é algo como:

note: type: Plain text
en: Be quiet.
pt_BR: Fique em silêncio.

note: type: Plain text
en: Use libcurl to communicate with the IMAP server, unless tunneling into it.  Ignored if Git was built without the USE_CURL_FOR_IMAP_SEND option set.
pt_BR: Utilize o libcurl para se comunicar com o servidor IMAP, a menos que faça um tunelamento para ele.  É Ignorado caso o Git tenha sido compilado sem a opção `USE_CURL_FOR_IMAP_SEND` definida.

note: type: Plain text
en: Talk to the IMAP server using git's own IMAP routines instead of using libcurl.  Ignored if Git was built with the NO_OPENSSL option set.
pt_BR: Converse com o servidor IMAP utilizando as próprias rotinas IMAP do git em vez de utilizar as da libcurl.  É Ignorado caso o Git tenha sido compilado com a opção `NO_OPENSSL` definida.

note: type: Plain text
en: To use the tool, imap.folder and either imap.tunnel or imap.host must be set to appropriate values.
pt_BR: Para utilizar a ferramenta, o 'imap.folder' e o 'imap.tunnel' ou o 'imap.host' devem ser configurados com os valores apropriados.

note: type: Plain text
en: Using tunnel mode:
pt_BR: Utilizando um modo de tunelamento:

note: type: Plain text
en: Using direct mode:
pt_BR: Utilizando o modo direto:

note: type: Plain text
en: Using direct mode with SSL:
pt_BR: Usando o modo direto com SSL:

note: type: Plain text
en: To submit patches using GMail's IMAP interface, first, edit your ~/.gitconfig to specify your account settings:
pt_BR: Para enviar os patches utilizando a interface IMAP do GMail, primeiro edite o seu ~/.gitconfig para definir as configurações da sua conta:

note: type: Plain text
en: You might need to instead use: folder = "[Google Mail]/Drafts" if you get an error that the "Folder doesn't exist".
pt_BR: Você pode precisar utilizar: folder = "[Google Mail]/Drafts" caso receba um erro indicando que a "O diretório não existe".

note: type: Plain text
en: Once the commits are ready to be sent, run the following command:
pt_BR: Quando os commits estiverem prontos para serem enviados, execute o seguinte comando:

note: type: Plain text
en: Just make sure to disable line wrapping in the email client (GMail's web interface will wrap lines no matter what, so you need to use a real IMAP client).
pt_BR: Apenas certifique-se de desabilitar a quebra de linha no cliente de email (a interface da Web do GMail sempre irá quebrar as linhas independentemente de qualquer coisa, portanto, você precisará utilizar um cliente IMAP de verdade).

note: type: Title -
en: CAUTION
pt_BR: CUIDADO

note: type: Plain text
en: It is still your responsibility to make sure that the email message sent by your email program meets the standards of your project.  Many projects do not like patches to be attached.  Some mail agents will transform patches (e.g. wrap lines, send them as format=flowed) in ways that make them fail.  You will get angry flames ridiculing you if you don't check this.
pt_BR: Ainda é sua responsabilidade garantir que a mensagem de e-mail enviado pelo seu programa de e-mail atenda aos padrões do seu projeto.  Muitos projetos não gostam que os patches sejam anexados em mensagens de e-mail.  Alguns agentes de correio transformarão os patches (quebras de linhas automática, enviá-los como 'format=flowed' por exemplo) de maneira que irão fazê-los falhar.  Você receberá chamas raivosas que o ridicularizarão na frente de todo mundo se não prestar atenção.

note: type: Plain text
en: Thunderbird in particular is known to be problematic.  Thunderbird
    users may wish to visit this web page for more information:
      http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email
pt_BR: O Thunderbird é um velho informado por ser problemático.  Os usuários do Thunderbird
    podem querer visitar esta página da web para obter mais informações:
      http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email

note: type: Plain text
en: git-index-pack - Build pack index file for an existing packed archive
pt_BR: git-index-pack - Construa um pacote do arquivo do índice para um arquivo compactado já existente

note: type: Plain text
en: Reads a packed archive (.pack) from the specified file, and builds a pack index file (.idx) for it.  The packed archive together with the pack index can then be placed in the objects/pack/ directory of a Git repository.
pt_BR: Faz a leitura de um arquivo compactado (.pack) do arquivo informado e cria um pacote do arquivo do índice (.idx) para ele.  O arquivo compactado junto com o pacote do índice pode ser colocado no diretório 'objects/pack/' de um repositório Git.

note: type: Plain text
en: Be verbose about what is going on, including progress status.
pt_BR: Seja detalhado sobre o que está acontecendo, incluindo a condição geral do progresso.

note: type: Labeled list
en: -o <index-file>
pt_BR: -o <arquivo-índice>

note: type: Plain text
en: Write the generated pack index into the specified file.  Without this option the name of pack index file is constructed from the name of packed archive file by replacing .pack with .idx (and the program fails if the name of packed archive does not end with .pack).
pt_BR: Escreva o índice do pacote gerado no arquivo especificado.  Sem essa opção, o nome do arquivo do pacote do arquivo do índice é construído a partir do nome do arquivo compactado substituindo '.pack' por '.idx' (e o programa falha caso o nome do arquivo compactado não termine com '.pack').

note: type: Plain text
en: When this flag is provided, the pack is read from stdin instead and a copy is then written to <pack-file>. If <pack-file> is not specified, the pack is written to objects/pack/ directory of the current Git repository with a default name determined from the pack content.  If <pack-file> is not specified consider using --keep to prevent a race condition between this process and 'git repack'.
pt_BR: Quando esta opção é informada, o pacote é lido a partir do stdin e uma cópia é gravada no <pack-file>. Caso o <pack-file> não seja informado, o pacote será gravado no diretório 'objects/pack/' do repositório Git atual com um nome predefinido determinado através do conteúdo do pacote.  Caso o <pack-file> não seja informado, considere utilizar a opção `--keep` para evitar uma condição de corrida entre este processo e o 'git repack'.

note: type: Plain text
en: Fix a "thin" pack produced by `git pack-objects --thin` (see linkgit:git-pack-objects[1] for details) by adding the excluded objects the deltified objects are based on to the pack. This option only makes sense in conjunction with --stdin.
pt_BR: Corrija um pacote "thin" produzido por `git pack objects thin` (para mais detalhes, consulte linkgit:git-pack-objects[1]) adicionando os objetos excluídos nos quais os objetos "deltificados" utilizam como base no pacote. Esta opção só faz sentido caso seja utilizado em conjunto com `--stdin`.

note: type: Plain text
en: Before moving the index into its final destination create an empty .keep file for the associated pack file.  This option is usually necessary with --stdin to prevent a simultaneous 'git repack' process from deleting the newly constructed pack and index before refs can be updated to use objects contained in the pack.
pt_BR: Antes de mover o índice para seu destino final, crie um arquivo '.keep' vazio para o arquivo do pacote associado.  Essa opção geralmente é necessária com '--stdin' para impedir que um processo simultâneo do 'git repack' exclua o pacote e o índice recém-construídos antes que as refs possam ser atualizadas para utilizar os objetos existentes no pacote.

note: type: Plain text
en: Like --keep create a .keep file before moving the index into its final destination, but rather than creating an empty file place '<msg>' followed by an LF into the .keep file.  The '<msg>' message can later be searched for within all .keep files to locate any which have outlived their usefulness.
pt_BR: Assim como a opção `--keep`, crie um arquivo '.keep' antes de mover o índice para seu destino final, em vez de criar um local do arquivo vazio '<msg>', seguido de um LF no arquivo .keep.  A mensagem '<msg>' pode ser pesquisada posteriormente em todos os arquivos '.keep' para localizar qualquer um que tenha perdido a sua utilidade.

note: type: Plain text
en: This is intended to be used by the test suite only. It allows to force the version for the generated pack index, and to force 64-bit index entries on objects located above the given offset.
pt_BR: Isso foi pensado para ser utilizado apenas pelo conjunto de testes. Ele permite impor a versão do índice do pacote gerado e impor as entradas no índice com 64 bits nos objetos localizados acima da compensação informada.

note: type: Plain text
en: Die, if the pack contains broken objects or links.
pt_BR: Encerre, caso o pacote contenha objetos ou links quebrados.

note: type: Plain text
en: Die if the pack contains broken links. For internal use only.
pt_BR: Encerre caso o pacote contenha links quebrados. Apenas para utilização interna.

note: type: Plain text
en: Die if the pack contains broken objects. For internal use only.
pt_BR: Encerre caso o pacote contenha objetos quebrados. Apenas para utilização interna.

note: type: Plain text
en: Specifies the number of threads to spawn when resolving deltas. This requires that index-pack be compiled with pthreads otherwise this option is ignored with a warning.  This is meant to reduce packing time on multiprocessor machines. The required amount of memory for the delta search window is however multiplied by the number of threads.  Specifying 0 will cause Git to auto-detect the number of CPU's and use maximum 3 threads.
pt_BR: Determina a quantidade de "threads" a serem geradas para resolver os deltas. Isso requer que os objetos do pacote sejam compilados com "pthreads", caso contrário esta opção será ignorada exibindo um aviso.  Isso visa reduzir o tempo do empacotamento em máquinas com multiprocessados. A quantidade de memória necessária para a janela de pesquisa delta é multiplicada pela quantidade de threads.  Definindo como `0` faz com que o Git detecte automaticamente a quantidade de CPUs e defina a quantidade de "threads" proporcionalmente e utiliza o máximo de 3 "threads".

note: type: Labeled list
en: --max-input-size=<size>
pt_BR: --max-input-size=<tamanho>

note: type: Plain text
en: Die, if the pack is larger than <size>.
pt_BR: Encerre caso o pacote seja maior que <tamanho>.

note: type: Plain text
en: Specify the given object format (hash algorithm) for the pack.  The valid values are 'sha1' and (if enabled) 'sha256'.  The default is the algorithm for the current repository (set by `extensions.objectFormat`), or 'sha1' if no value is set or outside a repository.
pt_BR: Defina o formato do objeto informado (algoritmo hash) para o pacote.  Os valores válidos são 'sha1' e (se ativado) 'sha256'.  A predefinição é o algoritmo para o repositório atual (definido através da opção `extensions.objectFormat`) ou 'sha1' caso nenhum valor seja definido dentro ou fora do repositório.

note: type: Plain text
en: This option cannot be used with --stdin.
pt_BR: Esta opção não pode ser utilizada com --stdin.

note: type: Plain text
en: Once the index has been created, the list of object names is sorted and the SHA-1 hash of that list is printed to stdout. If --stdin was also used then this is prefixed by either "pack\t", or "keep\t" if a new .keep file was successfully created. This is useful to remove a
pt_BR: Após a criação do índice a lista dos nomes dos objetos é classificada e o hash SHA-1 desta lista seja exibida no stdout. Caso `--stdin` também seja utilizado, então este é prefixado por "pack\t" ou "keep\t" caso um novo arquivo `.keep` seja criado com êxito. Isso é útil para remover um

note: type: Block title
en: keep file used as a lock to prevent the race with 'git repack'
pt_BR: mantenha o arquivo utilizado como uma trava para impedir uma corrida com `git repack`

note: type: Plain text
en: mentioned above.
pt_BR: citados acima.

note: type: Plain text
en: git-init-db - Creates an empty Git repository
pt_BR: git-init-db - Cria um repositório Git vazio

note: type: Plain text
en: 'git init-db' [-q | --quiet] [--bare] [--template=<template_directory>] [--separate-git-dir <git dir>] [--shared[=<permissions>]]
pt_BR: 'git init-db' [-q | --quiet] [--bare] [--template=<diretório-modelo>] [--separate-git-dir <dir git>] [--shared[=<permissões>]]

note: type: Plain text
en: This is a synonym for linkgit:git-init[1].  Please refer to the documentation of that command.
pt_BR: Este é um sinônimo para linkgit:git-init[1].  Para referências deste comando, favor consultar a documentação.

note: type: Plain text
en: git-init - Create an empty Git repository or reinitialize an existing one
pt_BR: git-init - Cria um repositório Git vazio ou reinicializa um já existente

note: type: Plain text
en: 'git init' [-q | --quiet] [--bare] [--template=<template_directory>]
    	  [--separate-git-dir <git dir>] [--object-format=<format>]
    	  [-b <branch-name> | --initial-branch=<branch-name>]
    	  [--shared[=<permissions>]] [directory]
pt_BR: 'git init' [-q | --quiet] [--bare] [--template=<diretório-modelo>]
    	  [--separate-git-dir <dir git>] [--object-format=<formato>]
    	  [-b <nome-do-ramo> | --initial-branch=<nome-do-ramo>]
    	  [--shared[=<permissões>]] [diretório]

note: type: Plain text
en: This command creates an empty Git repository - basically a `.git` directory with subdirectories for `objects`, `refs/heads`, `refs/tags`, and template files.  An initial `HEAD` file that references the HEAD of the master branch is also created.
pt_BR: Este comando cria um repositório Git vazio, basicamente um diretório `.git` com subdiretórios para os arquivos `objects`, `refs/heads`, `refs/tags` e arquivos modelo.  Também é criado um arquivo inicial `HEAD` que tem como referencia o `HEAD` do ramo principal.

note: type: Plain text
en: If the `$GIT_DIR` environment variable is set then it specifies a path to use instead of `./.git` for the base of the repository.
pt_BR: Caso a variável de ambiente `$GIT_DIR` esteja configurada, esta especificará um caminho a ser utilizado para a base dos repositórios em vez de `./.git`.

note: type: Plain text
en: If the object storage directory is specified via the `$GIT_OBJECT_DIRECTORY` environment variable then the sha1 directories are created underneath - otherwise the default `$GIT_DIR/objects` directory is used.
pt_BR: Caso o diretório de armazenamento de objetos seja especificado através da variável de ambiente `$GIT_OBJECT_DIRECTORY`, então os diretórios "sha1" serão criados abaixo, caso contrário, será utilizado o diretório predefinido `$GIT_DIR/objects`.

note: type: Plain text
en: Running 'git init' in an existing repository is safe. It will not overwrite things that are already there. The primary reason for rerunning 'git init' is to pick up newly added templates (or to move the repository to another place if --separate-git-dir is given).
pt_BR: É seguro executar o comando `git init` em um repositório existente. O comando não substituirá as coisas que já estiverem lá. O principal motivo para executar novamente o comando `git init` é pegar os modelos adicionados recentemente (ou mover o repositório para um outro local caso `--separate-git-dir` seja utilizado).

note: type: Plain text
en: Only print error and warning messages; all other output will be suppressed.
pt_BR: Exiba apenas mensagens de erro e aviso; suprima todas as outras mensagens.

note: type: Plain text
en: Create a bare repository. If `GIT_DIR` environment is not set, it is set to the current working directory.
pt_BR: Crie um repositório simples. Caso a variável de ambiente `GIT_DIR` não esteja definido, defina diretório de trabalho atual.

note: type: Labeled list
en: --object-format=<format>
pt_BR: --object-format=<formato>

note: type: Plain text
en: Specify the given object format (hash algorithm) for the repository.  The valid values are 'sha1' and (if enabled) 'sha256'.  'sha1' is the default.
pt_BR: Defina o formato do objeto informado (algoritmo hash) para o repositório.  Os valores válidos são 'sha1' e (se ativado) 'sha256'.  O valor predefinido é 'sha1'.

note: type: Plain text
en: Specify the directory from which templates will be used.  (See the "TEMPLATE DIRECTORY" section below.)
pt_BR: Especifique o diretório de onde os modelos serão utilizados.  (Consulte a seção "DIRETÓRIO MODELO" abaixo.)

note: type: Plain text
en: Instead of initializing the repository as a directory to either `$GIT_DIR` or `./.git/`, create a text file there containing the path to the actual repository.  This file acts as filesystem-agnostic Git symbolic link to the repository.
pt_BR: Em vez de inicializar o repositório como um diretório para `$GIT_DIR` or `./.git/`, crie um arquivo de texto contendo o caminho para o repositório real.  Este arquivo atua como um link simbólico independente para o repositório do sistema de arquivos Git.

note: type: Plain text
en: If this is reinitialization, the repository will be moved to the specified path.
pt_BR: Caso seja reinicializado, o repositório será movido para um caminho determinado.

note: type: Labeled list
en: -b <branch-name
pt_BR: -b <nome-do-ramo

note: type: Labeled list
en: --initial-branch=<branch-name>
pt_BR: --initial-branch=<nome-do-ramo>

note: type: Plain text
en: Use the specified name for the initial branch in the newly created repository.  If not specified, fall back to the default name: `master`.
pt_BR: Use o nome definido para o ramo inicial no repositório que foi recém-criado.  Caso não seja especificado, retorne ao nome predefinido: 'master'.

note: type: Plain text
en: Specify that the Git repository is to be shared amongst several users.  This allows users belonging to the same group to push into that repository.  When specified, the config variable "core.sharedRepository" is set so that files and directories under `$GIT_DIR` are created with the requested permissions.  When not specified, Git will use permissions reported by umask(2).
pt_BR: Determina que o repositório Git deve ser compartilhado entre vários usuários.  Isso permite que os usuários pertencentes ao mesmo grupo enviem para esse repositório.  Quando definido, a variável de configuração `core.sharedRepository` é utilizada para que os arquivos e os diretórios definidos pela variável `$GIT_DIR` sejam criados com as permissões solicitadas.  Quando não definido, o Git usará as permissões informadas pelo umask(2).

note: type: Plain text
en: The option can have the following values, defaulting to 'group' if no value is given:
pt_BR: A opção pode ter os seguintes valores, predefinido como 'group' caso nenhum valor seja informado:

note: type: Labeled list
en: 'umask' (or 'false')
pt_BR: 'umask' (ou 'false')

note: type: Plain text
en: Use permissions reported by umask(2). The default, when `--shared` is not specified.
pt_BR: Utilize as permissões informadas por umask(2). É a predefinição quando `--shared` não é utilizado.

note: type: Labeled list
en: 'group' (or 'true')
pt_BR: 'group' (ou 'true')

note: type: Plain text
en: Make the repository group-writable, (and g+sx, since the git group may be not the primary group of all users). This is used to loosen the permissions of an otherwise safe umask(2) value. Note that the umask still applies to the other permission bits (e.g. if umask is '0022', using 'group' will not remove read privileges from other (non-group) users). See '0xxx' for how to exactly specify the repository permissions.
pt_BR: Torne o grupo do repositório com permissão de escrita (g+sx por exemplo, pois o grupo git pode não ser o grupo principal de todos os usuários). Isso é utilizado para afrouxar as permissões de um valor, a não ser que indique o contrário, umask(2) seguro. Observe que o umask ainda se aplica aos outros bits de permissão (por exemplo, caso o umask seja '0022' o uso de 'group' não removerá os privilégios de leitura dos outros usuários (sem um grupo). Consulte '0xxx' para saber como usar exatamente as permissões do repositório.

note: type: Labeled list
en: 'all' (or 'world' or 'everybody')
pt_BR: 'all' ('world' ou 'everybody')

note: type: Plain text
en: Same as 'group', but make the repository readable by all users.
pt_BR: O mesmo que 'group', mas torna o repositório legível por todos os usuários.

note: type: Plain text
en: '0xxx' is an octal number and each file will have mode '0xxx'. '0xxx' will override users' umask(2) value (and not only loosen permissions as 'group' and 'all' does). '0640' will create a repository which is group-readable, but not group-writable or accessible to others. '0660' will create a repo that is readable and writable to the current user and group, but inaccessible to others.
pt_BR: '0xxx' é um número octal e cada arquivo terá o modo '0xxx'. '0xxx' substituirá o valor `umask(2)` dos usuários (e não apenas diminuirá as permissões como 'group' e 'all'). '0640' criará um repositório de apenas leitura por grupo, sem permissão escrita ou acessível a outros. '0660' criará um repositório com permissão de leitura e escrita ao usuário e ao grupo atual, porém, inacessível aos outros.

note: type: Plain text
en: By default, the configuration flag `receive.denyNonFastForwards` is enabled in shared repositories, so that you cannot force a non fast-forwarding push into it.
pt_BR: É predefinido que a flag da configuração `receive.denyNonFastForwards` seja ativado nos repositórios compartilhados para que você não possa impor um impulsionamento `fast-forwarding` para ele.

note: type: Plain text
en: If you provide a 'directory', the command is run inside it. If this directory does not exist, it will be created.
pt_BR: Caso utilize um `diretório`, o comando será executado dentro dele. E caso o diretório não exista, um será criado.

note: type: Title -
en: TEMPLATE DIRECTORY
pt_BR: DIRETÓRIO MODELO

note: type: Plain text
en: Files and directories in the template directory whose name do not start with a dot will be copied to the `$GIT_DIR` after it is created.
pt_BR: Os arquivos e diretórios no diretório modelo cujo nome não começa com um ponto serão copiados para o `$GIT_DIR` após a sua criação.

note: type: Plain text
en: The template directory will be one of the following (in order):
pt_BR: O diretório modelo será um dos seguintes (em ordem):

note: type: Plain text
en: the argument given with the `--template` option;
pt_BR: o argumento utilizado com a opção `--template`;

note: type: Plain text
en: the contents of the `$GIT_TEMPLATE_DIR` environment variable;
pt_BR: o conteúdo da variável de ambiente `$GIT_TEMPLATE_DIR`;

note: type: Plain text
en: the `init.templateDir` configuration variable; or
pt_BR: a variável de configuração `init.templateDir`; ou

note: type: Plain text
en: the default template directory: `/usr/share/git-core/templates`.
pt_BR: A predefinição do diretório modelo: `/usr/share/git-core/templates`.

note: type: Plain text
en: The default template directory includes some directory structure, suggested "exclude patterns" (see linkgit:gitignore[5]), and sample hook files.
pt_BR: A predefinição do diretório modelo inclui alguma estrutura de diretórios, "padrões de exclusão" sugeridos (consulte linkgit:gitignore[5]) e os arquivos gancho de amostragem.

note: type: Plain text
en: The sample hooks are all disabled by default. To enable one of the sample hooks rename it by removing its `.sample` suffix.
pt_BR: Por predefinição os ganchos de amostragem estão todos desativados. Para ativar um dos ganchos de amostragem, renomeie-o removendo o sufixo `.sample`.

note: type: Plain text
en: See linkgit:githooks[5] for more general info on hook execution.
pt_BR: Para um apanhado geral sobre execução hook consulte linkgit:githooks[5].

note: type: Labeled list
en: Start a new Git repository for an existing code base
pt_BR: Inicie um novo repositório Git na base de um código já existente

note: type: Plain text
en: Create a /path/to/my/codebase/.git directory.
pt_BR: Cria um diretório /path/to/my/codebase/.git.

note: type: Plain text
en: Add all existing files to the index.
pt_BR: Adicione todos os arquivos existentes ao índice.

note: type: Plain text
en: Record the pristine state as the first commit in the history.
pt_BR: Registre o estado intocado como o primeiro commit no histórico.

note: type: Plain text
en: git-instaweb - Instantly browse your working repository in gitweb
pt_BR: git-instaweb - Navegue instantaneamente no seu repositório de trabalho com o gitweb

note: type: Plain text
en: 'git instaweb' [--local] [--httpd=<httpd>] [--port=<port>]
                   [--browser=<browser>]
    'git instaweb' [--start] [--stop] [--restart]
pt_BR: 'git instaweb' [--local] [--httpd=<httpd>] [--port=<porta>]
                   [--browser=<browser>]
    'git instaweb' [--start] [--stop] [--restart]

note: type: Plain text
en: A simple script to set up `gitweb` and a web server for browsing the local repository.
pt_BR: Um script simples para configurar o `gitweb` e um servidor da web para navegar no repositório local.

note: type: Plain text
en: Only bind the web server to the local IP (127.0.0.1).
pt_BR: Amarre o servidor da web apenas ao endereço IP local (127.0.0.1).

note: type: Plain text
en: The HTTP daemon command-line that will be executed.  Command-line options may be specified here, and the configuration file will be added at the end of the command-line.  Currently apache2, lighttpd, mongoose, plackup, python and webrick are supported.  (Default: lighttpd)
pt_BR: A linha de comando do daemon HTTP que será executado.  As opções da linha de comando podem ser informadas aqui e o arquivo da configuração será adicionada no final da linha de comando.  Atualmente são compatíveis, apache2, lighttpd, mongoose, plackup, python e webrick.  (Predefinição: lighttpd)

note: type: Plain text
en: The module path (only needed if httpd is Apache).  (Default: /usr/lib/apache2/modules)
pt_BR: O caminho do módulo (é apenas necessário caso o httpd seja o Apache).  (Predefinição: /usr/lib/apache2/modules)

note: type: Plain text
en: The port number to bind the httpd to.  (Default: 1234)
pt_BR: O número da porta que será associada ao httpd.  (Predefinição: 1234)

note: type: Plain text
en: The web browser that should be used to view the gitweb page. This will be passed to the 'git web{litdd}browse' helper script along with the URL of the gitweb instance. See linkgit:git-web{litdd}browse[1] for more information about this. If the script fails, the URL will be printed to stdout.
pt_BR: O navegador da web que deve ser utilizado para exibir a página gitweb. Isso será encaminhado ao script auxiliar 'git web{litdd}browse' junto com a URL da instância gitweb. Para obter mais informações sobre isso consulte linkgit:git-web{litdd}browse[1]. Caso o script falhe, a URL será exibida no stdout.

note: type: Plain text
en: Start the httpd instance and exit.  Regenerate configuration files as necessary for spawning a new instance.
pt_BR: Inicie o servidor httpd e encerre.  Gere novamente os arquivos de configuração para criar uma nova instância conforme seja necessário.

note: type: Plain text
en: Stop the httpd instance and exit.  This does not generate any of the configuration files for spawning a new instance, nor does it close the browser.
pt_BR: Pare o servidor httpd e encerre.  Isso não gera nenhum dos arquivos de configuração para criar uma nova instância, nem fecha o navegador.

note: type: Plain text
en: Restart the httpd instance and exit.  Regenerate configuration files as necessary for spawning a new instance.
pt_BR: Reinicia o servidor httpd e encerre.  Gere novamente os arquivos de configuração para criar uma nova instância conforme seja necessário.

note: type: Plain text
en: You may specify configuration in your .git/config
pt_BR: Você pode definir a sua configuração em seu `.git/config`

note: type: Plain text
en: If the configuration variable `instaweb.browser` is not set, `web.browser` will be used instead if it is defined. See linkgit:git-web{litdd}browse[1] for more information about this.
pt_BR: Caso a variável de configuração `instaweb.browser` não esteja definida, a variável ` web.browser` será utilizada em seu lugar caso esteja definida. Para obter mais informações sobre isso consulte linkgit:git-web{litdd}browse[1].

note: type: Plain text
en: git-interpret-trailers - Add or parse structured information in commit messages
pt_BR: git-interpret-trailers - Adiciona ou analisa informação estruturada em mensagens de commit

note: type: Plain text
en: 'git interpret-trailers' [<options>] [(--trailer <token>[(=|:)<value>])...] [<file>...]
    'git interpret-trailers' [<options>] [--parse] [<file>...]
pt_BR: 'git interpret-trailers' [<opções>] [(--trailer <token>[(=|:)<valor>])...] [<arquivo>...]
    'git interpret-trailers' [<opções>] [--parse] [<arquivo>...]

note: type: Plain text
en: Help parsing or adding 'trailers' lines, that look similar to RFC 822 e-mail headers, at the end of the otherwise free-form part of a commit message.
pt_BR: Ajuda a analisar ou adicionar linhas com 'caracteres de resposta' que se pareçam com os cabeçalhos de e-mail segundo a norma RFC 822 no final ou na parte livre de uma mensagem de commit.

note: type: Plain text
en: This command reads some patches or commit messages from either the <file> arguments or the standard input if no <file> is specified. If `--parse` is specified, the output consists of the parsed trailers.
pt_BR: Este comando lê alguns patches ou faz o commit das mensagens dos argumentos <arquivo> ou da entrada padrão se nenhum <arquivo> seja definido. Caso `--parse` seja definido a saída consistirá nos caracteres de resposta analisados.

note: type: Plain text
en: Otherwise, this command applies the arguments passed using the `--trailer` option, if any, to the commit message part of each input file. The result is emitted on the standard output.
pt_BR: Caso contrário, este comando aplica os argumentos passados utilizando a opção `--trailer`, caso exista, à parte da mensagem de commit de cada arquivo de entrada. O resultado é emitido na saída padrão.

note: type: Plain text
en: Some configuration variables control the way the `--trailer` arguments are applied to each commit message and the way any existing trailer in the commit message is changed. They also make it possible to automatically add some trailers.
pt_BR: Algumas variáveis de configuração controlam a maneira como os argumentos do `--trailer` são aplicados a cada mensagem de commit e a maneira como qualquer `trailer` existente na mensagem de commit é alterado. Eles também possibilitam adicionar automaticamente alguns `trailers`.

note: type: Plain text
en: By default, a '<token>=<value>' or '<token>:<value>' argument given using `--trailer` will be appended after the existing trailers only if the last trailer has a different (<token>, <value>) pair (or if there is no existing trailer). The <token> and <value> parts will be trimmed to remove starting and trailing whitespace, and the resulting trimmed <token> and <value> will appear in the message like this:
pt_BR: É predefinido que, usando um argumento '<token>=<valor>' ou '<token>:<valor>' utilizando a opção `--trailer` será anexado após os caracteres de resposta existentes caso o último tenha um par (<token>, <valor>), (ou caso não exista nenhum caractere de resposta). As partes <token> e <valor> serão aparados para remover os espaços iniciais e finais, o que sobrar aparecerá na mensagem da seguinte maneira:

note: type: delimited block -
en: token: value
pt_BR: token: valor

note: type: Plain text
en: This means that the trimmed <token> and <value> will be separated by `': '` (one colon followed by one space).
pt_BR: Significa que o <token> e o <valor> ajustado será separado por um `': '` (dois pontos seguido por um espaço).

note: type: Plain text
en: By default the new trailer will appear at the end of all the existing trailers. If there is no existing trailer, the new trailer will appear after the commit message part of the output, and, if there is no line with only spaces at the end of the commit message part, one blank line will be added before the new trailer.
pt_BR: É predefinido que o novo caractere de resposta aparecerá no final de todos os caracteres de resposta já existentes. Caso não exista, o novo caractere de resposta aparecerá na saída após a parte da mensagem do commit, caso não haja uma linha com apenas espaços no final da parte da mensagem do commit, uma linha em branco será adicionada antes do novo caractere de resposta.

note: type: Plain text
en: Existing trailers are extracted from the input message by looking for a group of one or more lines that (i) is all trailers, or (ii) contains at least one Git-generated or user-configured trailer and consists of at least 25% trailers.  The group must be preceded by one or more empty (or whitespace-only) lines.  The group must either be at the end of the message or be the last non-whitespace lines before a line that starts with '---' (followed by a space or the end of the line). Such three minus signs start the patch part of the message. See also `--no-divider` below.
pt_BR: Os caracteres de resposta já existentes são extraídos da mensagem da entrada ao procurar um grupo de uma ou mais linhas onde (i) tenha todos os caracteres de resposta ou (ii) contenha pelo menos um caractere de resposta gerado através do Git ou configurado pelo usuário que consista em pelo menos 25% dos caracteres de resposta.  O grupo deve ser precedido por uma ou mais linhas vazias (ou somente com espaço).  O grupo deve estar no final da mensagem ou ser as últimas linhas que não sejam espaços antes de uma linha que começa com '---' (seguida por um espaço ou o quebra da linha). Estes três sinais de menos (-) iniciam a parte do patch da mensagem. Consulte também a opção `--no-divider` abaixo.

note: type: Plain text
en: When reading trailers, there can be whitespaces after the token, the separator and the value. There can also be whitespaces inside the token and the value. The value may be split over multiple lines with each subsequent line starting with whitespace, like the "folding" in RFC 822.
pt_BR: Ao ler os caracteres de resposta, podem haver espaços após o token, o separador e o valor. Também pode haver espaços no token e no valor. O valor pode ser dividido em várias linhas, com cada linha subsequente começando com um espaço, como a descrição "folding" (dobra) na norma RFC 822.

note: type: Plain text
en: Note that 'trailers' do not follow and are not intended to follow many rules for RFC 822 headers. For example they do not follow the encoding rules and probably many other rules.
pt_BR: Observe que caracteres de resposta não seguem e não se destinam a seguir muitas regras para os cabeçalhos da norma RFC 822. Por exemplo, eles não seguem as normas de codificação e muito provavelmente não sigam quaisquer outras.

note: type: Plain text
en: Edit the files in place.
pt_BR: Edite os arquivos no local.

note: type: Plain text
en: If the <value> part of any trailer contains only whitespace, the whole trailer will be removed from the resulting message.  This applies to existing trailers as well as new trailers.
pt_BR: Caso o <valor> da parte de qualquer `caractere de resposta` contenha apenas espaços, o `caractere de resposta` inteiro será removido da mensagem resultante.  Isso se aplica os `caracteres de resposta` já existentes, bem como aos novos `caractere de resposta`.

note: type: Labeled list
en: --trailer <token>[(=|:)<value>]
pt_BR: --trailer <token>[(=|:)<valor>]

note: type: Plain text
en: Specify a (<token>, <value>) pair that should be applied as a trailer to the input messages. See the description of this command.
pt_BR: Defina um par (<token>, <valor>) que deve ser aplicado como um caractere de resposta nas mensagens de entrada. Consulte a descrição deste comando.

note: type: Labeled list
en: --where <placement>
pt_BR: --where <arranjo>

note: type: Plain text
en: Specify where all new trailers will be added.  A setting provided with '--where' overrides all configuration variables and applies to all '--trailer' options until the next occurrence of '--where' or '--no-where'. Possible values are `after`, `before`, `end` or `start`.
pt_BR: Especifique onde todos os novos caracteres de resposta serão adicionados.  Uma configuração utilizada com '--where' substitui todas as variáveis de configuração e se aplica a todas as opções `--trailer` até a próxima ocorrência de '--where' ou '--no-where'. Os valores válidos são `after`, `before`, `end` or `start`.

note: type: Labeled list
en: --if-exists <action>
pt_BR: --if-exists <ação>

note: type: Plain text
en: Specify what action will be performed when there is already at least one trailer with the same <token> in the message.  A setting provided with '--if-exists' overrides all configuration variables and applies to all '--trailer' options until the next occurrence of '--if-exists' or '--no-if-exists'. Possible actions are `addIfDifferent`, `addIfDifferentNeighbor`, `add`, `replace` and `doNothing`.
pt_BR: Defina qual ação será executada quando já houver pelo menos um caractere de resposta com o mesmo <token> na mensagem.  Uma configuração utilizada com '--if-exists' substitui todas as variáveis de configuração e se aplica a todas as opções `--trailer` até a próxima ocorrência do '--if-exists' ou '--no-if-exists'. As possíveis ações são `addIfDifferent`, `addIfDifferentNeighbor`, `add`, `replace` e `doNothing`.

note: type: Labeled list
en: --if-missing <action>
pt_BR: --if-missing <ação>

note: type: Plain text
en: Specify what action will be performed when there is no other trailer with the same <token> in the message.  A setting provided with '--if-missing' overrides all configuration variables and applies to all '--trailer' options until the next occurrence of '--if-missing' or '--no-if-missing'. Possible actions are `doNothing` or `add`.
pt_BR: Especifique qual ação será executada quando não houver outro caractere de resposta com o mesmo <token> na mensagem.  Uma configuração utilizada com o comando `--if-missing` substitui todas as variáveis de configuração e se aplica a todas as opções `--trailer` até a próxima ocorrência de `--if-missing` ou `--no-if-missing`. As possíveis ações são `doNothing` ou `add`.

note: type: Plain text
en: Output only the trailers, not any other parts of the input.
pt_BR: Exibe apenas os caracteres de resposta e não quaisquer outras partes da entrada.

note: type: Plain text
en: Output only trailers that exist in the input; do not add any from the command-line or by following configured `trailer.*` rules.
pt_BR: Exibe apenas os caracteres de resposta que existam na entrada; não adicione qualquer outra linha de comando ou siga as regras `trailer.*` já configuradas.

note: type: Plain text
en: Remove any whitespace-continuation in trailers, so that each trailer appears on a line by itself with its full content.
pt_BR: Remova qualquer continuação de espaço nos caracteres de resposta para que cada caractere apareça em uma linha por si só, com o seu conteúdo completo.

note: type: Plain text
en: A convenience alias for `--only-trailers --only-input --unfold`.
pt_BR: É um atalho conveniente para os comandos `--only-trailers --only-input --unfold`.

note: type: Plain text
en: Do not treat `---` as the end of the commit message. Use this when you know your input contains just the commit message itself (and not an email or the output of `git format-patch`).
pt_BR: Não trate `---` como o final da mensagem de commit. Utilize isso quando souber que a sua entrada tenha apenas a própria mensagem do commit (e não um e-mail ou a saída do `git format-patch`).

note: type: Plain text
en: This option tells which characters are recognized as trailer separators. By default only ':' is recognized as a trailer separator, except that '=' is always accepted on the command line for compatibility with other git commands.
pt_BR: Esta opção informa quais os caracteres são reconhecidos como separadores dos caracteres de resposta. É predefinido que apenas o `:` seja reconhecido como um, a menos que `=` seja sempre aceito na linha de comando por questões de compatibilidade com os outros comandos git.

note: type: Plain text
en: The first character given by this option will be the default character used when another separator is not specified in the config for this trailer.
pt_BR: O primeiro caractere informado por esta opção será o caractere predefinido que será utilizado quando um outro separador não seja utilizado na configuração deste `caractere de resposta`.

note: type: Plain text
en: For example, if the value for this option is "%=$", then only lines using the format '<token><sep><value>' with <sep> containing '%', '=' or '$' and then spaces will be considered trailers. And '%' will be the default separator used, so by default trailers will appear like: '<token>% <value>' (one percent sign and one space will appear between the token and the value).
pt_BR: Como por exemplo, caso o valor desta opção seja "%=$", apenas as linhas que usam o formato '<token><sep><valor>' com <sep> contendo '%', '=' ou '$' e os espaços, serão considerados `caracteres de resposta`. É predefinido que o sinal '%' será utilizado como um separador; portanto, os caracteres de resposta aparecerão como: '<token>% <valor>' (um sinal de porcentagem e um espaço aparecerão entre token e o valor).

note: type: Plain text
en: This option tells where a new trailer will be added.
pt_BR: Esta opção informa onde um novo caractere de resposta será adicionado.

note: type: Plain text
en: This can be `end`, which is the default, `start`, `after` or `before`.
pt_BR: Pode ser `end` (pré definido),` start`, `after` ou` before`.

note: type: Plain text
en: If it is `end`, then each new trailer will appear at the end of the existing trailers.
pt_BR: Caso seja `end`, então cada novo caractere de resposta aparecerá no final dos caracteres de resposta já existentes.

note: type: Plain text
en: If it is `start`, then each new trailer will appear at the start, instead of the end, of the existing trailers.
pt_BR: Caso seja `start`, cada novo caractere de resposta aparecerá no início, e não no final, dos caracteres de resposta já existentes.

note: type: Plain text
en: If it is `after`, then each new trailer will appear just after the last trailer with the same <token>.
pt_BR: Caso seja `after` , cada novo caractere de resposta aparecerá logo após o último caractere de resposta com o mesmo <token>.

note: type: Plain text
en: If it is `before`, then each new trailer will appear just before the first trailer with the same <token>.
pt_BR: Caso seja `before`, então cada novo caractere de resposta aparecerá logo no começo do primeiro caractere de resposta com o mesmo <token>.

note: type: Plain text
en: This option makes it possible to choose what action will be performed when there is already at least one trailer with the same <token> in the message.
pt_BR: Essa opção permite escolher qual ação será executada quando já houver pelo menos um caractere de resposta com o mesmo <token> na mensagem.

note: type: Plain text
en: The valid values for this option are: `addIfDifferentNeighbor` (this is the default), `addIfDifferent`, `add`, `replace` or `doNothing`.
pt_BR: Os valores válidos para esta opção são: `addIfDifferentNeighbor` (predefinido), `addIfDifferent`, `add`, `replace` ou `doNothing`.

note: type: Plain text
en: With `addIfDifferentNeighbor`, a new trailer will be added only if no trailer with the same (<token>, <value>) pair is above or below the line where the new trailer will be added.
pt_BR: Com `addIfDifferentNeighbor`, um novo caractere de resposta será adicionado apenas caso nenhum com o mesmo par (<token>,<valor>) esteja acima ou abaixo da linha onde o novo caractere de resposta será adicionado.

note: type: Plain text
en: With `addIfDifferent`, a new trailer will be added only if no trailer with the same (<token>, <value>) pair is already in the message.
pt_BR: Com `addIfDifferent`, um novo caractere de resposta será adicionado apenas caso nenhum com o mesmo par (<token>,<valor>) já esteja na mensagem.

note: type: Plain text
en: With `add`, a new trailer will be added, even if some trailers with the same (<token>, <value>) pair are already in the message.
pt_BR: Com `add`, um novo caractere de resposta será adicionado mesmo que alguns com o mesmo par (<token>,<valor>) já estejam na mensagem.

note: type: Plain text
en: With `replace`, an existing trailer with the same <token> will be deleted and the new trailer will be added. The deleted trailer will be the closest one (with the same <token>) to the place where the new one will be added.
pt_BR: Com `replace`, um caractere de resposta existente com a mesmo <token> será excluído e um novo será adicionado. O caractere de resposta excluído será o mais próximo (com o mesmo <token>) do local onde o novo será adicionado.

note: type: Plain text
en: With `doNothing`, nothing will be done; that is no new trailer will be added if there is already one with the same <token> in the message.
pt_BR: Com `doNothing`, nada será feito; isso é, nenhum novo caractere de resposta será adicionado caso já haja um com o mesmo <token> na mensagem.

note: type: Plain text
en: This option makes it possible to choose what action will be performed when there is not yet any trailer with the same <token> in the message.
pt_BR: Esta opção possibilita escolher qual ação será executada quando ainda não houver nenhum "caractere de resposta" com o mesmo `<token>` na mensagem.

note: type: Plain text
en: The valid values for this option are: `add` (this is the default) and `doNothing`.
pt_BR: Os valores válidos para esta opção são: `add` (o valor predefinido) e `doNothing`.

note: type: Plain text
en: With `add`, a new trailer will be added.
pt_BR: Com `add`, um novo caractere de resposta será adicionado.

note: type: Plain text
en: With `doNothing`, nothing will be done.
pt_BR: Com `doNothing`, nada será feito.

note: type: Plain text
en: This `key` will be used instead of <token> in the trailer. At the end of this key, a separator can appear and then some space characters. By default the only valid separator is ':', but this can be changed using the `trailer.separators` config variable.
pt_BR: Esta `key` será utilizada em vez do <token> no caractere de resposta. No final desta chave, um separador pode aparecer e em seguida, alguns caracteres de espaço. É predefinido que o único separador válido seja ':', mas isso pode ser alterado utilizando a variável de configuração `trailer.separators`.

note: type: Plain text
en: If there is a separator, then the key will be used instead of both the <token> and the default separator when adding the trailer.
pt_BR: Caso haja um separador, a chave será utilizada no lugar do <token> e do separador predefinido ao adicionar o caractere de resposta.

note: type: Plain text
en: This option takes the same values as the 'trailer.where' configuration variable and it overrides what is specified by that option for trailers with the specified <token>.
pt_BR: Esta opção utiliza os mesmos valores da variável de configuração 'trailer.where' e substitui o que for especificado por essa opção para os caracteres de resposta com o `<token>` determinado.

note: type: Plain text
en: This option takes the same values as the 'trailer.ifexists' configuration variable and it overrides what is specified by that option for trailers with the specified <token>.
pt_BR: Essa opção utiliza os mesmos valores que a variável de configuração 'trailer.ifexists' e substitui o que for definido por esta opção para os caracteres de resposta com o <token> informado.

note: type: Plain text
en: This option takes the same values as the 'trailer.ifmissing' configuration variable and it overrides what is specified by that option for trailers with the specified <token>.
pt_BR: Esta opção utiliza os mesmos valores que a variável de configuração 'trailer.ifmissing' e substitui o que for definido por esta opção para os caracteres de resposta com o <token> informado.

note: type: Plain text
en: This option can be used to specify a shell command that will be called to automatically add or modify a trailer with the specified <token>.
pt_BR: Esta opção pode ser utilizada para definir um comando shell que será chamado para adicionar ou modificar automaticamente um caractere de resposta com o <token> definido.

note: type: Plain text
en: When this option is specified, the behavior is as if a special '<token>=<value>' argument were added at the beginning of the command line, where <value> is taken to be the standard output of the specified command with any leading and trailing whitespace trimmed off.
pt_BR: Quando esta opção é utilizada, o comportamento é como se um argumento especial '<token>=<valor>' fosse adicionado no início da linha de comando, onde <valor> é considerado a saída padrão do comando utilizado, removendo quaisquer espaços no começo e no fim.

note: type: Plain text
en: If the command contains the `$ARG` string, this string will be replaced with the <value> part of an existing trailer with the same <token>, if any, before the command is launched.
pt_BR: Caso o comando tiver um texto `$ARG`, ela será substituída pela parte `<valor>` do caractere de resposta já existente com o mesmo `<token>`, se houver, antes da execução do comando.

note: type: Plain text
en: If some '<token>=<value>' arguments are also passed on the command line, when a 'trailer.<token>.command' is configured, the command will also be executed for each of these arguments. And the <value> part of these arguments, if any, will be used to replace the `$ARG` string in the command.
pt_BR: Caso alguns dos argumentos '<token>=<valor>' também forem passados na linha de comando, quando um 'trailer.<token>.command' estiver configurado, o comando também será executado para cada um destes argumentos. A parte `<valor>` destes argumentos, caso haja, será utilizada para substituir a string `$ARG` no comando.

note: type: Plain text
en: Configure a 'sign' trailer with a 'Signed-off-by' key, and then add two of these trailers to a message:
pt_BR: Configure um caractere de resposta 'sign' com uma chave 'Assinada por' (Signed-off-by) e adicione dois destes caracteres de resposta em uma mensagem:

note: type: delimited block -
en: $ git config trailer.sign.key "Signed-off-by"
    $ cat msg.txt
    subject
pt_BR: $ git config trailer.sign.key "Assinado-por"
    $ cat msg.txt
    subject

note: type: delimited block -
en: message
pt_BR: mensagem

note: type: delimited block -
en: Signed-off-by: Alice <alice@example.com>
    Signed-off-by: Bob <bob@example.com>
pt_BR: Assinado-por: Alice <alice@example.com>
    Assinado-por: Bob <bob@example.com>

note: type: Plain text
en: Use the `--in-place` option to edit a message file in place:
pt_BR: Utilize a opção `- in-place` para editar um arquivo da mensagem no local:

note: type: delimited block -
en: Signed-off-by: Bob <bob@example.com>
    $ git interpret-trailers --trailer 'Acked-by: Alice <alice@example.com>' --in-place msg.txt
    $ cat msg.txt
    subject
pt_BR: Assinado-por: Bob <bob@example.com>
    $ git interpret-trailers --trailer 'Acked-by: Alice <alice@example.com>' --in-place msg.txt
    $ cat msg.txt
    subject

note: type: delimited block -
en: Signed-off-by: Bob <bob@example.com>
    Acked-by: Alice <alice@example.com>
pt_BR: Assinado-por: Bob <bob@example.com>
    Reconhecido-por: Alice <alice@example.com>

note: type: Plain text
en: Extract the last commit as a patch, and add a 'Cc' and a 'Reviewed-by' trailer to it:
pt_BR: Extraia o último commit como um patch e adicione um caractere de resposta 'Cc' com um 'Revisado por' a ele:

note: type: Plain text
en: Configure a 'sign' trailer with a command to automatically add a 'Signed-off-by: ' with the author information only if there is no 'Signed-off-by: ' already, and show how it works:
pt_BR: Configure um caractere de resposta 'sign' com um comando para adicionar automaticamente um 'Assinado-por:' com as informações do autor apenas se ainda não houver um 'Assinado-por:' e exiba como ele funciona:

note: type: delimited block -
en: $ git config trailer.sign.key "Signed-off-by: "
    $ git config trailer.sign.ifmissing add
    $ git config trailer.sign.ifexists doNothing
    $ git config trailer.sign.command 'echo "$(git config user.name) <$(git config user.email)>"'
    $ git interpret-trailers <<EOF
    > EOF
pt_BR: $ git config trailer.sign.key "Assinado-por: "
    $ git config trailer.sign.ifmissing add
    $ git config trailer.sign.ifexists doNothing
    $ git config trailer.sign.command 'echo "$(git config user.name) <$(git config user.email)>"'
    $ git interpret-trailers <<EOF
    > EOF

note: type: delimited block -
en: Signed-off-by: Bob <bob@example.com>
    $ git interpret-trailers <<EOF
    > Signed-off-by: Alice <alice@example.com>
    > EOF
pt_BR: Assinado-por: Bob <bob@example.com>
    $ git interpret-trailers <<EOF
    > Signed-off-by: Alice <alice@example.com>
    > EOF

note: type: delimited block -
en: Signed-off-by: Alice <alice@example.com>
pt_BR: Assinado-por: Alice <alice@example.com>

note: type: Plain text
en: Configure a 'fix' trailer with a key that contains a '#' and no space after this character, and show how it works:
pt_BR: Configure um caracteres de resposta 'fix' com uma chave que contenha um '#', sem espaço após este caractere e mostre como ele funciona:

note: type: Plain text
en: Configure a 'see' trailer with a command to show the subject of a commit that is related, and show how it works:
pt_BR: Configure um caractere de resposta 'see' com um comando para exibir o assunto de um commit relacionado e exibir como ele funciona:

note: type: delimited block -
en: See-also: fe3187489d69c4 (subject of related commit)
pt_BR: See-also: fe3187489d69c4 (assunto do commit relacionado)

note: type: Plain text
en: Configure a commit template with some trailers with empty values (using sed to show and keep the trailing spaces at the end of the trailers), then configure a commit-msg hook that uses 'git interpret-trailers' to remove trailers with empty values and to add a 'git-version' trailer:
pt_BR: Configure um modelo do commit com alguns caracteres de resposta com valores vazios (utilizando o comando sed para exibir e manter os espaços finais no final dos caracteres de resposta) e configure um gancho 'commit-msg' que utilize o comando 'git interpret-trailers' para remover os caracteres de resposta com os valores vazios e para adicionar um 'git-version':

note: type: delimited block -
en: $ sed -e 's/ Z$/ /' >commit_template.txt <<EOF
    > ***subject***
    > 
    > ***message***
    > 
    > Fixes: Z
    > Cc: Z
    > Reviewed-by: Z
    > Signed-off-by: Z
    > EOF
    $ git config commit.template commit_template.txt
    $ cat >.git/hooks/commit-msg <<EOF
    > #!/bin/sh
    > git interpret-trailers --trim-empty --trailer "git-version: \$(git describe)" "\$1" > "\$1.new"
    > mv "\$1.new" "\$1"
    > EOF
    $ chmod +x .git/hooks/commit-msg
pt_BR: $ sed -e 's/ Z$/ /' >commit_template.txt <<EOF
    > ***assunto***
    > 
    > ***mensagem***
    > 
    > Fixes: Z
    > Cc: Z
    > Revisado-por: Z
    > Assinado-por: Z
    > EOF
    $ git config commit.template commit_template.txt
    $ cat >.git/hooks/commit-msg <<EOF
    > #!/bin/sh
    > git interpret-trailers --trim-empty --trailer "git-version: \$(git describe)" "\$1" > "\$1.new"
    > mv "\$1.new" "\$1"
    > EOF
    $ chmod +x .git/hooks/commit-msg

note: type: Plain text
en: git-log - Show commit logs
pt_BR: git-log - Exibe os registros log do commit

note: type: Plain text
en: 'git log' [<options>] [<revision range>] [[--] <path>...]
pt_BR: 'git log' [<opções>] [<intervalo-das-revisões>] [[--] <caminho>...]

note: type: Plain text
en: Shows the commit logs.
pt_BR: Exibe os registros log do commit.

note: type: Plain text
en: The command takes options applicable to the `git rev-list` command to control what is shown and how, and options applicable to the `git diff-*` commands to control how the changes each commit introduces are shown.
pt_BR: O comando aceita as opções aplicáveis ao comando `git rev-list` para controlar o que é exibido e como. As opções aplicáveis ao comando `git diff-*` serve para controlar como as mudanças que cada commit faz são exibidas.

note: type: Plain text
en: Continue listing the history of a file beyond renames (works only for a single file).
pt_BR: Continue listando o histórico de um arquivo além de o renomear (funciona apenas para um único arquivo).

note: type: Plain text
en: Print out the ref names of any commits that are shown. If 'short' is specified, the ref name prefixes 'refs/heads/', 'refs/tags/' and 'refs/remotes/' will not be printed. If 'full' is specified, the full ref name (including prefix) will be printed. If 'auto' is specified, then if the output is going to a terminal, the ref names are shown as if 'short' were given, otherwise no ref names are shown. The default option is 'short'.
pt_BR: Imprima os nomes das refs de quaisquer commits que estão sendo exibidos. Caso `short` seja definido, os prefixos do nome das refs `refs/heads/`, `refs/tags/` e `refs/remotes/` não serão impressos. Caso `full` seja definido, o nome completo da "ref" (incluindo o prefixo) será impresso. Caso 'auto' seja definido, caso a saída seja para um terminal, os nomes das referências serão exibidas como se 'short' tenha sido utilizado, caso contrário, nenhum nome da referência será exibido. A opção predefinida é 'short'.

note: type: Labeled list
en: --decorate-refs=<pattern>
pt_BR: --decorate-refs=<padrão>

note: type: Labeled list
en: --decorate-refs-exclude=<pattern>
pt_BR: --decorate-refs-exclude=<padrão>

note: type: Plain text
en: If no `--decorate-refs` is given, pretend as if all refs were included.  For each candidate, do not use it for decoration if it matches any patterns given to `--decorate-refs-exclude` or if it doesn't match any of the patterns given to `--decorate-refs`. The `log.excludeDecoration` config option allows excluding refs from the decorations, but an explicit `--decorate-refs` pattern will override a match in `log.excludeDecoration`.
pt_BR: caso nenhuma opção `--decorate-refs` seja utilizada, finja que todos as refs foram incluídas.  Para cada candidato, não o use para decoração caso ele coincida com algum padrão fornecido para a opção `--decorate-refs-exclude` ou caso não coincida com nenhum padrão fornecido para `--decorate-refs`. A opção de configuração `log.excludeDecoration` permite excluir as refs das decorações, porém um padrão explícito `--decorate-refs` será substituida caso coincida com `log.excludeDecoration`.

note: type: Plain text
en: Print out the ref name given on the command line by which each commit was reached.
pt_BR: Exiba na tela o nome "ref" utilizado na linha de comando pela qual cada commit foi alcançado.

note: type: Plain text
en: Use mailmap file to map author and committer names and email addresses to canonical real names and email addresses. See linkgit:git-shortlog[1].
pt_BR: Utilize o arquivo mailmap para mapear os nomes dos autores dos commits e seus endereços de e-mail para nomes e endereços de e-mail reais canônicos. Consulte linkgit:git-shortlog[1].

note: type: Plain text
en: Without this flag, `git log -p <path>...` shows commits that touch the specified paths, and diffs about the same specified paths.  With this, the full diff is shown for commits that touch the specified paths; this means that "<path>..." limits only commits, and doesn't limit diff for those commits.
pt_BR: Sem esta opção, o comando `git log -p <caminho> ...` exibe os commits que tocam os caminhos informados e os "diffs" sobre os mesmos caminhos.  Com isso, o "diff" completo é exibido para os commits que tocam nos caminhos informados; significa que o "<caminho> ..." limita apenas os commits, não limita o "diff" para estes commits.

note: type: Plain text
en: Note that this affects all diff-based output types, e.g. those produced by `--stat`, etc.
pt_BR: Observe que isso afeta todos os tipos de saída baseados em "diff", como por exemplo os produzidos pelas opções `--stat`, etc.

note: type: Plain text
en: Include a line ``log size <number>'' in the output for each commit, where <number> is the length of that commit's message in bytes.  Intended to speed up tools that read log messages from `git log` output by allowing them to allocate space in advance.
pt_BR: Inclua uma linha ``log size <número>'' na saída para cada commit, onde o <número> é o comprimento da mensagem deste commit em bytes.  Destina-se a acelerar as ferramentas que leem as mensagens a partir do comando `git log` para alocar espaço antecipadamente.

note: type: Labeled list
en: -L <start>,<end>:<file>
pt_BR: -L <inicio>,<fim>:<arquivo>

note: type: Labeled list
en: -L :<funcname>:<file>
pt_BR: -L :<nome-da-função>:<arquivo>

note: type: Plain text
en: Trace the evolution of the line range given by "<start>,<end>" (or the function name regex <funcname>) within the <file>.  You may not give any pathspec limiters.  This is currently limited to a walk starting from a single revision, i.e., you may only give zero or one positive revision arguments, and <start> and <end> (or <funcname>) must exist in the starting revision.  You can specify this option more than once. Implies `--patch`.  Patch output can be suppressed using `--no-patch`, but other diff formats (namely `--raw`, `--numstat`, `--shortstat`, `--dirstat`, `--summary`, `--name-only`, `--name-status`, `--check`) are not currently implemented.
pt_BR: Monitore a evolução do intervalo das linhas definidos em "<inicio>,<fim>" (ou o nome da função regex <nome-da-função>) dentro do <arquivo>. Você não pode usar qualquer limitador com o `pathspec`. No momento, está limitado a um passo a partir de uma única revisão, ou seja, você pode utilizar zero apenas ou um argumento de revisão positivo, onde <inicio> e <fim> (ou <nome-da-função>) devam existir na revisão inicial. É possível utilizar esta opção amais de uma vez. Implica no uso da opção `--patch`. A geração do patch pode ser suprimida utilizando o comando `--no-patch`, porém outros formatos diff (nomeadamente `--raw`, `--numstat`, `--shortstat`, `--dirstat`, `--summary`, `--name-only`,` --name-status`, `--check`) ainda não foram implementados.

note: type: Labeled list
en: <revision range>
pt_BR: <intervalo da revisão>

note: type: Plain text
en: Show only commits in the specified revision range.  When no <revision range> is specified, it defaults to `HEAD` (i.e. the whole history leading to the current commit).  `origin..HEAD` specifies all the commits reachable from the current commit (i.e. `HEAD`), but not from `origin`. For a complete list of ways to spell <revision range>, see the 'Specifying Ranges' section of linkgit:gitrevisions[7].
pt_BR: Exibe apenas os commits no intervalo definido das revisões.  Quando um <intervalo de revisão> não é definido, a predefinição retorna para `HEAD` (ou seja, todo o histórico que leva ao commit atual).  O `origin..HEAD` define todos os commits acessíveis a partir do commit atual (ou seja, `HEAD`), porém não a partir do `origin`. Para obter uma lista mais completa de maneiras de soletrar os nomes dos objetos, consulte a seção "DEFININDO OS INTERVALOS" no linkgit:gitrevisions[7].

note: type: Labeled list
en: [--] <path>...
pt_BR: [--] <caminho>...

note: type: Plain text
en: Show only commits that are enough to explain how the files that match the specified paths came to be.  See 'History Simplification' below for details and other simplification modes.
pt_BR: Exiba apenas os commits que sejam suficientes para explicar como os arquivos que coincidam com os caminhos informados foram criados.  Consulte 'Simplificação do Histórico' abaixo para obter mais detalhes e para conhecer os outros modos de simplificação.

note: type: Plain text
en: Paths may need to be prefixed with `--` to separate them from options or the revision range, when confusion arises.
pt_BR: Os caminhos podem precisar ser prefixados com um `--` para separá-los das opções ou do intervalo de revisões, quando um conflito surgir.

note: type: Title -
en: COMMON DIFF OPTIONS
pt_BR: OPÇÕES DIFF QUE SÃO COMUNS

note: type: Plain text
en: Show the whole commit history, but skip any merges
pt_BR: Exibe todo o histórico do commit, mas ignore todas as mesclagens

note: type: Plain text
en: Show all commits since version 'v2.6.12' that changed any file in the `include/scsi` or `drivers/scsi` subdirectories
pt_BR: Exibe todos os commits desde a versão 'v2.6.12' que alterou qualquer arquivo nos subdiretórios 'include/scsi' ou 'drivers/scsi'

note: type: Plain text
en: Show the changes during the last two weeks to the file 'gitk'.  The `--` is necessary to avoid confusion with the *branch* named 'gitk'
pt_BR: Exibe as alterações nas últimas duas semanas no arquivo 'gitk'.  O `--` é necessário para evitar confusão com o *ramo* chamado 'gitk'

note: type: Plain text
en: Show the commits that are in the "test" branch but not yet in the "release" branch, along with the list of paths each commit modifies.
pt_BR: Exibe os commits que estão no ramo "test", mas não ainda no ramo "release", junto com a lista dos caminhos que cada commit modifica.

note: type: Plain text
en: Shows the commits that changed `builtin/rev-list.c`, including those commits that occurred before the file was given its present name.
pt_BR: Exibe os commits que mudaram o arquivo `builtin/rev-list.c`, incluindo os commits que ocorreram antes do arquivo receber o nome atual.

note: type: Plain text
en: Shows all commits that are in any of local branches but not in any of remote-tracking branches for 'origin' (what you have that origin doesn't).
pt_BR: Exibe todas os commits que estão em qualquer uma das ramificações locais, mas não em quaisquer outras ramificações remotas rastreadas para 'origin' (o que você tem mas na "origin" não).

note: type: Plain text
en: Shows all commits that are in local master but not in any remote repository master branches.
pt_BR: Exibe todos os commits que estão no "master" local, mas não em nenhuma outra ramificação "master" do repositório remoto.

note: type: Plain text
en: Shows the history including change diffs, but only from the ``main branch'' perspective, skipping commits that come from merged branches, and showing full diffs of changes introduced by the merges.  This makes sense only when following a strict policy of merging all topic branches when staying on a single integration branch.
pt_BR: EWxibe o histórico, incluindo as alterações dos diffs, porém apenas da perspectiva do ``ramo principal'', ignorando os commits provenientes da mesclagem das ramificações e exibindo os diffs completos das alterações introduzidas pelas mesclagens.  Apenas faz sentido ao seguir uma política estrita de mesclar todos os tópicos das ramificações ao permanecer em um único ramo integrado.

note: type: Plain text
en: Shows how the function `main()` in the file `main.c` evolved over time.
pt_BR: Exibe como a função `main()` no arquivo `main.c` evoluiu ao longo do tempo.

note: type: Plain text
en: Limits the number of commits to show to 3.
pt_BR: Limita a quantidade de commits a serem exibidos em 3.

note: type: Plain text
en: See linkgit:git-config[1] for core variables and linkgit:git-diff[1] for settings related to diff generation.
pt_BR: Para configurações relacionadas com a geração de arquivos diferenciais "diff" consulte linkgit:git-diff[1], para as variáveis principais consulte linkgit:git-config[1].

note: type: Plain text
en: Default for the `--format` option.  (See 'Pretty Formats' above.)  Defaults to `medium`.
pt_BR: É a opção predefinida para `--format`.  (Consulte 'Formatos bonitos' acima.)  A predefinição retorna para `medium`.

note: type: Plain text
en: Encoding to use when displaying logs.  (See 'Discussion' above.)  Defaults to the value of `i18n.commitEncoding` if set, and UTF-8 otherwise.
pt_BR: Codificação que será utilizada para exibir os registros logs.  (Consulte a 'Discussão' acima.)  A predefinição retorna para o valor existente na opção de configuração `i18n.commitEncoding` caso seja definido, caso contrário, 'UTF-8'.

note: type: Plain text
en: Default format for human-readable dates.  (Compare the `--date` option.)  Defaults to "default", which means to write dates like `Sat May 8 19:35:34 2010 -0500`.
pt_BR: O formato predefinido para que as datas sejam legíveis para as pessoas.  (Compare a opção `--date`.)  A predefinição retorna para "default", o que significa escrever as datas como `Sat May 8 19:35:34 2010 -0500`.

note: type: Plain text
en: If the format is set to "auto:foo" and the pager is in use, format "foo" will be the used for the date format. Otherwise "default" will be used.
pt_BR: Caso o formato esteja definido como "auto:foo" e o pager estiver em uso, o format "foo" será utilizado para o formato da data. Caso contrário, a "predefinição" será usada.

note: type: Plain text
en: If `true`, `git log` will act as if the `--follow` option was used when a single <path> is given.  This has the same limitations as `--follow`, i.e. it cannot be used to follow multiple files and does not work well on non-linear history.
pt_BR: Caso seja `true`, o comando `git log` como se a opção `--follow` tenha sido usada quando um único <caminho> seja utilizado.  Isso tem as mesmas limitações que a opção `--follow`, ou seja, não pode ser usado para seguir vários arquivos e não funciona bem em histórico não linear.

note: type: Plain text
en: If `false`, `git log` and related commands will not treat the initial commit as a big creation event.  Any root commits in `git log -p` output would be shown without a diff attached.  The default is `true`.
pt_BR: Caso seja `false`, o comando `git log` e relacionados, não tratarão o commit inicial como um grande episódio de criação.  Qualquer commit raiz gerado pelo comando `git log -p` seria exibido sem um diff anexado.  A predefinição é `true`.

note: type: Plain text
en: If `true`, `git log` and related commands will act as if the `--show-signature` option was passed to them.
pt_BR: Caso o valor `true` seja utilizado, o `git log` e os comandos relacionados atuarão como se a opção `--show-signature` tivesse sido utilizada.

note: type: Plain text
en: See linkgit:git-shortlog[1].
pt_BR: Consulte linkgit:git-shortlog[1].

note: type: Plain text
en: Which refs, in addition to the default set by `core.notesRef` or `GIT_NOTES_REF`, to read notes from when showing commit messages with the `log` family of commands.  See linkgit:git-notes[1].
pt_BR: Quais as refs, além do padrão definido através da opção de configuração `core.notesRef` ou do `GIT_NOTES_REF`, para ler as anotações ao exiir as mensagens do commit com a família de comandos `log`.  Consulte linkgit:git-notes[1].

note: type: Plain text
en: May be an unabbreviated ref name or a glob and may be specified multiple times.  A warning will be issued for refs that do not exist, but a glob that does not match any refs is silently ignored.
pt_BR: Pode ser um nome sem abreviação ou um "glob" e pode ser especificado várias vezes.  Um aviso será emitido para refs que não existem, mas um "glob" que não corresponda a nenhum "ref" é silenciosamente ignorado.

note: type: Plain text
en: This setting can be disabled by the `--no-notes` option, overridden by the `GIT_NOTES_DISPLAY_REF` environment variable, and overridden by the `--notes=<ref>` option.
pt_BR: Essa configuração pode ser desativada pela opção `--no-notes`, ou substituída pela variável de ambiente`GIT_NOTES_DISPLAY_REF` e substituída pela opção `--notes=<ref>`.

note: type: Plain text
en: git-ls-files - Show information about files in the index and the working tree
pt_BR: git-ls-files - Exiba as informações sobre os arquivos no índice e na árvore de trabalho

note: type: Plain text
en: 'git ls-files' [-z] [-t] [-v] [-f]
    		(--[cached|deleted|others|ignored|stage|unmerged|killed|modified])*
    		(-[c|d|o|i|s|u|k|m])*
    		[--eol]
    		[-x <pattern>|--exclude=<pattern>]
    		[-X <file>|--exclude-from=<file>]
    		[--exclude-per-directory=<file>]
    		[--exclude-standard]
    		[--error-unmatch] [--with-tree=<tree-ish>]
    		[--full-name] [--recurse-submodules]
    		[--abbrev] [--] [<file>...]
pt_BR: 'git ls-files' [-z] [-t] [-v] [-f]
    		(--[cached|deleted|others|ignored|stage|unmerged|killed|modified])*
    		(-[c|d|o|i|s|u|k|m])*
    		[--eol]
    		[-x <padrão>|--exclude=<padrão>]
    		[-X <arquivo>|--exclude-from=<arquivo>]
    		[--exclude-per-directory=<arquivo>]
    		[--exclude-standard]
    		[--error-unmatch] [--with-tree=<tree-ish>]
    		[--full-name] [--recurse-submodules]
    		[--abbrev] [--] [<arquivo>...]

note: type: Plain text
en: This merges the file listing in the directory cache index with the actual working directory list, and shows different combinations of the two.
pt_BR: Mescla a listagem dos arquivos no índice do cache do diretório com a lista dos diretórios de trabalho real e exibe as diferentes combinações dos dois.

note: type: Plain text
en: One or more of the options below may be used to determine the files shown:
pt_BR: Uma ou mais das opções abaixo podem ser utilizadas para determinar quais os arquivos serão exibidos:

note: type: Plain text
en: Show cached files in the output (default)
pt_BR: Exibe os arquivos no cache da saída (predefinido)

note: type: Plain text
en: Show deleted files in the output
pt_BR: Exibe os arquivos excluídos da saída

note: type: Plain text
en: Show modified files in the output
pt_BR: Exibe os arquivos modificados na saída

note: type: Plain text
en: Show other (i.e. untracked) files in the output
pt_BR: Exibe os outros arquivos (não monitorados) na saída

note: type: Plain text
en: Show only ignored files in the output. When showing files in the index, print only those matched by an exclude pattern. When showing "other" files, show only those matched by an exclude pattern. Standard ignore rules are not automatically activated, therefore at least one of the `--exclude*` options is required.
pt_BR: Exibe apenas os arquivos ignorados na saída. Ao exibir os arquivos no índice, exiba apenas aqueles que coincidam através de um padrão de exclusão. Ao exibir os "outros" arquivos, exiba apenas aqueles que coincidam através de um padrão de exclusão. As regras predefinidas para ignorar não estão automaticamente ativas; portanto, pelo menos uma das opções `--exclude*` são necessários.

note: type: Plain text
en: Show staged contents' mode bits, object name and stage number in the output.
pt_BR: Exibe os bits do modo do conteúdo escalonado, o nome do objeto e o número do estágio na saída.

note: type: Plain text
en: If a whole directory is classified as "other", show just its name (with a trailing slash) and not its whole contents.
pt_BR: Caso um diretório inteiro seja classificado como "other" (outro), exibe apenas o seu nome (com uma barra à direita) e não todo o seu conteúdo.

note: type: Plain text
en: Do not list empty directories. Has no effect without --directory.
pt_BR: Não liste os diretórios vazios. Não tem efeito sem a opção `--directory`.

note: type: Plain text
en: Show unmerged files in the output (forces --stage)
pt_BR: Exibe os arquivos não mesclados na saída (impõem a utilização da opção `--stage`)

note: type: Plain text
en: Show files on the filesystem that need to be removed due to file/directory conflicts for checkout-index to succeed.
pt_BR: Exibe os arquivos no sistema de arquivos que precisam ser removidos devido a conflitos do arquivo/diretório para que o índice averiguado seja bem-sucedido.

note: type: Plain text
en: \0 line termination on output and do not quote filenames.  See OUTPUT below for more information.
pt_BR: A terminação \0 da linha na saída e não cita os nomes dos arquivos.  Consulte SAÍDA abaixo para obter mais informações.

note: type: Labeled list
en: -x <pattern>
pt_BR: -x <padrão>

note: type: Plain text
en: Skip untracked files matching pattern.  Note that pattern is a shell wildcard pattern. See EXCLUDE PATTERNS below for more information.
pt_BR: Ignora o padrão de correspondência dos arquivos não monitorados.  Observe que o padrão é um padrão curinga do shell. Consulte EXCLUIR PADRÕES abaixo para obter mais informações.

note: type: Labeled list
en: -X <file>
pt_BR: -X <arquivo>

note: type: Labeled list
en: --exclude-from=<file>
pt_BR: --exclude-from=<arquivo>

note: type: Plain text
en: Read exclude patterns from <file>; 1 per line.
pt_BR: Leia os padrões de exclusão do <arquivo>; 1 por linha.

note: type: Labeled list
en: --exclude-per-directory=<file>
pt_BR: --exclude-per-directory=<arquivo>

note: type: Plain text
en: Read additional exclude patterns that apply only to the directory and its subdirectories in <file>.
pt_BR: Leia os padrões de exclusão adicionais que se aplicam apenas ao diretório e aos seus subdiretórios no <arquivo>.

note: type: Plain text
en: Add the standard Git exclusions: .git/info/exclude, .gitignore in each directory, and the user's global exclusion file.
pt_BR: Adicione as exclusões padrão do Git: '.git/info/exclude', '.gitignore' em cada diretório e o arquivo de exclusão global do usuário.

note: type: Plain text
en: If any <file> does not appear in the index, treat this as an error (return 1).
pt_BR: Caso algum `<arquivo>` não apareça no índice, trate isso como um erro (retorno 1).

note: type: Plain text
en: When using --error-unmatch to expand the user supplied <file> (i.e. path pattern) arguments to paths, pretend that paths which were removed in the index since the named <tree-ish> are still present.  Using this option with `-s` or `-u` options does not make any sense.
pt_BR: Ao utilizar o comando `--error-unmatch` para expandir os argumentos <arquivo> (padrão do caminho por exemplo) argumentos para os caminhos, finja que os caminhos que foram removidos no índice desde que o `<tree-ish>` ainda esteja presente.  Utilizar esta opção com as opções `-s` ou `-u` não faz nenhum sentido.

note: type: Plain text
en: This feature is semi-deprecated. For scripting purpose, linkgit:git-status[1] `--porcelain` and linkgit:git-diff-files[1] `--name-status` are almost always superior alternatives, and users should look at linkgit:git-status[1] `--short` or linkgit:git-diff[1] `--name-status` for more user-friendly alternatives.
pt_BR: Esse recurso está quase obsoleto. Para fins de script, linkgit:git-status[1] `--porcelain` e linkgit:git-diff-files[1] `--name-status` são quase sempre as maiores alternativas, os usuários devem olhar para o linkgit:git-status[1] `--short` ou linkgit:git-diff[1] `--namename-status` para as alternativas mais amigáveis.

note: type: Plain text
en: This option identifies the file status with the following tags (followed by a space) at the start of each line:
pt_BR: Esta opção identifica a condição geral do arquivo com as seguintes opções (seguidas por um espaço) no início de cada linha:

note: type: Plain text
en: removed/deleted
pt_BR: removido/excluído

note: type: Plain text
en: modified/changed
pt_BR: modificado/alterado

note: type: Plain text
en: to be killed
pt_BR: para ser encerrado

note: type: Title ~
en: other
pt_BR: Outros

note: type: Plain text
en: Similar to `-t`, but use lowercase letters for files that are marked as 'assume unchanged' (see linkgit:git-update-index[1]).
pt_BR: Semelhante ao `-t`, porém utilize as letras minúsculas para os arquivos marcados como 'assume unchanged' ou 'assuma que não foi alterado' (consulte linkgit:git-update-index[1]).

note: type: Plain text
en: Similar to `-t`, but use lowercase letters for files that are marked as 'fsmonitor valid' (see linkgit:git-update-index[1]).
pt_BR: Semelhante ao `-t`, porém utilize as letras minúsculas para os arquivos marcados como 'fsmonitor valid' ou 'fsmonitor válido' (consulte linkgit:git-update-index[1]).

note: type: Plain text
en: Recursively calls ls-files on each active submodule in the repository.  Currently there is only support for the --cached mode.
pt_BR: Chama recursivamente os 'ls-files' em cada submódulo no repositório.  Atualmente, há apenas suporte para a opção `--cached-mode`.

note: type: Plain text
en: Instead of showing the full 40-byte hexadecimal object lines, show only a partial prefix.  Non default number of digits can be specified with --abbrev=<n>.
pt_BR: Em vez de exibir as linhas do objeto hexadecimal com 40 bytes, exibe apenas um prefixo parcial.  Um número não predefinido dos dígitos podem ser definidos com `--abbrev=<n>`.

note: type: Plain text
en: After each line that describes a file, add more data about its cache entry.  This is intended to show as much information as possible for manual inspection; the exact format may change at any time.
pt_BR: Após cada linha que descreve um arquivo, adicione mais dados sobre a sua entrada no cache.  O objetivo é exibir o máximo de informações possíveis para a inspeção manual; o formato exato pode mudar a qualquer momento.

note: type: Plain text
en: Show <eolinfo> and <eolattr> of files.  <eolinfo> is the file content identification used by Git when the "text" attribute is "auto" (or not set and core.autocrlf is not false).  <eolinfo> is either "-text", "none", "lf", "crlf", "mixed" or "".
pt_BR: Exibe o `<eolinfo>` e o `<eolattr>` dos arquivos.  O `<eolinfo>` é a identificação do conteúdo do arquivo utilizado pelo Git quando o atributo "text" for  "auto" (ou não está definido e o `core.autocrlf` não for falso).  O `<eolinfo>` é "-text", "none", "lf", "crlf", "mixed" ou "".

note: type: Plain text
en: "" means the file is not a regular file, it is not in the index or not accessible in the working tree.
pt_BR: "" significa que o arquivo não é um arquivo comum, não está no índice ou não está acessível na árvore de trabalho.

note: type: Plain text
en: <eolattr> is the attribute that is used when checking out or committing, it is either "", "-text", "text", "text=auto", "text eol=lf", "text eol=crlf".  Since Git 2.10 "text=auto eol=lf" and "text=auto eol=crlf" are supported.
pt_BR: O `<eolattr>` é o atributo utilizado ao efetuar a averiguação ou fazer o commit, é também "", "-text", "text", "text=auto", "text eol=lf", "text eol=crlf".  Desde o Git 2.10, "text=auto eol=lf" e "text=auto eol=crlf" são compatíveis.

note: type: Plain text
en: Both the <eolinfo> in the index ("i/<eolinfo>")  and in the working tree ("w/<eolinfo>") are shown for regular files, followed by the ("attr/<eolattr>").
pt_BR: Ambos os `<eolinfo>` no índice ("i/<eolinfo>") e na árvore de trabalho ("w/<eolinfo>") são exibidos para os arquivos regulares, seguidos pelo ("attr/<eolattr>").

note: type: Labeled list
en: <file>
pt_BR: <arquivo>

note: type: Plain text
en: Files to show. If no files are given all files which match the other specified criteria are shown.
pt_BR: Arquivos para exibir. Caso nenhum arquivo seja informado, todos os arquivos que coincidam com outros critérios informados serão mostrados.

note: type: Plain text
en: 'git ls-files' just outputs the filenames unless `--stage` is specified in which case it outputs:
pt_BR: 'git ls-files' apenas gera os nomes dos arquivos, a menos que a opção `--stage` seja utilizado; nesse caso, ele gera:

note: type: Plain text
en:         [<tag> ]<mode> <object> <stage> <file>
pt_BR:         [<tag> ]<modo> <objeto> <estágio> <arquivo>

note: type: Plain text
en: 'git ls-files --eol' will show
    	i/<eolinfo><SPACES>w/<eolinfo><SPACES>attr/<eolattr><SPACE*><TAB><file>
pt_BR: 'git ls-files --eol' will show
    	i/<eolinfo><SPACES>w/<eolinfo><SPACES>attr/<eolattr><SPACE*><TAB><arquivo>

note: type: Plain text
en: 'git ls-files --unmerged' and 'git ls-files --stage' can be used to examine detailed information on unmerged paths.
pt_BR: Os comando 'git ls-files --unmerged' e o 'git ls-files --stage' podem ser utilizados para examinar as informações detalhadas sobre os caminhos não mesclados.

note: type: Plain text
en: For an unmerged path, instead of recording a single mode/SHA-1 pair, the index records up to three such pairs; one from tree O in stage 1, A in stage 2, and B in stage 3.  This information can be used by the user (or the porcelain) to see what should eventually be recorded at the path. (see linkgit:git-read-tree[1] for more information on state)
pt_BR: Para um caminho que não foi mesclado, em vez de gravar um único modo/ par SHA-1 pair, o índice registra até três desses pares; um da árvore O no estágio 1, A no estágio 2 e B no estágio 3.  Esta informação pode ser utilizada pelo usuário (ou pela porcelana) para ver o quê eventualmente deverá ser registrado no caminho. (para mais informações sobre estado/condição consulte linkgit:git-read-tree[1]

note: type: Title -
en: EXCLUDE PATTERNS
pt_BR: EXCLUIR PADRÕES

note: type: Plain text
en: 'git ls-files' can use a list of "exclude patterns" when traversing the directory tree and finding files to show when the flags --others or --ignored are specified.  linkgit:gitignore[5] specifies the format of exclude patterns.
pt_BR: O 'git ls-files' pode utilizar uma lista de "padrões de exclusão" ao percorrer a árvore dos diretórios e localizar os arquivos para exibir quando as opções `--others` ou `--ignored` são utilizados.  linkgit:gitignore[5] determina o formato dos padrões de exclusão.

note: type: Plain text
en: These exclude patterns come from these places, in order:
pt_BR: Estes padrões de exclusão vêm destes locais, na ordem:

note: type: Plain text
en: The command-line flag --exclude=<pattern> specifies a single pattern.  Patterns are ordered in the same order they appear in the command line.
pt_BR: A opção da linha de comando `--exclude=<padrão>` define um único padrão.  Os padrões são ordenados na mesma ordem em que aparecem na linha de comando.

note: type: Plain text
en: The command-line flag --exclude-from=<file> specifies a file containing a list of patterns.  Patterns are ordered in the same order they appear in the file.
pt_BR: A opção da linha de comando `--exclude-from=<arquivo>` define um arquivo que contém uma lista de padrões.  Os padrões são ordenados na mesma ordem em que aparecem no arquivo.

note: type: Plain text
en: The command-line flag --exclude-per-directory=<name> specifies a name of the file in each directory 'git ls-files' examines, normally `.gitignore`.  Files in deeper directories take precedence.  Patterns are ordered in the same order they appear in the files.
pt_BR: A opção da linha de comando `--exclude-per-directory=<nome>` define um nome do arquivo em cada diretório que o comando 'git ls-files' examina, normalmente `.gitignore`.  Os arquivos nos diretórios mais profundos têm precedência.  Os padrões são ordenados na mesma ordem em que aparecem nos arquivos.

note: type: Plain text
en: A pattern specified on the command line with --exclude or read from the file specified with --exclude-from is relative to the top of the directory tree.  A pattern read from a file specified by --exclude-per-directory is relative to the directory that the pattern file appears in.
pt_BR: Um padrão definido na linha de comandos com `--exclude` ou lido do arquivo definido com `--exclude-from` é relativo ao topo da árvore de diretórios.  Um padrão lido de um arquivo definido com `--exclude-per-directory` é relativo ao diretório em que o padrão do arquivo aparece.

note: type: Plain text
en: git-ls-remote - List references in a remote repository
pt_BR: git-ls-remote - Liste referências em um repositório remoto

note: type: Plain text
en: 'git ls-remote' [--heads] [--tags] [--refs] [--upload-pack=<exec>]
    	      [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]
    	      [--symref] [<repository> [<refs>...]]
pt_BR: 'git ls-remote' [--heads] [--tags] [--refs] [--upload-pack=<exec>]
    	      [-q | --quiet] [--exit-code] [--get-url] [--sort=<chave>]
    	      [--symref] [<repositório> [<refs>...]]

note: type: Plain text
en: Displays references available in a remote repository along with the associated commit IDs.
pt_BR: Exibe as referências disponíveis em um repositório remoto, juntamente com as IDs os commits associados.

note: type: Plain text
en: Limit to only refs/heads and refs/tags, respectively.  These options are _not_ mutually exclusive; when given both, references stored in refs/heads and refs/tags are displayed.  Note that `git ls-remote -h` used without anything else on the command line gives help, consistent with other git subcommands.
pt_BR: Limite a apenas 'refs/heads' e 'refs/tags', respectivamente.  Essas opções _não_ são reciprocamente exclusivas; ambas quando informadas, as referências armazenadas em 'refs/heads' e 'refs/tags' são exibidas.  Note que o `git ls-remote -h` exibe a ajuda quando utilizado sem nada na linha de comando, consistente com outros subcomandos do git.

note: type: Plain text
en: Do not show peeled tags or pseudorefs like `HEAD` in the output.
pt_BR: Não exiba as opções removidas ou as 'pseudorefs' como `HEAD` na saída.

note: type: Plain text
en: Do not print remote URL to stderr.
pt_BR: Não exiba a URL remota no stderr.

note: type: Plain text
en: Specify the full path of 'git-upload-pack' on the remote host. This allows listing references from repositories accessed via SSH and where the SSH daemon does not use the PATH configured by the user.
pt_BR: Define o caminho completo do 'git-upload-pack' no host remoto. Permite listar as referências dos repositórios acessados através do SSH e onde o daemon SSH não utiliza o PATH configurado pelo usuário.

note: type: Plain text
en: Exit with status "2" when no matching refs are found in the remote repository. Usually the command exits with status "0" to indicate it successfully talked with the remote repository, whether it found any matching refs.
pt_BR: Encerra com a condição '2' quando nenhuma refs coincidente for encontrada no repositório remoto. Normalmente, o comando encerra com a condição '0' para indicar que houve uma comunicação bem sucedida com o repositório remoto, caso tenha encontrado qualquer refs coincidentes.

note: type: Plain text
en: Expand the URL of the given remote repository taking into account any "url.<base>.insteadOf" config setting (See linkgit:git-config[1]) and exit without talking to the remote.
pt_BR: Expanda a URL do repositório remoto informado, levando em consideração qualquer definição da configuração "url.<base>.insteadOf" (consulte linkgit:git-config[1]) e encerre sem se comunicar com o repositório remoto.

note: type: Plain text
en: In addition to the object pointed by it, show the underlying ref pointed by it when showing a symbolic ref.  Currently, upload-pack only shows the symref HEAD, so it will be the only one shown by ls-remote.
pt_BR: Além do objeto apontado por ele, exiba a referência subjacente apontada por ele ao exibir uma referência simbólica.  Atualmente, o "upload-pack" exibe apenas a referência simbólica do `HEAD`, portanto será o único exibido pelo 'ls-remote'.

note: type: Plain text
en: Sort based on the key given. Prefix `-` to sort in descending order of the value. Supports "version:refname" or "v:refname" (tag names are treated as versions). The "version:refname" sort order can also be affected by the "versionsort.suffix" configuration variable.  See linkgit:git-for-each-ref[1] for more sort options, but be aware keys like `committerdate` that require access to the objects themselves will not work for refs whose objects have not yet been fetched from the remote, and will give a `missing object` error.
pt_BR: Classifique com base na chave informada. O prefixo `-` é utilizado para classificar em ordem decrescente. Supports "version:refname" or "v:refname" (tag names are treated as versions). A ordem de classificação `versão:refname` também pode ser afetada pela variável de configuração `versionsort.sufix`.  Para mais opções de classificação consulte linkgit:git-for-each-ref[1], porém esteja ciente que chaves como `committerdate` que requeiram acesso aos objetos em si não funcionarão com refs cujos objetos ainda não foram capturados remotamente e exibirão um erro `missing object`.

note: type: Plain text
en: Transmit the given string to the server when communicating using protocol version 2.  The given string must not contain a NUL or LF character.  When multiple `--server-option=<option>` are given, they are all sent to the other side in the order listed on the command line.
pt_BR: Transmita a sequência especificada para o servidor ao se comunicar utilizando o protocolo versão 2.  A sequência informada não deve conter um caractere `NUL` ou `LF`.  Quando a opção `--server-option=<opção>` forem utilizadas várias vezes, todos serão enviados para o outro lado na ordem listada na linha de comando.

note: type: Plain text
en: The "remote" repository to query.  This parameter can be either a URL or the name of a remote (see the GIT URLS and REMOTES sections of linkgit:git-fetch[1]).
pt_BR: O repositório "remoto" que será consultado.  Este parâmetro pode ser uma URL ou o nome de um ramo remoto (consulte as seções URLs e REMOTOS do GIT no linkgit:git-fetch[1]).

note: type: Plain text
en: When unspecified, all references, after filtering done with --heads and --tags, are shown.  When <refs>... are specified, only references matching the given patterns are displayed.
pt_BR: Quando não for utilizado, todas as referências, após a filtragem feita com `--heads` e `--tags`, são exibidas.  Quando as `<refs>...` é definido, apenas as referências que coincidam com os padrões informados são exibidas.

note: type: Plain text
en: git-ls-tree - List the contents of a tree object
pt_BR: git-ls-tree - Lista o conteúdo de um objeto na árvore

note: type: Plain text
en: 'git ls-tree' [-d] [-r] [-t] [-l] [-z]
    	    [--name-only] [--name-status] [--full-name] [--full-tree] [--abbrev[=<n>]]
    	    <tree-ish> [<path>...]
pt_BR: 'git ls-tree' [-d] [-r] [-t] [-l] [-z]
    	    [--name-only] [--name-status] [--full-name] [--full-tree] [--abbrev[=<n>]]
    	    <tree-ish> [<caminho>...]

note: type: Plain text
en: Lists the contents of a given tree object, like what "/bin/ls -a" does in the current working directory.  Note that:
pt_BR: Lista o conteúdo de um determinado objeto na árvore, como o que "/bin/ls -a" faz no diretório de trabalho atual.  Observe que:

note: type: Plain text
en: the behaviour is slightly different from that of "/bin/ls" in that the '<path>' denotes just a list of patterns to match, e.g. so specifying directory name (without `-r`) will behave differently, and order of the arguments does not matter.
pt_BR: o comportamento é um pouco diferente do "/bin/ls", pois o '<caminho>' indica apenas uma lista de padrões para serem coincididos, portanto, especificar o nome do diretório (sem `-r`) se comportará de maneira diferente e a ordem dos argumentos não importa.

note: type: Plain text
en: the behaviour is similar to that of "/bin/ls" in that the '<path>' is taken as relative to the current working directory.  E.g. when you are in a directory 'sub' that has a directory 'dir', you can run 'git ls-tree -r HEAD dir' to list the contents of the tree (that is `sub/dir` in `HEAD`).  You don't want to give a tree that is not at the root level (e.g. `git ls-tree -r HEAD:sub dir`) in this case, as that would result in asking for `sub/sub/dir` in the `HEAD` commit.  However, the current working directory can be ignored by passing --full-tree option.
pt_BR: o comportamento é semelhante ao do "/bin/ls" onde o '<caminho>' é considerado como relativo ao diretório de trabalho atual.  Por exemplo, quando você está em um diretório 'sub' que possui um diretório 'dir', é possível executar o comando 'git ls-tree -r HEAD dir' para listar o conteúdo da árvore (que é `sub/dir` no `HEAD`).  Você quer informar uma árvore que não esteja no nível raiz (como por exemplo, `git ls-tree -r HEAD:sub dir`) neste caso, pois isso resultaria na solicitação do `sub/sub/dir` no commit `HEAD`.  No entanto, o diretório de trabalho atual pode ser ignorado passando a opção `--full-tree`.

note: type: Plain text
en: Id of a tree-ish.
pt_BR: Id de uma `tree-ish`.

note: type: Plain text
en: Show only the named tree entry itself, not its children.
pt_BR: Exibe apenas a entrada da árvore informada em si, não seus herdeiros.

note: type: Plain text
en: Recurse into sub-trees.
pt_BR: Recursar nas subárvores.

note: type: Plain text
en: Show tree entries even when going to recurse them. Has no effect if `-r` was not passed. `-d` implies `-t`.
pt_BR: Exiba as entradas da árvore mesmo quando for recursá-las. Não tem efeito caso `-r` não tenha sido passado. `-d` implica no uso da opção `-t`.

note: type: Plain text
en: Show object size of blob (file) entries.
pt_BR: Exibe o tamanho do objeto nas entradas da bolha (arquivo).

note: type: Plain text
en: \0 line termination on output and do not quote filenames.  See OUTPUT FORMAT below for more information.
pt_BR: A terminação \0 da linha na saída e não cita os nomes dos arquivos.  Consulte FORMATO DE SAÍDA abaixo para obter mais informações.

note: type: Plain text
en: List only filenames (instead of the "long" output), one per line.
pt_BR: Liste apenas os nomes dos arquivos (em vez da saída "longa"), um por linha.

note: type: Plain text
en: Instead of showing the path names relative to the current working directory, show the full path names.
pt_BR: Em vez de mostrar os nomes dos caminhos relativos ao diretório de trabalho atual, mostre os nomes completos dos caminhos.

note: type: Plain text
en: Do not limit the listing to the current working directory.  Implies --full-name.
pt_BR: Não limite a listagem ao diretório de trabalho atual.  Implica no uso da opção `--full-name`.

note: type: Labeled list
en: [<path>...]
pt_BR: [<caminho>...]

note: type: Plain text
en: When paths are given, show them (note that this isn't really raw pathnames, but rather a list of patterns to match).  Otherwise implicitly uses the root level of the tree as the sole path argument.
pt_BR: Quando os caminhos forem informados, exiba-os (observe que estes nomes do caminho não são realmente brutos, porém uma lista de padrões que serão combinados).  Caso contrário, implicitamente utiliza o nível na raiz da árvore como o único argumento do caminho.

note: type: Title -
en: Output Format
pt_BR: Formato de saída

note: type: Plain text
en:         <mode> SP <type> SP <object> TAB <file>
pt_BR:         <mode> SP <tipo> SP <objeto> TAB <arquivo>

note: type: Plain text
en: This output format is compatible with what `--index-info --stdin` of 'git update-index' expects.
pt_BR: Este formato gerado é compatível com o que a opção `--index-info --stdin` do comando 'git update-index' espera.

note: type: Plain text
en: When the `-l` option is used, format changes to
pt_BR: Quando a opção `-l` é utilizada, o formato muda para

note: type: Plain text
en:         <mode> SP <type> SP <object> SP <object size> TAB <file>
pt_BR:         <mode> SP <tipo> SP <objeto> SP <object size> TAB <arquivo>

note: type: Plain text
en: Object size identified by <object> is given in bytes, and right-justified with minimum width of 7 characters.  Object size is given only for blobs (file) entries; for other entries `-` character is used in place of size.
pt_BR: O tamanho do objeto identificado por `<objeto>` é informado em bytes e justificado à direita com largura mínima de 7 caracteres.  O tamanho do objeto é informado apenas para as entradas das bolhas (arquivo); para as outras entradas, o caracter `-` é utilizado no lugar do tamanho.

note: type: Plain text
en: git-mailinfo - Extracts patch and authorship from a single e-mail message
pt_BR: git-mailinfo - Extrai o patch e a autoria de uma única mensagem de e-mail

note: type: Plain text
en: 'git mailinfo' [-k|-b] [-u | --encoding=<encoding> | -n] [--[no-]scissors] <msg> <patch>
pt_BR: 'git mailinfo' [-k|-b] [-u | --encoding=<codificação> | -n] [--[no-]scissors] <msg> <patch>

note: type: Plain text
en: Reads a single e-mail message from the standard input, and writes the commit log message in <msg> file, and the patches in <patch> file.  The author name, e-mail and e-mail subject are written out to the standard output to be used by 'git am' to create a commit.  It is usually not necessary to use this command directly.  See linkgit:git-am[1] instead.
pt_BR: Lê uma única mensagem de email da entrada padrão, registra a mensagem do commit no log em um arquivo <msg>, e os patches em um arquivo <patch>.  O nome do autor, o assunto da mensagem e o endereço do e-mail são gravados na saída padrão para criar um commit que serão utilizados pelo comando 'git am'.  Na maioria das vezes, não é necessário usar este comando diretamente.  Em vez disso, consulte linkgit:git-am[1].

note: type: Plain text
en: Usually the program removes email cruft from the Subject: header line to extract the title line for the commit log message.  This option prevents this munging, and is most useful when used to read back 'git format-patch -k' output.
pt_BR: Normalmente, o programa remove a sujeira do cabeçalho do Assunto: do e-mail extraindo o título da linha da mensagem do registro log do commit.  Esta opção evita essa interrupção e tem mais utilidade quando utilizada para ler a saída do comando 'git format-patch -k'.

note: type: Plain text
en: Specifically, the following are removed until none of them remain:
pt_BR: Especificamente, o seguinte é removido até que nenhum deles permaneça:

note: type: Plain text
en: Leading and trailing whitespace.
pt_BR: Os espaços à esquerda e à direita.

note: type: Plain text
en: Leading `Re:`, `re:`, and `:`.
pt_BR: Iniciando com `Re:`, `re:`, e `:`.

note: type: Plain text
en: Leading bracketed strings (between `[` and `]`, usually
pt_BR: As sequências dos caracteres entre colchetes à esquerda (entre `[` e `]`, geralmente

note: type: Plain text
en: Finally, runs of whitespace are normalized to a single ASCII space character.
pt_BR: Finalmente, as execuções do espaço são normalizadas para um único caractere de espaço ASCII.

note: type: Plain text
en: When -k is not in effect, all leading strings bracketed with '[' and ']' pairs are stripped.  This option limits the stripping to only the pairs whose bracketed string contains the word "PATCH".
pt_BR: Quando -k não está em vigor, todas as cadeias iniciais entre parênteses com os pares '[' e ']' são removidos.  Esta opção limita a remoção apenas aos pares cuja cadeia entre os colchetes contenha a palavra "PATCH".

note: type: Plain text
en: The commit log message, author name and author email are taken from the e-mail, and after minimally decoding MIME transfer encoding, re-coded in the charset specified by i18n.commitencoding (defaulting to UTF-8) by transliterating them.  This used to be optional but now it is the default.
pt_BR: A mensagem do registro log do commit, o nome do autor e seu e-mail são obtidos a partir do e-mail e após a decodificação mínima da codificação de transferência MIME, recodificados no conjunto de caracteres definido pela opção de configuração `i18n.commitencoding` (predefinido para UTF-8), transliterando-os.  Isto costumava ser opcional, agora é a predefinição.

note: type: Plain text
en: Note that the patch is always used as-is without charset conversion, even with this flag.
pt_BR: Observe que o patch é sempre utilizado como está, sem conversão do 'charset' (definição dos caracteres), mesmo com esta opção.

note: type: Plain text
en: Similar to -u.  But when re-coding, the charset specified here is used instead of the one specified by i18n.commitencoding or UTF-8.
pt_BR: Semelhante ao -u.  Porém, ao re-codificar, o conjunto dos caracteres informados aqui é utilizado em vez do informado pelo i18n.commitencoding ou o UTF-8.

note: type: Plain text
en: Disable all charset re-coding of the metadata.
pt_BR: Desative toda a re-codificação do "charset" dos metadados.

note: type: Plain text
en: Copy the Message-ID header at the end of the commit message.  This is useful in order to associate commits with mailing list discussions.
pt_BR: Copie o cabeçalho da ID da mensagem no final da mensagem do commit.  É útil para associar os commits a discussões nas listas de discussão.

note: type: Plain text
en: Remove everything in body before a scissors line.  A line that mainly consists of scissors (either ">8" or "8<") and perforation (dash "-") marks is called a scissors line, and is used to request the reader to cut the message at that line.  If such a line appears in the body of the message before the patch, everything before it (including the scissors line itself) is ignored when this option is used.
pt_BR: Remova tudo no corpo antes das marcações.  Uma linha que consiste principalmente das marcas (">8" ou "8<") e a perfuração (traço "-") é chamada de linha de grafo traçado, é utilizada para solicitar que o leitor corte a mensagem nesta linha.  Caso esta linha apareça no corpo da mensagem antes do patch, tudo o que estiver à frente (incluindo a própria linha) será ignorado quando essa opção for utilizada.

note: type: Plain text
en: This is useful if you want to begin your message in a discussion thread with comments and suggestions on the message you are responding to, and to conclude it with a patch submission, separating the discussion and the beginning of the proposed commit log message with a scissors line.
pt_BR: É útil caso queira iniciar a sua mensagem em um tópico de discussão com comentários e sugestões sobre a mensagem que está respondendo e concluí-la com um envio do patch, separando a discussão e o início da mensagem do registro log do commit proposta com uma linha de grafo traçado.

note: type: Plain text
en: This can be enabled by default with the configuration option mailinfo.scissors.
pt_BR: É possível que seja predefinidamente ativada com a opção de configuração mailinfo.scissors.

note: type: Plain text
en: Ignore scissors lines. Useful for overriding mailinfo.scissors settings.
pt_BR: Ignore as linhas de grafo traçado. Útil para substituir as configurações de mailinfo.scissors.

note: type: Plain text
en: The commit log message extracted from e-mail, usually except the title line which comes from e-mail Subject.
pt_BR: Geralmente a mensagem do registro log do commit extraída do e-mail, exceto quando a linha do título que vem do Assunto do email.

note: type: Plain text
en: The patch extracted from e-mail.
pt_BR: O patch extraído do e-mail.

note: type: Plain text
en: git-mailsplit - Simple UNIX mbox splitter program
pt_BR: git-mailsplit - Simples Programa separador do mbox UNIX

note: type: Plain text
en: 'git mailsplit' [-b] [-f<nn>] [-d<prec>] [--keep-cr] [--mboxrd]
    		-o<directory> [--] [(<mbox>|<Maildir>)...]
pt_BR: 'git mailsplit' [-b] [-f<nn>] [-d<prec>] [--keep-cr] [--mboxrd]
    		-o<diretório> [--] [(<mbox>|<Maildir>)...]

note: type: Plain text
en: Splits a mbox file or a Maildir into a list of files: "0001" "0002" ..  in the specified directory so you can process them further from there.
pt_BR: Divide um arquivo 'mbox' ou um 'Maildir' em uma lista de arquivos: "0001" "0002" ..  no diretório informado para que você possa processá-los ainda mais a partir daí.

note: type: Plain text
en: Maildir splitting relies upon filenames being sorted to output patches in the correct order.
pt_BR: A divisão do Maildir depende da classificação dos nomes dos arquivos para produzir os patches na ordem correta.

note: type: Plain text
en: Mbox file to split.  If not given, the mbox is read from the standard input.
pt_BR: O arquivo Mbox para ser dividido.  Se não for informada, a mbox é lida na entrada padrão.

note: type: Plain text
en: Root of the Maildir to split. This directory should contain the cur, tmp and new subdirectories.
pt_BR: Raiz do Maildir que será dividida. Este diretório deve conter os subdiretórios `cur`, `tmp` e `new`.

note: type: Labeled list
en: -o<directory>
pt_BR: -o<diretório>

note: type: Plain text
en: Directory in which to place the individual messages.
pt_BR: O diretório onde colocar as mensagens individuais.

note: type: Plain text
en: If any file doesn't begin with a From line, assume it is a single mail message instead of signaling error.
pt_BR: Caso algum arquivo não comece com uma linha "De", suponha que seja uma única mensagem de e-mail em vez de sinalizar um erro.

note: type: Plain text
en: Instead of the default 4 digits with leading zeros, different precision can be specified for the generated filenames.
pt_BR: Em vez dos 4 dígitos predefinidos com zeros à esquerda, uma precisão diferente pode ser definida para os nomes dos arquivos gerados.

note: type: Plain text
en: Skip the first <nn> numbers, for example if -f3 is specified, start the numbering with 0004.
pt_BR: Pule os primeiros números <nn>, caso -f3 seja utilizado, inicie a numeração com 0004 por exemplo.

note: type: Plain text
en: Do not remove `\r` from lines ending with `\r\n`.
pt_BR: Não remova os `\r` das linhas que terminam com `\r\n`.

note: type: Plain text
en: Input is of the "mboxrd" format and "^>+From " line escaping is reversed.
pt_BR: A entrada utiliza o formato "mboxrd" e a quebra da linha "^>+From " é revertida.

note: type: Plain text
en: git-merge-base - Find as good common ancestors as possible for a merge
pt_BR: git-merge-base - Encontre o melhor ancestral comum possível para uma mesclagem

note: type: Plain text
en: 'git merge-base' finds best common ancestor(s) between two commits to use in a three-way merge.  One common ancestor is 'better' than another common ancestor if the latter is an ancestor of the former.  A common ancestor that does not have any better common ancestor is a 'best common ancestor', i.e. a 'merge base'.  Note that there can be more than one merge base for a pair of commits.
pt_BR: O comando 'git merge-base' encontra os melhores ancestrais comuns entre dois commits para utiliza-lo em uma mesclagem de três vias.  Um ancestral comum é 'melhor' que um outro ancestral comum caso o último seja um ancestral do primeiro.  Um ancestral comum que não possua um melhor ancestral comum, será o 'melhor ancestral comum', ou seja, será uma 'base para a mesclagem'.  Observe que pode haver mais de uma base para mesclagem para um par de commits.

note: type: Title -
en: OPERATION MODES
pt_BR: MODOS DE OPERAÇÃO

note: type: Plain text
en: As the most common special case, specifying only two commits on the command line means computing the merge base between the given two commits.
pt_BR: Como o caso especial mais comum, utilizar apenas dois commits na linha de comando significa calcular a base de mesclagem entre os dois commits informados.

note: type: Plain text
en: More generally, among the two commits to compute the merge base from, one is specified by the first commit argument on the command line; the other commit is a (possibly hypothetical) commit that is a merge across all the remaining commits on the command line.
pt_BR: De maneira mais geral, entre os dois commits para fazer cálculo na base de mesclagem, um é definido pelo primeiro argumento do commit na linha de comando; o outro commit é um commit (possivelmente hipotético) que é uma mesclagem entre todos os demais commits na linha de comando.

note: type: Plain text
en: As a consequence, the 'merge base' is not necessarily contained in each of the commit arguments if more than two commits are specified. This is different from linkgit:git-show-branch[1] when used with the `--merge-base` option.
pt_BR: Como consequência, o 'merge base' (a base da mesclagem) não está necessariamente contida em cada uma das opções do commit caso mais de dois commits forem informadas. Isso é diferente do linkgit:git-show-branch[1] quando utilizado com a opção `--merge-base`.

note: type: Plain text
en: Compute the best common ancestors of all supplied commits, in preparation for an n-way merge.  This mimics the behavior of 'git show-branch --merge-base'.
pt_BR: Calcule os melhores ancestrais comuns de todos commits informados, em preparação para uma mesclagem "n-way".  Imita o comportamento do comando 'git show-branch --merge-base'.

note: type: Plain text
en: Instead of printing merge bases, print a minimal subset of the supplied commits with the same ancestors.  In other words, among the commits given, list those which cannot be reached from any other.  This mimics the behavior of 'git show-branch --independent'.
pt_BR: Em vez de exibir as bases de mesclagem, exiba um subconjunto mínimo dos commits informados com os mesmos ancestrais.  Em outras palavras, entre os commits informados, liste aqueles que não podem ser alcançados por nenhum outro.  Imita o comportamento do comando 'git show-branch --independent'.

note: type: Plain text
en: Check if the first <commit> is an ancestor of the second <commit>, and exit with status 0 if true, or with status 1 if not.  Errors are signaled by a non-zero status that is not 1.
pt_BR: Verifique se o primeiro <commit> é um ancestral do segundo <commit> e encerre com a condição 0, se for verdadeiro, ou com a condição 1 se não for.  Os erros são sinalizados através de uma condição diferente de zero que não seja 1.

note: type: Plain text
en: Find the point at which a branch (or any history that leads to <commit>) forked from another branch (or any reference)  <ref>. This does not just look for the common ancestor of the two commits, but also takes into account the reflog of <ref> to see if the history leading to <commit> forked from an earlier incarnation of the branch <ref> (see discussion on this mode below).
pt_BR: Encontre o ponto onde uma ramificação (ou qualquer histórico que leve ao <commit>) bifurque-se da outra ramificação (ou qualquer outra referência) <ref>. Isso não procura apenas pelo ancestral comum dos dois commits, mas também leva em consideração o reflog de <ref> para ver se o histórico que levou ao <commit> bifurcou-se de uma encarnação anterior do ramo <ref> (consulte a discussão sobre este modo abaixo).

note: type: Plain text
en: Output all merge bases for the commits, instead of just one.
pt_BR: Gere todas as bases da mesclagem para os commits em vez de apenas um.

note: type: Plain text
en: Given two commits 'A' and 'B', `git merge-base A B` will output a commit which is reachable from both 'A' and 'B' through the parent relationship.
pt_BR: Dado dois commits 'A' e 'B', o `git merge-base A B` produzirá um commit que pode ser acessado a partir de 'A' e 'B' através do relacionamento com a origem.

note: type: Plain text
en: For example, with this topology:
pt_BR: Por exemplo, com esta topologia:

note: type: Plain text
en: the merge base between 'A' and 'B' is '1'.
pt_BR: a base de mesclagem entre 'A' e 'B' é '1'.

note: type: Plain text
en: Given three commits 'A', 'B' and 'C', `git merge-base A B C` will compute the merge base between 'A' and a hypothetical commit 'M', which is a merge between 'B' and 'C'.  For example, with this topology:
pt_BR: Dados três commits 'A', 'B' e 'C', `git merge-base A B C` irá calcular a base de fusão entre 'A' e um hipotético commit 'M', que é uma fusão entre 'B' e 'C'.  Por exemplo, com esta topologia:

note: type: Plain text
en: the result of `git merge-base A B C` is '1'.  This is because the equivalent topology with a merge commit 'M' between 'B' and 'C' is:
pt_BR: o resultado do `git merge-base A B C` é '1'.  Isso ocorre porque a topologia equivalente com uma consolidação de mesclagem 'M' entre 'B' e 'C' é:

note: type: Plain text
en: and the result of `git merge-base A M` is '1'.  Commit '2' is also a common ancestor between 'A' and 'M', but '1' is a better common ancestor, because '2' is an ancestor of '1'.  Hence, '2' is not a merge base.
pt_BR: e o resultado do `git merge-base A M` é '1'.  O commit '2' também é um ancestral comum entre 'A' e 'M', porém '1' é um melhor ancestral comum, porque '2' é um ancestral de '1'.  Portanto, '2' não é uma base de mesclagem.

note: type: Plain text
en: The result of `git merge-base --octopus A B C` is '2', because '2' is the best common ancestor of all commits.
pt_BR: O resultado do `git merge-base --octopus A B C` é '2', porque '2' é o melhor ancestral comum de todos os commits.

note: type: Plain text
en: When the history involves criss-cross merges, there can be more than one 'best' common ancestor for two commits.  For example, with this topology:
pt_BR: Quando a história envolve mesclagens cruzadas, pode haver mais de um "melhor" ancestral comum para dois commits.  Por exemplo, com esta topologia:

note: type: Plain text
en: both '1' and '2' are merge-bases of A and B.  Neither one is better than the other (both are 'best' merge bases).  When the `--all` option is not given, it is unspecified which best one is output.
pt_BR: ambos os '1' e '2' são bases de mesclagem de A e B. Nenhum é melhor que o outro (ambos são 'melhores' bases de mesclagem).  Quando a opção `--all` não é utilizado, não da para saber qual é a melhor saída.

note: type: Plain text
en: A common idiom to check "fast-forward-ness" between two commits A and B is (or at least used to be) to compute the merge base between A and B, and check if it is the same as A, in which case, A is an ancestor of B.  You will see this idiom used often in older scripts.
pt_BR: Um idioma comum para verificar o "avanço rápido" entre os dois commits 'A' e 'B' seja (ou pelo menos costumava ser) calcular a base da mesclagem entre 'A' e 'B' e verificar se é o mesmo que 'A'; nesse caso, 'A' é um ancestral de 'B'. Você verá este idioma utilizado frequentemente com scripts mais antigos.

note: type: delimited block .
en: A=$(git rev-parse --verify A)
    if test "$A" = "$(git merge-base A B)"
    then
    	... A is an ancestor of B ...
    fi
pt_BR: A=$(git rev-parse --verify A)
    if test "$A" = "$(git merge-base A B)"
    then
    	... A é um ancestral do B ...
    fi

note: type: Plain text
en: In modern git, you can say this in a more direct way:
pt_BR: No git moderno, você pode dizer isso de uma maneira mais direta:

note: type: delimited block .
en: if git merge-base --is-ancestor A B
    then
    	... A is an ancestor of B ...
    fi
pt_BR: if git merge-base --is-ancestor A B
    then
    	... A é um ancestral do B ...
    fi

note: type: Plain text
en: instead.
pt_BR: em vez disso.

note: type: Title -
en: Discussion on fork-point mode
pt_BR: Discussão sobre o modo do ponto de forquilha

note: type: Plain text
en: After working on the `topic` branch created with `git switch -c topic origin/master`, the history of remote-tracking branch `origin/master` may have been rewound and rebuilt, leading to a history of this shape:
pt_BR: Depois de trabalhar no ramo `topic` criado com o comando `git switch -c topic origin/master`, o histórico do ramo monitorado remotamente `origin/master` pode ter sido retrocedido e reconstruído, levando a um histórico desta forma:

note: type: Plain text
en: where `origin/master` used to point at commits B0, B1, B2 and now it points at B, and your `topic` branch was started on top of it back when `origin/master` was at B0, and you built three commits, D0, D1, and D, on top of it.  Imagine that you now want to rebase the work you did on the topic on top of the updated origin/master.
pt_BR: onde `origin/master` costumava apontar para os commits 'B0', 'B1', 'B2' e agora aponta para 'B', e o seu ramo `topic` foi iniciada sobre ela quando `origin/master` estava em 'B0' e você construiu três commits, 'D0', 'D1' e 'D' em cima dele.  Imagine que agora você quer refazer o trabalho realizado no tópico sobre o `origin/master` atualizado.

note: type: Plain text
en: In such a case, `git merge-base origin/master topic` would return the parent of B0 in the above picture, but B0^..D is *not* the range of commits you would want to replay on top of B (it includes B0, which is not what you wrote; it is a commit the other side discarded when it moved its tip from B0 to B1).
pt_BR: Nesse caso o comando `git merge-base origin/master topic' retornaria a inicial do 'B0' na imagem acima, porém 'B0^..D' *não é* o intervalo dos commits que você deseja reproduzir em cima do 'B' ( inclui 'B0', que não é o que você escreveu; é um commit que o outro lado descartou quando mudou o seu cume de 'B0' para 'B1').

note: type: Plain text
en: `git merge-base --fork-point origin/master topic` is designed to help in such a case.  It takes not only B but also B0, B1, and B2 (i.e. old tips of the remote-tracking branches your repository's reflog knows about) into account to see on which commit your topic branch was built and finds B0, allowing you to replay only the commits on your topic, excluding the commits the other side later discarded.
pt_BR: O comando `git merge-base --fork-point origin/master topic` foi projetado para ajudar nesse caso.  Ele leva não apenas B, mas também B0, B1 e B2 (ou seja, dicas antigas do monitoramento dos ramos remotos onde o seu reflog conhece) para ver em qual commit o tópico do seu ramo foi construído e encontra o B0, permitindo a reprodução de apenas os commits no seu tópico, excluindo os commits que o outro lado descartou posteriormente.

note: type: Plain text
en: Hence
pt_BR: Consequentemente

note: type: Plain text
en: will find B0, and
pt_BR: irá encontrar 'B0' e

note: type: Plain text
en: will replay D0, D1 and D on top of B to create a new history of this shape:
pt_BR: repetirá 'D0', 'D1' e 'D' em cima do 'B' para criar um novo histórico dessa forma:

note: type: Plain text
en: A caveat is that older reflog entries in your repository may be expired by `git gc`.  If B0 no longer appears in the reflog of the remote-tracking branch `origin/master`, the `--fork-point` mode obviously cannot find it and fails, avoiding to give a random and useless result (such as the parent of B0, like the same command without the `--fork-point` option gives).
pt_BR: Uma ressalva é que as entradas antigas do reflog no seu repositório podem ser reveladas através do comando `git gc`.  Caso 'B0' não apareça mais no reflog do ramo monitorado remotamente `origin/master`, o modo `--fork-point` obviamente não poderá encontrá-lo e irá falhar evitando dar um resultado aleatório e inútil (como a inicial do 'B0', como o mesmo comando sem a opção `--fork-point` oferece).

note: type: Plain text
en: Also, the remote-tracking branch you use the `--fork-point` mode with must be the one your topic forked from its tip.  If you forked from an older commit than the tip, this mode would not find the fork point (imagine in the above sample history B0 did not exist, origin/master started at B1, moved to B2 and then B, and you forked your topic at origin/master^ when origin/master was B1; the shape of the history would be the same as above, without B0, and the parent of B1 is what `git merge-base origin/master topic` correctly finds, but the `--fork-point` mode will not, because it is not one of the commits that used to be at the tip of origin/master).
pt_BR: Além disso, o ramo monitorado remotamente com o qual você utiliza o modo `--fork-point` deve ser aquele onde seu tópico foi extraído.  Caso você bifurque a partir de um commit mais antigo que o cume, este modo não encontrou o ponto de bifurcação (imagine no histórico de amostra acima do 'B0' não exista, o `origin/master` iniciado com 'B1', movido para o 'B2' e depois 'B', você bifurcou o seu tópico na `origin/master^` quando a `origin/master` era o 'B1'; o formato do histórico seria o mesmo que o acima, sem o 'B0', e a inicial do 'B1' é o que o `git merge-base origin/master topic` encontra corretamente, porém o modo `--fork-point` não será, porque não é um dos commits que costumava estar no cume de `origin/master`).

note: type: Title -
en: See also
pt_BR: Consulte também

note: type: Plain text
en: git-merge-file - Run a three-way file merge
pt_BR: git-merge-file - Executa uma mesclagem do arquivo com três vias

note: type: Plain text
en: 'git merge-file' [-L <current-name> [-L <base-name> [-L <other-name>]]]
    	[--ours|--theirs|--union] [-p|--stdout] [-q|--quiet] [--marker-size=<n>]
    	[--[no-]diff3] <current-file> <base-file> <other-file>
pt_BR: 'git merge-file' [-L <nome-atual> [-L <nome-base> [-L <outro-nome>]]]
    	[--ours|--theirs|--union] [-p|--stdout] [-q|--quiet] [--marker-size=<n>]
    	[--[no-]diff3] <arquivo-atual> <arquivo-base> <outro-arquivo>

note: type: Plain text
en: 'git merge-file' incorporates all changes that lead from the `<base-file>` to `<other-file>` into `<current-file>`. The result ordinarily goes into `<current-file>`. 'git merge-file' is useful for combining separate changes to an original. Suppose `<base-file>` is the original, and both `<current-file>` and `<other-file>` are modifications of `<base-file>`, then 'git merge-file' combines both changes.
pt_BR: O comando 'git merge-file' incorpora todas as alterações que levam de `<arquivo-base>` para `<outro-arquivo>` no `<arquivo-atual>`. O resultado normalmente é inserido no `<arquivo-atual>`. O comando 'git merge-file' é útil para combinar as alterações separadas em um original. Suponha que `<arquivo-base>` seja o original e ambos os `<arquivo-atual>` e `<outro-arquivo>` sejam alterações do `<arquivo-base>`, então o comando 'git merge-file' faz a combinação das duas alterações .

note: type: Plain text
en: A conflict occurs if both `<current-file>` and `<other-file>` have changes in a common segment of lines. If a conflict is found, 'git merge-file' normally outputs a warning and brackets the conflict with lines containing <<<<<<< and >>>>>>> markers. A typical conflict will look like this:
pt_BR: Ocorre um conflito se ambos `<arquivo-atual>`e o `<outro-arquivo>` tiver alterações em um segmento comum das linhas. Caso um conflito seja encontrado, o comando 'git merge-file' normalmente gera um aviso e coloca o conflito entre as linhas que contêm os marcadores '<<<<<<<' e '>>>>>>>'. Um conflito típico ficaria assim:

note: type: Plain text
en: 	<<<<<<< A
    	lines in file A
    	=======
    	lines in file B
    	>>>>>>> B
pt_BR: 	<<<<<<< A
    	linhas no arquivo A
    	=======
    	linhas no arquivo B
    	>>>>>>> B

note: type: Plain text
en: If there are conflicts, the user should edit the result and delete one of the alternatives.  When `--ours`, `--theirs`, or `--union` option is in effect, however, these conflicts are resolved favouring lines from `<current-file>`, lines from `<other-file>`, or lines from both respectively.  The length of the conflict markers can be given with the `--marker-size` option.
pt_BR: Caso haja conflitos, o usuário deve editar o resultado e excluir uma das alternativas.  Quando a opção `--ours` (nosso), `--theirs` (deles) ou `--union` (união) está em vigor e no entanto, estes conflitos são resolvidos favorecendo as linhas vindas do `<arquivo-atual> `, as linhas vindas do `<outro-arquivo>` ou as linhas de ambos, respectivamente.  O comprimento dos marcadores de conflito pode ser definidos através da opção `--marker-size`.

note: type: Plain text
en: The exit value of this program is negative on error, and the number of conflicts otherwise (truncated to 127 if there are more than that many conflicts). If the merge was clean, the exit value is 0.
pt_BR: O valor na saída deste programa é negativo caso ocorra um erro, se não o número de conflito (truncado para 127 caso haja mais que muitos conflitos). Caso a mesclagem esteja limpa, o valor na saída será 0.

note: type: Plain text
en: 'git merge-file' is designed to be a minimal clone of RCS 'merge'; that is, it implements all of RCS 'merge''s functionality which is needed by linkgit:git[1].
pt_BR: O comando 'git merge-file' foi projetado para ser um clone reduzido do RCS 'merge'; isto é, implementa toda a funcionalidade de 'mesclagem' do RCS, necessária ao linkgit:git[1].

note: type: Labeled list
en: -L <label>
pt_BR: -L <rótulo>

note: type: Plain text
en: This option may be given up to three times, and specifies labels to be used in place of the corresponding file names in conflict reports. That is, `git merge-file -L x -L y -L z a b c` generates output that looks like it came from files x, y and z instead of from files a, b and c.
pt_BR: Essa opção pode ser utilizada até três vezes e define os rótulos para serem utilizados em vez dos nomes dos arquivos correspondentes nos relatórios de conflito. Ou seja, `git merge-file -L x -L y -L z a b c` gera uma saída onde parece que veio dos arquivos 'x', 'y' e 'z' em vez dos arquivos 'a', 'b' e 'c'.

note: type: Plain text
en: Send results to standard output instead of overwriting `<current-file>`.
pt_BR: Envie os resultados para a saída padrão, em vez de sobrescrever o `<arquivo atual>`.

note: type: Plain text
en: Quiet; do not warn about conflicts.
pt_BR: Quieto; não avise sobre conflitos.

note: type: Plain text
en: Show conflicts in "diff3" style.
pt_BR: Exibe conflitos no estilo "diff3".

note: type: Plain text
en: Instead of leaving conflicts in the file, resolve conflicts favouring our (or their or both) side of the lines.
pt_BR: Em vez de deixar conflitos no arquivo, resolva conflitos favorecendo o nosso lado (ou o deles, ou ambos) das linhas.

note: type: Plain text
en: combines the changes of README.my and README.upstream since README, tries to merge them and writes the result into README.my.
pt_BR: combina as alterações de 'README.my' e 'README.upstream' desde o 'README', tenta mesclá-las e grava o resultado no 'README.my'.

note: type: Plain text
en: merges tmp/a123 and tmp/c345 with the base tmp/b234, but uses labels `a` and `c` instead of `tmp/a123` and `tmp/c345`.
pt_BR: mescla 'tmp/a123' e 'tmp/c345' com a base 'tmp/b234', mas utiliza os rótulos `a` e `c` em vez do `tmp/a123` e `tmp/c345`.

note: type: Plain text
en: git-merge-index - Run a merge for files needing merging
pt_BR: git-merge-index - Executa uma mesclagem para os arquivos que precisam ser mesclados

note: type: Plain text
en: 'git merge-index' [-o] [-q] <merge-program> (-a | [--] <file>*)
pt_BR: 'git merge-index' [-o] [-q] <merge-program> (-a | [--] <arquivo>*)

note: type: Plain text
en: This looks up the <file>(s) in the index and, if there are any merge entries, passes the SHA-1 hash for those files as arguments 1, 2, 3 (empty argument if no file), and <file> as argument 4.  File modes for the three files are passed as arguments 5, 6 and 7.
pt_BR: Ele procura pelos `<arquivos>` no índice e caso haja alguma mesclagem na entrada, passa o hash SHA-1 para estes arquivos em forma de comandos 1, 2, 3 (opções vazias caso não haja um arquivo) e `<arquivo>` como a opção 4.  Os modos do arquivo para os três arquivos são encaminhados como as opções 5, 6 e 7.

note: type: Plain text
en: Run merge against all files in the index that need merging.
pt_BR: Execute a mesclagem em todos os arquivos no índice que precisam ser mesclados.

note: type: Plain text
en: Instead of stopping at the first failed merge, do all of them in one shot - continue with merging even when previous merges returned errors, and only return the error code after all the merges.
pt_BR: Em vez de parar na primeira mesclagem com problemas, faça todos eles de uma vez só - continue com a mesclagem mesmo quando as mesclagens anteriores retornarem erros e retorne apenas o código do erro ao final de todas as mesclagens.

note: type: Plain text
en: Do not complain about a failed merge program (a merge program failure usually indicates conflicts during the merge). This is for porcelains which might want to emit custom messages.
pt_BR: Não reclame sobre um programa de mesclagem que falhou (uma falha no programa de mesclagem geralmente indica conflitos durante o processo). Isto serve apenas para porcelanas que queiram emitir mensagens personalizadas.

note: type: Plain text
en: If 'git merge-index' is called with multiple <file>s (or -a) then it processes them in turn only stopping if merge returns a non-zero exit code.
pt_BR: Caso o comando 'git merge-index' seja chamado com vários <arquivo>s (ou -a), ele os processará por vez, parando apenas caso o merge retorne um código com uma saída diferente de zero.

note: type: Plain text
en: Typically this is run with a script calling Git's imitation of the 'merge' command from the RCS package.
pt_BR: Normalmente, é executado com um script chamando a imitação do comando 'merge' pelo Git vindo do pacote RCS.

note: type: Plain text
en: A sample script called 'git merge-one-file' is included in the distribution.
pt_BR: Um script de exemplo chamado 'git merge-one-file' está incluso na distribuição.

note: type: Plain text
en: ALERT ALERT ALERT! The Git "merge object order" is different from the RCS 'merge' program merge object order. In the above ordering, the original is first. But the argument order to the 3-way merge program 'merge' is to have the original in the middle. Don't ask me why.
pt_BR: ALERTA ALERTA ALERTA! A "ordem da mesclagem dos objetos" do Git é diferente da ordem de mesclagem do objeto no programa RCS 'merge'. Na ordem acima, o original é o primeiro. Porém, a ordem das opções para o programa de mesclagem 'merge' de três vias é ter o original no meio. Não me pergunte o por quê.

note: type: Plain text
en: Examples:
pt_BR: Exemplos:

note: type: delimited block -
en: torvalds@ppc970:~/merge-test> git merge-index cat MM
    This is MM from the original tree.		# original
    This is modified MM in the branch A.		# merge1
    This is modified MM in the branch B.		# merge2
    This is modified MM in the branch B.		# current contents
pt_BR: torvalds@ppc970:~/merge-test> git merge-index cat MM
    Este é o 'MM' vindo da árvore original.		# original
    This is modified MM in the branch A.		# merge1
    This is modified MM in the branch B.		# merge2
    This is modified MM in the branch B.		# conteúdo atual

note: type: Plain text
en: where the latter example shows how 'git merge-index' will stop trying to merge once anything has returned an error (i.e., `cat` returned an error for the AA file, because it didn't exist in the original, and thus 'git merge-index' didn't even try to merge the MM thing).
pt_BR: onde o último exemplo mostra como o comando 'git merge-index' interrompe as tentativas de mesclagem depois que algo retorna um erro (ou seja, `cat` retornou um erro para o arquivo 'AA', porque ele não existia no original e portanto, 'git merge-index' sequer tentou mesclar o tal 'MM').

note: type: Plain text
en: git-merge-one-file - The standard helper program to use with git-merge-index
pt_BR: git-merge-one-file - O programa auxiliar predefinido que será utilizado com o comando git-merge-index

note: type: Plain text
en: This is the standard helper program to use with 'git merge-index' to resolve a merge after the trivial merge done with 'git read-tree -m'.
pt_BR: Este é o programa auxiliar predefinido a ser utilizado com o 'git merge-index' para resolver uma mesclagem após a mesclagem trivial feita com o comando 'git read-tree -m'.

note: type: Plain text
en: git-mergetool--lib - Common Git merge tool shell scriptlets
pt_BR: git-mergetool - lib - Scriptlets do shell, ferramentas de mesclagem comuns do Git

note: type: Plain text
en: This is not a command the end user would want to run.  Ever.  This documentation is meant for people who are studying the Porcelain-ish scripts and/or are writing new ones.
pt_BR: Este não é um comando que o usuário final gostaria de executar.  Nunca.  This documentation is meant for people who are studying the Porcelain-ish scripts and/or are writing new ones.

note: type: Plain text
en: The 'git-mergetool{litdd}lib' scriptlet is designed to be sourced (using `.`) by other shell scripts to set up functions for working with Git merge tools.
pt_BR: O scriptlet 'git-mergetool{litdd}lib' foi projetado para ser originado (utilizando `.`) por outros scripts shell para configurar as funções para trabalhar com as ferramentas de mesclagem do Git.

note: type: Plain text
en: Before sourcing 'git-mergetool{litdd}lib', your script must set `TOOL_MODE` to define the operation mode for the functions listed below.  'diff' and 'merge' are valid values.
pt_BR: Antes de fornecer o 'git-mergetool{litdd}lib', o seu script deve definir `TOOL_MODE` para informar o modo de operação para as funções listadas abaixo.  'diff' e 'merge' são valores válidos.

note: type: Title -
en: FUNCTIONS
pt_BR: FUNÇÕES

note: type: Plain text
en: returns a merge tool. the return code is 1 if we returned a guessed merge tool, else 0. '$GIT_MERGETOOL_GUI' may be set to 'true' to search for the appropriate guitool.
pt_BR: retorna uma ferramenta de mesclagem. o código de retorno é 1 caso a ferramenta de mesclagem tenha sido encontrada através de uma adivinhação, senão 0. O '$GIT_MERGETOOL_GUI' pode ser definido como 'true' para localizar o guitool apropriado.

note: type: Plain text
en: returns the custom command for a merge tool.
pt_BR: retorna o comando personalizado para uma ferramenta de mesclagem.

note: type: Plain text
en: returns the custom path for a merge tool.
pt_BR: retorna o caminho personalizado para uma ferramenta de mesclagem.

note: type: Plain text
en: launches a merge tool given the tool name and a true/false flag to indicate whether a merge base is present.  '$MERGED', '$LOCAL', '$REMOTE', and '$BASE' must be defined for use by the merge tool.
pt_BR: inicia uma ferramenta de mesclagem com seu nome e uma opção 'true/false' para indicar se a mesclagem de uma base está presente.  '$MERGED', '$LOCAL', '$REMOTE' e '$BASE' devem estar definidos para que a ferramenta de mesclagem possa ser usada.

note: type: Plain text
en: git-mergetool - Run merge conflict resolution tools to resolve merge conflicts
pt_BR: git-mergetool - Execute ferramentas para a resolução de problemas quando houver conflitos de mesclagem

note: type: Plain text
en: 'git mergetool' [--tool=<tool>] [-y | --[no-]prompt] [<file>...]
pt_BR: 'git mergetool' [--tool=<ferramenta>] [-y | --[no-]prompt] [<arquivo>...]

note: type: Plain text
en: Use `git mergetool` to run one of several merge utilities to resolve merge conflicts.  It is typically run after 'git merge'.
pt_BR: Utilize o comando `git mergetool` para executar um dos vários utilitários de mesclagem para resolver os conflitos de mesclagem.  Normalmente, é executado após o comando 'git merge'.

note: type: Plain text
en: If one or more <file> parameters are given, the merge tool program will be run to resolve differences on each file (skipping those without conflicts).  Specifying a directory will include all unresolved files in that path.  If no <file> names are specified, 'git mergetool' will run the merge tool program on every file with merge conflicts.
pt_BR: Caso um ou mais parâmetros <arquivo> forem informados, o programa da ferramenta de mesclagem será executado para resolver as diferenças em cada arquivo (ignorando aqueles quem não tiverem conflitos).  A especificação de um diretório incluirá todos os arquivos que não foram resolvidos neste caminho.  Caso nenhum nome <arquivo> seja informado, o comando 'git mergetool' executará o programa da ferramenta de mesclagem em todos os arquivos com conflitos de mesclagem.

note: type: Plain text
en: Use the merge resolution program specified by <tool>.  Valid values include emerge, gvimdiff, kdiff3, meld, vimdiff, and tortoisemerge. Run `git mergetool --tool-help` for the list of valid <tool> settings.
pt_BR: Utilize o programa para a resolução da mesclagem definido através de <ferramenta>.  Os valores válidos incluem `emerge`, `gvimdiff`, `kdiff3`, `meld`, `vimdiff`, e `tortoisemerge`. Execute o `git mergetool --tool-help` para a lista de configurações válidas da <ferramenta>.

note: type: Plain text
en: If a merge resolution program is not specified, 'git mergetool' will use the configuration variable `merge.tool`.  If the configuration variable `merge.tool` is not set, 'git mergetool' will pick a suitable default.
pt_BR: Caso um programa para resolução da mesclagem não for informado, o comando 'git mergetool' utilizará a variável de configuração `merge.tool`.  Caso a variável de configuração `merge.tool` não esteja definida, o comando 'git mergetool' escolherá uma predefinição apropriada.

note: type: Plain text
en: You can explicitly provide a full path to the tool by setting the configuration variable `mergetool.<tool>.path`. For example, you can configure the absolute path to kdiff3 by setting `mergetool.kdiff3.path`. Otherwise, 'git mergetool' assumes the tool is available in PATH.
pt_BR: Você pode de forma explicita informar um caminho completo para a ferramenta, definindo a variável de configuração `mergetool.<ferramenta>.path`. Por exemplo, você pode configurar o caminho absoluto para o kdiff3 configurando a opção `mergetool.kdiff3.path`. Caso contrário, o comando 'git mergetool' assume que a ferramenta está disponível no PATH.

note: type: Plain text
en: Instead of running one of the known merge tool programs, 'git mergetool' can be customized to run an alternative program by specifying the command line to invoke in a configuration variable `mergetool.<tool>.cmd`.
pt_BR: Em vez de executar um dos programas informados da ferramenta de mesclagem, o comando 'git mergetool' pode ser customizado para executar um programa alternativo, informado na linha de comando para chamar em uma variável de configuração `mergetool.<ferramenta>.cmd`.

note: type: Plain text
en: When 'git mergetool' is invoked with this tool (either through the `-t` or `--tool` option or the `merge.tool` configuration variable) the configured command line will be invoked with `$BASE` set to the name of a temporary file containing the common base for the merge, if available; `$LOCAL` set to the name of a temporary file containing the contents of the file on the current branch; `$REMOTE` set to the name of a temporary file containing the contents of the file to be merged, and `$MERGED` set to the name of the file to which the merge tool should write the result of the merge resolution.
pt_BR: Quando o comando 'git mergetool' é chamado com esta ferramenta (através da opção `-t` ou `--tool` ou da variável de configuração `merge.tool`), a linha de comando configurada será invocada com `$BASE` definido como o nome de um arquivo temporário contendo a base comum para a mesclagem, caso esteja disponível; `$LOCAL` definido como o nome de um arquivo temporário que contém o conteúdo do arquivo no ramo atual; `$ REMOTE` definido como o nome de um arquivo temporário que contém o conteúdo do arquivo a ser mesclado e `$MERGED` definido como o nome do arquivo onde a ferramenta de mesclagem deve gravar o resultado da resolução da mesclagem.

note: type: Plain text
en: If the custom merge tool correctly indicates the success of a merge resolution with its exit code, then the configuration variable `mergetool.<tool>.trustExitCode` can be set to `true`.  Otherwise, 'git mergetool' will prompt the user to indicate the success of the resolution after the custom tool has exited.
pt_BR: Caso a ferramenta de mesclagem personalizada indicar corretamente o sucesso da resolução de uma mesclagem com o seu código na saída, a variável de configuração `mergetool.<ferramenta>.trustExitCode` poderá ser definida como `true`.  Caso contrário, o 'git mergetool' solicitará ao usuário que indique o sucesso da resolução após o encerramento da ferramenta personalizada.

note: type: Plain text
en: Print a list of merge tools that may be used with `--tool`.
pt_BR: Exibe uma lista das ferramentas de mesclagem que podem ser utilizadas com a opção `--tool`.

note: type: Plain text
en: Don't prompt before each invocation of the merge resolution program.  This is the default if the merge resolution program is explicitly specified with the `--tool` option or with the `merge.tool` configuration variable.
pt_BR: Não avise antes de cada invocação do programa de resolução da mesclagem.  Esta é a predefinição caso o programa para a resolução da mesclagem seja informada de forma explicita com a opção `tool` ou com a variável de configuração `merge.tool`.

note: type: Plain text
en: Prompt before each invocation of the merge resolution program to give the user a chance to skip the path.
pt_BR: Avise antes de cada invocação do programa para a resolução da mesclagem, para dar ao usuário a chance de ignorar o caminho.

note: type: Plain text
en: When 'git-mergetool' is invoked with the `-g` or `--gui` option the default merge tool will be read from the configured `merge.guitool` variable instead of `merge.tool`. If `merge.guitool` is not set, we will fallback to the tool configured under `merge.tool`.
pt_BR: Quando o comando 'git-difftool' é chamado com a opção `-g` ou `--gui`, a ferramenta diff predefinida será lida na variável de configuração `diff.guitool` em vez do `diff.tool`. Caso a variável `diff.guitool` não esteja definida, retroagiremos para a ferramenta configurada em `merge.guitool`.

note: type: Plain text
en: This overrides a previous `-g` or `--gui` setting and reads the default merge tool will be read from the configured `merge.tool` variable.
pt_BR: Substitui uma configuração anterior `-g` ou `--gui` e faz a leitura da ferramenta de mesclagem predefinida através da variável `merge.tool` já configurada.

note: type: Plain text
en: Process files in the order specified in the <orderfile>, which has one shell glob pattern per line.  This overrides the `diff.orderFile` configuration variable (see linkgit:git-config[1]).  To cancel `diff.orderFile`, use `-O/dev/null`.
pt_BR: Processe os arquivos na ordem especificada na <ordem-do-arquivo> que tenha um padrão "shell glob" por linha.  Substitui a variável de configuração `diff.orderFile` (consulte o comando linkgit:git-config[1]).  Para cancelar a variável `diff.orderFile`, utilize `-O/dev/null`.

note: type: Title -
en: TEMPORARY FILES
pt_BR: ARQUIVOS TEMPORÁRIOS

note: type: Plain text
en: `git mergetool` creates `*.orig` backup files while resolving merges.  These are safe to remove once a file has been merged and its `git mergetool` session has completed.
pt_BR: O `git mergetool` cria arquivos de backup` * .orig` enquanto lida com as mesclagens.  É seguro removê-los assim que um arquivo for mesclado e a sua sessão `git mergetool` tenha terminado.

note: type: Plain text
en: Setting the `mergetool.keepBackup` configuration variable to `false` causes `git mergetool` to automatically remove the backup as files are successfully merged.
pt_BR: Definir a variável de configuração `mergetool.keepBackup` como` false` faz com que o comando `git mergetool` remova automaticamente o backup enquanto os arquivos forem sendo mesclados com sucesso.

note: type: Plain text
en: git-merge-tree - Show three-way merge without touching index
pt_BR: git-merge-tree - Exiba as três maneiras de mesclagem sem mexer no índice

note: type: Plain text
en: 'git merge-tree' <base-tree> <branch1> <branch2>
pt_BR: 'git merge-tree' <base-tree> <ramo1> <ramo2>

note: type: Plain text
en: Reads three tree-ish, and output trivial merge results and conflicting stages to the standard output.  This is similar to what three-way 'git read-tree -m' does, but instead of storing the results in the index, the command outputs the entries to the standard output.
pt_BR: Faz a leitura de três árvores e produz resultados comuns de mesclagem assim como encaminha os estágios conflitantes para a saída padrão.  Isso é semelhante ao que o 'git read-tree -m' no entanto, em vez de armazenar os resultados no índice, o comando externa as entradas na saída padrão.

note: type: Plain text
en: This is meant to be used by higher level scripts to compute merge results outside of the index, and stuff the results back into the index.  For this reason, the output from the command omits entries that match the <branch1> tree.
pt_BR: Isso foi pensado para ser utilizado por scripts de alto nível para processar os resultados de mesclagem fora do índice e posteriormente retorná-los.  Por esse motivo a saída do comando omite as entradas que coincidam com <branch1>.

note: type: Plain text
en: git-merge - Join two or more development histories together
pt_BR: git-merge - Une dois ou mais históricos de desenvolvimento

note: type: Plain text
en: 'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]
    	[--no-verify] [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]
    	[--[no-]allow-unrelated-histories]
    	[--[no-]rerere-autoupdate] [-m <msg>] [-F <file>] [<commit>...]
    'git merge' (--continue | --abort | --quit)
pt_BR: 'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]
    	[--no-verify] [-s <estratégia>] [-X <opção-da-estratégia>] [-S[<keyid>]]
    	[--[no-]allow-unrelated-histories]
    	[--[no-]rerere-autoupdate] [-m <msg>] [-F <arquivo>] [<commit>...]
    'git merge' (--continue | --abort | --quit)

note: type: Plain text
en: Incorporates changes from the named commits (since the time their histories diverged from the current branch) into the current branch.  This command is used by 'git pull' to incorporate changes from another repository and can be used by hand to merge changes from one branch into another.
pt_BR: Incorpora as alterações dos commits citados (desde o momento em que os seus históricos divergirem do ramo atual) para dentro do ramo atual.  Este comando é utilizado pelo 'git pull' para incorporar as alterações vindos de outro repositório e pode ser utilizado manualmente para mesclar as alterações do outro ramo para um outro.

note: type: Plain text
en: Assume the following history exists and the current branch is "`master`":
pt_BR: Suponha que exista o seguinte histórico e o ramo atual seja `master`:

note: type: Plain text
en: Then "`git merge topic`" will replay the changes made on the `topic` branch since it diverged from `master` (i.e., `E`) until its current commit (`C`) on top of `master`, and record the result in a new commit along with the names of the two parent commits and a log message from the user describing the changes.
pt_BR: Em seguida, `git merge topic` repetirá as alterações feitas no ramo `topic` uma vez que ele divergiu de `master` (ou seja,`E`) até que o seu commit atual (`C`) no topo do `master` registrando o resultado em um novo commit junto com os nomes de dois commits relacionados em uma mensagem log vindo do usuário descrevendo as alterações.

note: type: Plain text
en: The second syntax ("`git merge --abort`") can only be run after the merge has resulted in conflicts. 'git merge --abort' will abort the merge process and try to reconstruct the pre-merge state. However, if there were uncommitted changes when the merge started (and especially if those changes were further modified after the merge was started), 'git merge --abort' will in some cases be unable to reconstruct the original (pre-merge) changes. Therefore:
pt_BR: A segunda sintaxe ("`git merge --abort`") só pode ser executada após o resultado da mesclagem apresentar conflitos. O comando 'git merge abort' abortará o processo de mesclagem e tentará reconstruir a condição anterior a mesclagem. No entanto, Caso haja alterações com commits não realizados quando a mesclagem for iniciada (e especialmente caso estas alterações forem modificadas posteriormente após o início da mesclagem), o 'git merge abort' será, em alguns casos, incapaz de reconstruir as alterações originais (pré-mesclagem). Portanto:

note: type: Plain text
en: *Warning*: Running 'git merge' with non-trivial uncommitted changes is
    discouraged: while possible, it may leave you in a state that is hard to
    back out of in the case of a conflict.
pt_BR: *Aviso*: É desencorajado executar o comando 'git merge' com alterações
    não-triviais dos commits que não foram feitos é desencorajado: enquanto
    possível, pode deixá-lo em uma condição difícil de sair no caso de haver um conflito.

note: type: Plain text
en: The third syntax ("`git merge --continue`") can only be run after the merge has resulted in conflicts.
pt_BR: A terceira sintaxe ("`git merge --continue`") só pode ser executada depois que a mesclagem apresentar conflitos.

note: type: Plain text
en: Set the commit message to be used for the merge commit (in case one is created).
pt_BR: Defina a mensagem do commit que será utilizada para a mesclagem do commit (no caso de uma ser criada).

note: type: Plain text
en: If `--log` is specified, a shortlog of the commits being merged will be appended to the specified message.
pt_BR: Caso `--log` seja utilizado, um atalho dos commits que estão sendo mesclados será anexado à mensagem informada.

note: type: Plain text
en: The 'git fmt-merge-msg' command can be used to give a good default for automated 'git merge' invocations. The automated message can include the branch description.
pt_BR: O comando 'git fmt-merge-msg' pode ser utilizado para informar uma boa predefinição para as invocações automatizadas do comando 'git merge'. A mensagem automatizada pode incluir a descrição da ramificação.

note: type: Plain text
en: Read the commit message to be used for the merge commit (in case one is created).
pt_BR: Leia a mensagem de commit que será utilizada para mesclar o commit (no caso de uma ser criada).

note: type: Plain text
en: Silently overwrite ignored files from the merge result. This is the default behavior. Use `--no-overwrite-ignore` to abort.
pt_BR: Silently overwrite ignored files from the merge result. Este é o comportamento predefinido. Use `--no-overwrite-ignore` to abort.

note: type: Plain text
en: Abort the current conflict resolution process, and try to reconstruct the pre-merge state. If an autostash entry is present, apply it to the worktree.
pt_BR: Interrompa o processo atual da resolução de conflitos e tente reconstruir a condição de pré-mesclagem. Caso uma entrada de "autostash" esteja presente, aplique-a à árvore de trabalho.

note: type: Plain text
en: If there were uncommitted worktree changes present when the merge started, 'git merge --abort' will in some cases be unable to reconstruct these changes. It is therefore recommended to always commit or stash your changes before running 'git merge'.
pt_BR: Caso haja commits não realizados presentes na árvore de trabalho quando a mesclagem for iniciada, o comando 'git merge --abort' será, em alguns casos, incapaz de reconstruir essas alterações. Portanto, é recomendável sempre fazer o commit ou acumular as suas alterações antes de executar o 'git merge'.

note: type: Plain text
en: 'git merge --abort' is equivalent to 'git reset --merge' when `MERGE_HEAD` is present unless `MERGE_AUTOSTASH` is also present in which case 'git merge --abort' applies the stash entry to the worktree whereas 'git reset --merge' will save the stashed changes in the stash list.
pt_BR: O comando 'git merge --abort' é o equivalente ao 'git reset --merge' quando `MERGE_HEAD` estiver presente ou a menos que o `MERGE_AUTOSTASH` também esteja; neste caso, o comando 'git merge --abort' aplica a entrada 'stash' na área de trabalho enquanto 'git reset --merge' salvará as alterações acumuladas na lista do estoque.

note: type: Plain text
en: Forget about the current merge in progress. Leave the index and the working tree as-is. If `MERGE_AUTOSTASH` is present, the stash entry will be saved to the stash list.
pt_BR: Não se preocupa com a mesclagem em andamento. Mantenha o índice e a árvore de trabalho como estão. Caso `MERGE_AUTOSTASH` esteja presente, os lançamentos armazenados serão salvos na lista do estoque (stash list).

note: type: Plain text
en: After a 'git merge' stops due to conflicts you can conclude the merge by running 'git merge --continue' (see "HOW TO RESOLVE CONFLICTS" section below).
pt_BR: Depois que um 'git merge' for interrompido por causa dos conflitos, é possível concluir a mesclagem executando o comando 'git merge --continue' (consulte a seção "COMO RESOLVER CONFLITOS" abaixo).

note: type: Plain text
en: Commits, usually other branch heads, to merge into our branch.  Specifying more than one commit will create a merge with more than two parents (affectionately called an Octopus merge).
pt_BR: Os commits, geralmente outros cabeçalhos do ramo que serão mesclados na nossa filial.  A especificação de mais de um commit criará uma mesclagem com mais de duas origens (carinhosamente chamada de mesclagem polvo (octopus merge)).

note: type: Plain text
en: If no commit is given from the command line, merge the remote-tracking branches that the current branch is configured to use as its upstream.  See also the configuration section of this manual page.
pt_BR: Caso nenhum commit seja informado na linha de comando, mescle as ramificações monitoradas remotamente para que a ramificação atual esteja configurada para ser utilizada como sua upstream.  Consulte também a seção de configuração desta página do manual.

note: type: Plain text
en: When `FETCH_HEAD` (and no other commit) is specified, the branches recorded in the `.git/FETCH_HEAD` file by the previous invocation of `git fetch` for merging are merged to the current branch.
pt_BR: Quando `FETCH_HEAD` (e nenhum outro commit) for definido, as ramificações registradas no arquivo `.git/FETCH_HEAD` através da invocação anterior para mesclagem com o comando `git fetch`, serão mescladas no ramo atual.

note: type: Title -
en: PRE-MERGE CHECKS
pt_BR: VERIFICAÇÕES PRÉVIAS DA MESCLAGEM

note: type: Plain text
en: Before applying outside changes, you should get your own work in good shape and committed locally, so it will not be clobbered if there are conflicts.  See also linkgit:git-stash[1].  'git pull' and 'git merge' will stop without doing anything when local uncommitted changes overlap with files that 'git pull'/'git merge' may need to update.
pt_BR: Você deve ter o seu próprio trabalho em boas condições e com o commit feito localmente antes de aplicar as alterações externas, para evitar que sejam sobrescritos no caso da existência de conflitos.  Consulte também linkgit:git-stash[1].  Os comandos 'git pull' e 'git merge' ficarão inertes sem fazer nada quando as modificações dos commits que não foram aplicados localmente se sobrepuserem aos arquivos que os comandos 'git pull'/'git merge' talvez precisem atualizar.

note: type: Plain text
en: To avoid recording unrelated changes in the merge commit, 'git pull' and 'git merge' will also abort if there are any changes registered in the index relative to the `HEAD` commit.  (Special narrow exceptions to this rule may exist depending on which merge strategy is in use, but generally, the index must match HEAD.)
pt_BR: Para evitar o registro de alterações não relacionadas a mesclagem do commit, os comandos 'git pull' e 'git merge' também serão cancelados caso exista alguma alteração registrada no índice em relação ao commit `HEAD`.  (Podem existir algumas poucas exceções especiais a essa regra dependendo de qual estratégia de mesclagem estiver em uso, no geral, o índice deve corresponder ao HEAD.)

note: type: Plain text
en: If all named commits are already ancestors of `HEAD`, 'git merge' will exit early with the message "Already up to date."
pt_BR: Caso todos os commits sejam antecessores ao `HEAD`, então o comando 'git merge' encerrara prematuramente exibindo a mensagem "Já foi atualizado"

note: type: Title -
en: FAST-FORWARD MERGE
pt_BR: MESCLAGEM COM AVANÇO RÁPIDO

note: type: Plain text
en: Often the current branch head is an ancestor of the named commit.  This is the most common case especially when invoked from 'git pull': you are tracking an upstream repository, you have committed no local changes, and now you want to update to a newer upstream revision.  In this case, a new commit is not needed to store the combined history; instead, the `HEAD` (along with the index) is updated to point at the named commit, without creating an extra merge commit.
pt_BR: Frequentemente, o cabeçalho do ramo atual é um ancestral do commit informado.  Este é o caso mais comum especialmente quando invocado a partir do comando 'git pull': você está monitorando um repositório upstream, não efetuou as alterações locais e agora deseja atualizar para uma revisão upstream mais recente.  Nesse caso, não é necessário um novo commit para armazenar o histórico combinado; em vez disso, o `HEAD` (junto com o índice) é atualizado para apontar para o commit informado sem criar uma mesclagem extra do commit.

note: type: Plain text
en: This behavior can be suppressed with the `--no-ff` option.
pt_BR: Este comportamento pode ser suprimido ao usar a opção `--no-ff`.

note: type: Title -
en: TRUE MERGE
pt_BR: MESCLAGEM REAL

note: type: Plain text
en: Except in a fast-forward merge (see above), the branches to be merged must be tied together by a merge commit that has both of them as its parents.
pt_BR: Exceto em uma mesclagem de avanço rápido (veja acima), as ramificações que serão mescladas devem ser vinculadas através de uma consolidação da mesclagem que tenha ambas como as suas origens.

note: type: Plain text
en: A merged version reconciling the changes from all branches to be merged is committed, and your `HEAD`, index, and working tree are updated to it.  It is possible to have modifications in the working tree as long as they do not overlap; the update will preserve them.
pt_BR: Uma versão mesclada que reconcilia as alterações de todas as ramificações que serão mescladas, o commit é feito e o seu `HEAD`, índice e a árvore de trabalho são atualizados para ela.  É possível ter alterações na árvore de trabalho, desde que não se sobreponham; a atualização irá preservá-las.

note: type: Plain text
en: When it is not obvious how to reconcile the changes, the following happens:
pt_BR: Quando não é óbvio como reconciliar as alterações, acontece o seguinte:

note: type: Plain text
en: The `HEAD` pointer stays the same.
pt_BR: O indicador do `HEAD` se mantém o mesmo.

note: type: Plain text
en: The `MERGE_HEAD` ref is set to point to the other branch head.
pt_BR: O "ref" do `MERGE_HEAD` é definido para indicar o `HEAD` do outro ramo.

note: type: Plain text
en: Paths that merged cleanly are updated both in the index file and in your working tree.
pt_BR: Os caminhos que foram mesclados corretamente são atualizados no arquivo do índice e na sua árvore de trabalho.

note: type: Plain text
en: For conflicting paths, the index file records up to three versions: stage 1 stores the version from the common ancestor, stage 2 from `HEAD`, and stage 3 from `MERGE_HEAD` (you can inspect the stages with `git ls-files -u`).  The working tree files contain the result of the "merge" program; i.e. 3-way merge results with familiar conflict markers `<<<` `===` `>>>`.
pt_BR: Para os caminhos conflitantes, o arquivo do índice registra até três versões: o estágio 1 armazena a versão do ancestral comum, o estágio 2 do `HEAD` e o estágio 3 do `MERGE_HEAD` (você pode inspecionar os estágios com `git ls-files -u`).  Os arquivos da árvore de trabalho contêm o resultado do programa "merge"; ou seja, os resultados da mesclagem em três direções com os marcadores de conflito familiares `<<<`, `===` e `>>>`.

note: type: Plain text
en: No other changes are made.  In particular, the local modifications you had before you started merge will stay the same and the index entries for them stay as they were, i.e. matching `HEAD`.
pt_BR: Nenhuma outra alteração é feita.  Em particular, as alterações locais que você tinha antes de iniciar a mesclagem permanecerão as mesmas e as entradas do índice para elas permanecerão como estavam, ou seja, correspondendo com `HEAD '.

note: type: Plain text
en: If you tried a merge which resulted in complex conflicts and want to start over, you can recover with `git merge --abort`.
pt_BR: Caso tenha tentado uma mesclagem que resultou em conflitos complexos e queira recomeçar, execute o comando `git merge --abort`.

note: type: Title -
en: MERGING TAG
pt_BR: MESCLANDO TAG

note: type: Plain text
en: When merging an annotated (and possibly signed) tag, Git always creates a merge commit even if a fast-forward merge is possible, and the commit message template is prepared with the tag message.  Additionally, if the tag is signed, the signature check is reported as a comment in the message template. See also linkgit:git-tag[1].
pt_BR: Ao mesclar uma tag anotada (e possivelmente assinada), o Git sempre cria a mesclagem de um commit, mesmo que seja possível realizar uma mesclagem de avanço rápido, o modelo da mensagem do commit é preparado com a mensagem da tag.  Além disso, caso a tag esteja assinada, a verificação da assinatura será relatada como um comentário no modelo de mensagem. Consulte também linkgit:git-tag[1].

note: type: Plain text
en: When you want to just integrate with the work leading to the commit that happens to be tagged, e.g. synchronizing with an upstream release point, you may not want to make an unnecessary merge commit.
pt_BR: Quando você deseja apenas integrar-se ao trabalho que leva ao commit que está marcado, por exemplo, sincronizando com um ponto de liberação upstream, talvez você não queira fazer uma consolidação desnecessária da mesclagem.

note: type: Plain text
en: In such a case, you can "unwrap" the tag yourself before feeding it to `git merge`, or pass `--ff-only` when you do not have any work on your own. e.g.
pt_BR: Neste caso, você pode "desembrulhar" a etiqueta antes de encaminhá-la para o comando `git merge` ou passar ao `--ffff-only` quando você não tiver nenhum trabalho feito por conta própria. por exemplo.

note: type: Title -
en: HOW CONFLICTS ARE PRESENTED
pt_BR: COMO OS CONFLITOS SÃO APRESENTADOS

note: type: Plain text
en: During a merge, the working tree files are updated to reflect the result of the merge.  Among the changes made to the common ancestor's version, non-overlapping ones (that is, you changed an area of the file while the other side left that area intact, or vice versa) are incorporated in the final result verbatim.  When both sides made changes to the same area, however, Git cannot randomly pick one side over the other, and asks you to resolve it by leaving what both sides did to that area.
pt_BR: Durante uma mesclagem, os arquivos da árvore de trabalho são atualizados para refletir o resultado da mesclagem.  Entre as alterações feitas no ancestral da versão comum, as que não se sobrepõem (ou seja, você alterou uma área do arquivo enquanto o outro lado deixou a área intacta ou vice-versa) são incorporadas no resultado final, literalmente.  Quando os dois lados que fizeram as alterações na mesma área, porém, o Git não pode escolher aleatoriamente um lado sobre o outro e solicita que você o resolva, deixando intacto o que os dois lados fizeram nessa área.

note: type: Plain text
en: By default, Git uses the same style as the one used by the "merge" program from the RCS suite to present such a conflicted hunk, like this:
pt_BR: É predefinido que o Git utilize o mesmo estilo que o utilizado pelo programa "merge" (mesclar) do conjunto RCS para apresentar um pedaço conflitante, como este:

note: type: delimited block -
en: Here are lines that are either unchanged from the common
    ancestor, or cleanly resolved because only one side changed.
    <<<<<<< yours:sample.txt
    Conflict resolution is hard;
    let's go shopping.
    =======
    Git makes conflict resolution easy.
    >>>>>>> theirs:sample.txt
    And here is another line that is cleanly resolved or unmodified.
pt_BR: Aqui estão as linhas que não são alteradas em relação ao ancestral
    comum ou resolvido de maneira limpa porque apenas um lado mudou.
    <<<<<<< yours:sample.txt
    A resolução de conflitos é difícil;
    vamos às compras.
    =======
    O Git facilita a resolução de conflitos.
    >>>>>>> theirs:sample.txt
    E aqui está outra linha que foi claramente resolvida ou não foi modificada.

note: type: Plain text
en: The area where a pair of conflicting changes happened is marked with markers `<<<<<<<`, `=======`, and `>>>>>>>`.  The part before the `=======` is typically your side, and the part afterwards is typically their side.
pt_BR: A área onde ocorreu um para de alterações conflitantes é marcada com os marcadores `<<<<<<<`, `=======` e `>>>>>>>`.  A parte anterior ao `=======` é tipicamente do seu lado e a parte posterior é tipicamente do lado deles.

note: type: Plain text
en: The default format does not show what the original said in the conflicting area.  You cannot tell how many lines are deleted and replaced with Barbie's remark on your side.  The only thing you can tell is that your side wants to say it is hard and you'd prefer to go shopping, while the other side wants to claim it is easy.
pt_BR: O formato predefinido não exibe o que o original disse na área conflitante.  Você não pode dizer quantas linhas foram excluídas e substituídas através das observações do seu lado.  A única coisa que é possível dizer é que o seu lado quer dizer que é difícil e você prefere ir às compras, enquanto o outro lado quer dizer que é fácil.

note: type: Plain text
en: An alternative style can be used by setting the "merge.conflictStyle" configuration variable to "diff3".  In "diff3" style, the above conflict may look like this:
pt_BR: Um estilo alternativo pode ser utilizado ao definir a variável de configuração "merge.conflictStyle" como "diff3".  No estilo "diff3", o conflito acima pode ser assim:

note: type: delimited block -
en: Here are lines that are either unchanged from the common
    ancestor, or cleanly resolved because only one side changed.
    <<<<<<< yours:sample.txt
    Conflict resolution is hard;
    let's go shopping.
    |||||||
    Conflict resolution is hard.
    =======
    Git makes conflict resolution easy.
    >>>>>>> theirs:sample.txt
    And here is another line that is cleanly resolved or unmodified.
pt_BR: Aqui estão as linhas que não são alteradas em relação ao ancestral
    comum ou resolvido de maneira limpa porque apenas um lado mudou.
    <<<<<<< yours:sample.txt
    A resolução de conflitos é difícil;
    vamos às compras.
    |||||||
    A resolução de conflitos é difícil.
    =======
    O Git facilita a resolução de conflitos.
    >>>>>>> theirs:sample.txt
    E aqui está outra linha que foi claramente resolvida ou não foi modificada.

note: type: Plain text
en: In addition to the `<<<<<<<`, `=======`, and `>>>>>>>` markers, it uses another `|||||||` marker that is followed by the original text.  You can tell that the original just stated a fact, and your side simply gave in to that statement and gave up, while the other side tried to have a more positive attitude.  You can sometimes come up with a better resolution by viewing the original.
pt_BR: Além dos marcadores `<<<<<<<`, `=======` e `>>>>>>>` `, ele utiliza outro marcador `|||||||` que é seguido pelo texto original.  Você pode dizer que o original acabou de declarar um fato e o seu lado simplesmente cedeu a essa afirmação e desistiu, enquanto o outro lado tentou ter uma atitude mais positiva.  Às vezes, você pode ter uma resolução melhor visualizando o original.

note: type: Title -
en: HOW TO RESOLVE CONFLICTS
pt_BR: COMO RESOLVER OS CONFLITOS

note: type: Plain text
en: After seeing a conflict, you can do two things:
pt_BR: Após encontrar um conflito, você pode fazer duas coisas:

note: type: Plain text
en: Decide not to merge.  The only clean-ups you need are to reset the index file to the `HEAD` commit to reverse 2. and to clean up working tree changes made by 2. and 3.; `git merge --abort` can be used for this.
pt_BR: Decida não fazer a mesclagem.  As únicas limpezas necessárias são para redefinir o arquivo no índice para o commit `HEAD` para que '2' seja revertido. e para limpar as alterações na árvore de trabalho feitas por '2'. e o '3' .; O `git merge --abort` pode ser utilizado para isso.

note: type: Plain text
en: Resolve the conflicts.  Git will mark the conflicts in the working tree.  Edit the files into shape and 'git add' them to the index.  Use 'git commit' or 'git merge --continue' to seal the deal. The latter command checks whether there is a (interrupted) merge in progress before calling 'git commit'.
pt_BR: Resolva os conflitos.  O Git marcará os conflitos na árvore de trabalho.  Edite os arquivos em ordem e comando 'git add' adiciona eles ao índice.  Utilize o comando 'git commit' ou 'git merge --continue' para selar o acordo. O último comando verifica a existência de uma mesclagem (interrompida) em andamento antes de chamar o comando 'git commit'.

note: type: Plain text
en: You can work through the conflict with a number of tools:
pt_BR: Você pode trabalhar o conflito com uma quantidade de ferramentas:

note: type: Plain text
en: Use a mergetool.  `git mergetool` to launch a graphical mergetool which will work you through the merge.
pt_BR: Utilize uma ferramenta de mesclagem "mergetool".  `git mergetool` para iniciar uma ferramenta gráfica para lhe auxiliar através do processo de mesclagem.

note: type: Plain text
en: Look at the diffs.  `git diff` will show a three-way diff, highlighting changes from both the `HEAD` and `MERGE_HEAD` versions.
pt_BR: Veja as diferenças dos arquivos diff.  O `git diff` exibirá um diff de três vias, destacando as alterações das versões` HEAD` e `MERGE_HEAD`.

note: type: Plain text
en: Look at the diffs from each branch. `git log --merge -p <path>` will show diffs first for the `HEAD` version and then the `MERGE_HEAD` version.
pt_BR: Veja as diferenças de cada ramo. O comando `git log --merge -p <caminho>` exibirá as diferenças primeiro para a versão `HEAD` e depois para a versão `MERGE_HEAD`.

note: type: Plain text
en: Look at the originals.  `git show :1:filename` shows the common ancestor, `git show :2:filename` shows the `HEAD` version, and `git show :3:filename` shows the `MERGE_HEAD` version.
pt_BR: Consulte os originais.  O comando `git show :1:filename` exibe o ancestral comum, `git show :2:filename` exibe a versão do `HEAD` e o `git show :3:filename` exibe a versão do `MERGE_HEAD`.

note: type: Plain text
en: Merge branches `fixes` and `enhancements` on top of the current branch, making an octopus merge:
pt_BR: Mescla as ramificações `fixes` e `enhancements` no cume do ramo atual, fazendo um conjunto de mesclagens:

note: type: Plain text
en: Merge branch `obsolete` into the current branch, using `ours` merge strategy:
pt_BR: Mescle o ramo `obsolete` (obsoleto) no ramo atual, utilizando a `nossa` estratégia de mesclagem:

note: type: Plain text
en: Merge branch `maint` into the current branch, but do not make a new commit automatically:
pt_BR: Mescla o ramo `maint` no ramo atual, porém não faça um novo commit de forma automática:

note: type: Plain text
en: This can be used when you want to include further changes to the merge, or want to write your own merge commit message.
pt_BR: Isso pode ser utilizado quando você queira incluir outras alterações na mesclagem ou se deseja, grave a sua própria mensagem do commit na mesclagem.

note: type: Plain text
en: You should refrain from abusing this option to sneak substantial changes into a merge commit.  Small fixups like bumping release/version name would be acceptable.
pt_BR: Você deve evitar abusar dessa opção para ocultar as alterações substanciais em uma mesclagem do commit.  Pequenos reparos, como o nome da versão/revisão são aceitáveis.

note: type: Labeled list
en: branch.<name>.mergeOptions
pt_BR: branch.<nome>.mergeOptions

note: type: Plain text
en: Sets default options for merging into branch <name>. The syntax and supported options are the same as those of 'git merge', but option values containing whitespace characters are currently not supported.
pt_BR: Define as opções predefinidas de mesclagem no ramo <nome>. A sintaxe e as opções que são compatíveis são iguais às do 'git merge', porém atualmente os valores das opções que contêm os caracteres de espaço não são compatíveis.

note: type: Plain text
en: git-mktag - Creates a tag object
pt_BR: git-mktag - Cria um objeto tag

note: type: Plain text
en: Reads a tag contents on standard input and creates a tag object that can also be used to sign other objects.
pt_BR: Lê o conteúdo de uma tag na entrada padrão e cria um objeto tag que também pode ser utilizado para assinar os outros objetos.

note: type: Plain text
en: The output is the new tag's <object> identifier.
pt_BR: A saída é o identificador <objeto> da nova tag.

note: type: Title -
en: Tag Format
pt_BR: Formato da Tag

note: type: Plain text
en: A tag signature file, to be fed to this command's standard input, has a very simple fixed format: four lines of
pt_BR: Um arquivo de assinatura da tag que será alimentado na entrada padrão deste comando, possui um formato fixo muito simples: quatro linhas de

note: type: Plain text
en: followed by some 'optional' free-form message (some tags created by older Git may not have `tagger` line).  The message, when exists, is separated by a blank line from the header.  The message part may contain a signature that Git itself doesn't care about, but that can be verified with gpg.
pt_BR: seguido por alguma mensagem de forma livre 'opcional' (algumas tags criadas através de um Git mais antigo podem não ter a linha `tagger`).  A mensagem, quando existe, é separada por uma linha em branco do cabeçalho.  A parte da mensagem pode conter uma assinatura ignorada pelo Git mas que pode ser verificada com o gpg.

note: type: Plain text
en: git-mktree - Build a tree-object from ls-tree formatted text
pt_BR: git-mktree - Constrói um objeto árvore a partir do texto formatado em ls-tree

note: type: Plain text
en: Reads standard input in non-recursive `ls-tree` output format, and creates a tree object.  The order of the tree entries is normalized by mktree so pre-sorting the input is not required.  The object name of the tree object built is written to the standard output.
pt_BR: Lê a entrada padrão no formato de saída não-recursivo `ls-tree` e cria um objeto árvore.  A ordem das entradas da árvore é normalizada pelo 'mktree', portanto, a pré-classificação da entrada não é necessária.  O nome do objeto árvore construído é gravado na saída padrão.

note: type: Plain text
en: Read the NUL-terminated `ls-tree -z` output instead.
pt_BR: Leia a saída `ls-tree -z` terminada com `NUL`.

note: type: Plain text
en: Allow missing objects.  The default behaviour (without this option)  is to verify that each tree entry's sha1 identifies an existing object.  This option has no effect on the treatment of gitlink entries (aka "submodules") which are always allowed to be missing.
pt_BR: Permite os objetos que estejam ausentes.  O comportamento predefinido (sem essa opção) é verificar se o sha1 de cada entrada na árvore consegue identificar um objeto existente.  Esta opção não tem efeito no tratamento de entradas do "gitlink" (também conhecidas como "submódulos") que sempre podem estar ausentes.

note: type: Plain text
en: Allow building of more than one tree object before exiting.  Each tree is separated by as single blank line. The final new-line is optional.  Note - if the `-z` option is used, lines are terminated with NUL.
pt_BR: Permita a construção de mais de um objeto árvore antes de encerrar.  Cada árvore é separada por uma única linha em branco. A nova linha final é opcional.  Observação - caso a opção `-z` for utilizado, as linhas serão terminadas com `NUL`.

note: type: Plain text
en: git-mv - Move or rename a file, a directory, or a symlink
pt_BR: git-mv - Move ou renomeia um arquivo, um diretório ou um link simbólico

note: type: Plain text
en: 'git mv' <options>... <args>...
pt_BR: 'git mv' <opções>... <args>...

note: type: Plain text
en: Move or rename a file, directory or symlink.
pt_BR: Mova ou renomeie um arquivo, diretório ou link simbólico.

note: type: Plain text
en:  git mv [-v] [-f] [-n] [-k] <source> <destination>
     git mv [-v] [-f] [-n] [-k] <source> ... <destination directory>
pt_BR:  git mv [-v] [-f] [-n] [-k] <origem> <destino>
     git mv [-v] [-f] [-n] [-k] <origem> ... <diretório de destino>

note: type: Plain text
en: In the first form, it renames <source>, which must exist and be either a file, symlink or directory, to <destination>.  In the second form, the last argument has to be an existing directory; the given sources will be moved into this directory.
pt_BR: No primeiro formulário, ele renomeia `<origem>`, que deve existir e ser um arquivo, link simbólico ou diretório, para <destino>.  Na segunda forma, o último argumento deve ser um diretório existente; as fontes informadas serão movidas para este diretório.

note: type: Plain text
en: The index is updated after successful completion, but the change must still be committed.
pt_BR: O índice é atualizado após a conclusão bem-sucedida, mas a alteração ainda deve ser confirmada.

note: type: Plain text
en: Force renaming or moving of a file even if the target exists
pt_BR: Impor a renomeação ou a movimentação de um arquivo, mesmo que o destino exista

note: type: Plain text
en: Skip move or rename actions which would lead to an error condition. An error happens when a source is neither existing nor controlled by Git, or when it would overwrite an existing file unless `-f` is given.
pt_BR: Ignorar um ato de mover ou renomear as ações que levariam a uma condição de erro. Um erro acontece quando uma fonte não existe nem é controlada pelo Git ou quando ela substituiria um arquivo existente a menos que `-f` seja utilizado.

note: type: Plain text
en: Do nothing; only show what would happen
pt_BR: Não faça nada; apenas exiba o que aconteceria

note: type: Plain text
en: Report the names of files as they are moved.
pt_BR: Relate os nomes dos arquivos conforme eles vão sendo movidos.

note: type: Plain text
en: Moving a submodule using a gitfile (which means they were cloned with a Git version 1.7.8 or newer) will update the gitfile and core.worktree setting to make the submodule work in the new location.  It also will attempt to update the submodule.<name>.path setting in the linkgit:gitmodules[5] file and stage that file (unless -n is used).
pt_BR: Mover um submódulo utilizando um gitfile (o que significa que eles foram clonados com uma versão 1.7.8 ou mais recente do Git) atualizará a configuração `gitfile` e `core.worktree` para fazer com que o submódulo funcione no novo local.  Ele também tentará atualizar o `submodule.<nome>.path` no arquivo linkgit: gitmodules [5] e preparar este arquivo (a menos que a opção `-n` seja utilizada).

note: type: Plain text
en: Each time a superproject update moves a populated submodule (e.g. when switching between commits before and after the move) a stale submodule checkout will remain in the old location and an empty directory will appear in the new location. To populate the submodule again in the new location the user will have to run "git submodule update" afterwards. Removing the old directory is only safe when it uses a gitfile, as otherwise the history of the submodule will be deleted too. Both steps will be obsolete when recursive submodule update has been implemented.
pt_BR: Sempre que uma atualização do `superproject` move um submódulo preenchido (por exemplo, ao alternar entre commits antes e depois da mudança), um `checkout` obsoleto do submódulo permanecerá no local antigo e um diretório vazio aparecerá no novo local. Para preencher o submódulo novamente no novo local, o usuário precisará depois, executar o comando `git submodule update`. A remoção do diretório antigo só é segura quando ele usa um `gitfile`; caso contrário, o histórico do submódulo também será excluído. Ambas as etapas ficarão obsoletas quando a atualização recursiva do submódulo for implementada.

note: type: Plain text
en: git-name-rev - Find symbolic names for given revs
pt_BR: git-name-rev - Encontre os nomes simbólicos para determinadas "revs"

note: type: Plain text
en: 'git name-rev' [--tags] [--refs=<pattern>]
    	       ( --all | --stdin | <commit-ish>... )
pt_BR: 'git name-rev' [--tags] [--refs=<padrão>]
    	       ( --all | --stdin | <commit-ish>... )

note: type: Plain text
en: Finds symbolic names suitable for human digestion for revisions given in any format parsable by 'git rev-parse'.
pt_BR: Localiza os nomes simbólicos adequados para a revisão das pessoas através de qualquer formato analisável pelo comando 'git rev-parse'.

note: type: Plain text
en: Do not use branch names, but only tags to name the commits
pt_BR: Não utilize os nomes dos ramos e sim apenas as tags para nomear os commits

note: type: Labeled list
en: --refs=<pattern>
pt_BR: --refs=<padrão>

note: type: Plain text
en: Only use refs whose names match a given shell pattern.  The pattern can be one of branch name, tag name or fully qualified ref name. If given multiple times, use refs whose names match any of the given shell patterns. Use `--no-refs` to clear any previous ref patterns given.
pt_BR: Use apenas as refs cujos nomes coincidam com um determinado padrão shell.  O padrão pode ser um nome do ramo, nome da tag ou um nome de referência totalmente qualificado. Caso seja utilizado várias vezes, utilize as refs cujos nomes coincidam com qualquer um dos padrões shell informados. Utilize `--no-refs` para limpar quaisquer padrões "ref" anteriores.

note: type: Plain text
en: Do not use any ref whose name matches a given shell pattern. The pattern can be one of branch name, tag name or fully qualified ref name. If given multiple times, a ref will be excluded when it matches any of the given patterns. When used together with --refs, a ref will be used as a match only when it matches at least one --refs pattern and does not match any --exclude patterns. Use `--no-exclude` to clear the list of exclude patterns.
pt_BR: Não utilize nenhuma "ref" cujo nome coincida com um determinado padrão shell. O padrão pode ser um nome do ramo, nome da tag ou um nome de referência totalmente qualificado. Caso seja utilizado várias vezes, uma "ref" será excluída quando coincidir com qualquer um dos padrões informados. Quando utilizado junto com `--refs`, uma "ref" será utilizada como uma correspondência apenas quando coincidir com pelo menos um padrão `--refs` e não coincidir com nenhum padrão `--exclude`. Utilize `--no-exclude` para limpar a lista dos padrões de exclusão.

note: type: Plain text
en: List all commits reachable from all refs
pt_BR: Liste todos os commits acessíveis de todas as "ref"

note: type: Plain text
en: Transform stdin by substituting all the 40-character SHA-1 hexes (say $hex) with "$hex ($rev_name)".  When used with --name-only, substitute with "$rev_name", omitting $hex altogether.  Intended for the scripter's use.
pt_BR: Transform stdin by substituting all the 40-character SHA-1 hexes (say $hex) with "$hex ($rev_name)".  When used with --name-only, substitute with "$rev_name", omitting $hex altogether.  Destinado ao uso do scripter.

note: type: Plain text
en: Instead of printing both the SHA-1 and the name, print only the name.  If given with --tags the usual tag prefix of "tags/" is also omitted from the name, matching the output of `git-describe` more closely.
pt_BR: Em vez de imprimir o SHA-1 e o nome, imprima apenas o nome.  Caso seja utilizado com `--tags`, o prefixo usual de "tags/" também é omitido do nome, coincidindo mais com a saída do `git-description`.

note: type: Plain text
en: Die with error code != 0 when a reference is undefined, instead of printing `undefined`.
pt_BR: Encerramento com um código de erro != 0 quando uma referência for indefinida, em vez de exibir `undefined`.

note: type: Plain text
en: Given a commit, find out where it is relative to the local refs. Say somebody wrote you about that fantastic commit 33db5f4d9027a10e477ccf054b2c1ab94f74c85a.  Of course, you look into the commit, but that only tells you what happened, but not the context.
pt_BR: Informado um commit, descubra onde ele é relativo às refs locais. Digamos que alguém tenha escrito sobre esse fantástico commit 33db5f4d9027a10e477ccf054b2c1ab94f74c85a.  Obviamente, você analisa o commit, porém isso apenas informa o que aconteceu e não o contexto.

note: type: Plain text
en: Enter 'git name-rev':
pt_BR: Entra o 'git name-rev':

note: type: Plain text
en: Now you are wiser, because you know that it happened 940 revisions before v0.99.
pt_BR: Agora você está mais esperto, pois sabe que ocorreram 940 revisões antes da versão v0.99.

note: type: Plain text
en: Another nice thing you can do is:
pt_BR: Outra coisa legal que você pode fazer é:

note: type: Plain text
en: git-notes - Add or inspect object notes
pt_BR: git-notes - Adiciona ou inspeciona as anotações dos objeto

note: type: Plain text
en: 'git notes' [list [<object>]]
    'git notes' add [-f] [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
    'git notes' copy [-f] ( --stdin | <from-object> [<to-object>] )
    'git notes' append [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
    'git notes' edit [--allow-empty] [<object>]
    'git notes' show [<object>]
    'git notes' merge [-v | -q] [-s <strategy> ] <notes-ref>
    'git notes' merge --commit [-v | -q]
    'git notes' merge --abort [-v | -q]
    'git notes' remove [--ignore-missing] [--stdin] [<object>...]
    'git notes' prune [-n] [-v]
    'git notes' get-ref
pt_BR: 'git notes' [list [<objeto>]]
    'git notes' add [-f] [--allow-empty] [-F <arquivo> | -m <msg> | (-c | -C) <objeto>] [<objeto>]
    'git notes' copy [-f] ( --stdin | <a-partir-do-objeto> [<para-o-objeto>] )
    'git notes' append [--allow-empty] [-F <arquivo> | -m <msg> | (-c | -C) <objeto>] [<objeto>]
    'git notes' edit [--allow-empty] [<objeto>]
    'git notes' show [<objeto>]
    'git notes' merge [-v | -q] [-s <estratégia> ] <notes-ref>
    'git notes' merge --commit [-v | -q]
    'git notes' merge --abort [-v | -q]
    'git notes' remove [--ignore-missing] [--stdin] [<objeto>...]
    'git notes' prune [-n] [-v]
    'git notes' get-ref

note: type: Plain text
en: Adds, removes, or reads notes attached to objects, without touching the objects themselves.
pt_BR: Adiciona, remove ou lê as anotações anexadas aos objetos, sem tocar nos próprios objetos.

note: type: Plain text
en: By default, notes are saved to and read from `refs/notes/commits`, but this default can be overridden.  See the OPTIONS, CONFIGURATION, and ENVIRONMENT sections below.  If this ref does not exist, it will be quietly created when it is first needed to store a note.
pt_BR: É predefinido que as anotações sejam salvas e lidas do `refs/notes/commits`, mas esta predefinição pode ser substituída.  Consulte as seções OPÇÕES, CONFIGURAÇÃO e AMBIENTE abaixo.  Caso esta referência não exista, ela será criada de forma silenciosa quando for necessário armazenar uma nota pela primeira vez.

note: type: Plain text
en: A typical use of notes is to supplement a commit message without changing the commit itself. Notes can be shown by 'git log' along with the original commit message. To distinguish these notes from the message stored in the commit object, the notes are indented like the message, after an unindented line saying "Notes (<refname>):" (or "Notes:" for `refs/notes/commits`).
pt_BR: Uma utilização típica das anotações é complementar uma mensagem de um commit sem alterar o próprio commit. As anotações podem ser exibidas com o comando 'git log' junto com a mensagem do commit original. Para distinguir entre estas anotações da mensagem armazenada no commit do objeto, as anotações são recuadas como a mensagem, após uma linha não recolocada dizendo "Notes (<refname>):" (ou "Notes:" para `refs/notes/commits`) .

note: type: Plain text
en: Notes can also be added to patches prepared with `git format-patch` by using the `--notes` option. Such notes are added as a patch commentary after a three dash separator line.
pt_BR: As anotações também podem ser adicionadas aos patches preparados com o comando `git format-patch` utilizando a opção `--notes`. Tais anotações são adicionadas como um comentário de um patch após uma linha separadora com três traços.

note: type: Plain text
en: To change which notes are shown by 'git log', see the "notes.displayRef" configuration in linkgit:git-log[1].
pt_BR: Para alterar quais as anotações são exibidas através do comando 'git log', consulte a configuração "notes.displayRef" no linkgit:git-log[1].

note: type: Plain text
en: See the "notes.rewrite.<command>" configuration for a way to carry notes across commands that rewrite commits.
pt_BR: Consulte a configuração "notes.rewrite.<comando>" para conhecer uma maneira de transportar as anotações através dos comandos que reescrevem os commits.

note: type: Title -
en: SUBCOMMANDS
pt_BR: SUBCOMANDOS

note: type: Plain text
en: List the notes object for a given object. If no object is given, show a list of all note objects and the objects they annotate (in the format "<note object> <annotated object>").  This is the default subcommand if no subcommand is given.
pt_BR: Liste as anotações do objeto para um determinado objeto. Caso nenhum objeto seja informado, exiba uma lista com todas as anotações dos objetos e os objetos que eles anotam (no formato "<nota do objeto> <objeto anotado>").  Este é o subcomando predefinido caso nenhum subcomando seja utilizado.

note: type: Plain text
en: Add notes for a given object (defaults to HEAD). Abort if the object already has notes (use `-f` to overwrite existing notes).  However, if you're using `add` interactively (using an editor to supply the notes contents), then - instead of aborting - the existing notes will be opened in the editor (like the `edit` subcommand).
pt_BR: Adiciona anotações para um determinado objeto (a predefinição retorna para `HEAD`). Interrompa caso o objeto já tiver anotações (utilize `-f` para substituir as anotações já existentes).  No entanto, caso você esteja utilizando `add` de forma interativa (utilizando um editor para editar o conteúdo das notas), então - em vez de interromper - as anotações já existentes serão abertas no editor (como o subcomando `edit`).

note: type: Plain text
en: Copy the notes for the first object onto the second object (defaults to HEAD). Abort if the second object already has notes, or if the first object has none (use -f to overwrite existing notes to the second object). This subcommand is equivalent to: `git notes add [-f] -C $(git notes list <from-object>) <to-object>`
pt_BR: Copie as anotações para o primeiro objeto no segundo (a predefinição retorna para `HEAD`). Interrompa caso o segundo objeto já tenha as anotações ou caso o primeiro objeto não tiver nenhuma (utilize '-f' para substituir as anotações existentes no segundo objeto). Este subcomando se equivale a: `git notes add [-f] -C $(git notes list <do-objeto>) <para-o-objeto>`

note: type: Plain text
en: In `--stdin` mode, take lines in the format
pt_BR: No modo `--stdin`, pegue as linhas no formato

note: type: delimited block -
en: <from-object> SP <to-object> [ SP <rest> ] LF
pt_BR: <do-objeto> SP <para-o-objeto> [ SP <rest> ] LF

note: type: Plain text
en: on standard input, and copy the notes from each <from-object> to its corresponding <to-object>.  (The optional `<rest>` is ignored so that the command can read the input given to the `post-rewrite` hook.)
pt_BR: na entrada padrão e copie as anotações de cada <do-objeto> para o seu <para-o-objeto> correspondente.  (O `<rest>` opcional é ignorado para que o comando possa ler a entrada informada ao gancho `post-rewrite`.)

note: type: Plain text
en: Append to the notes of an existing object (defaults to HEAD).  Creates a new notes object if needed.
pt_BR: Anexe às anotações de um objeto já existente (a predefinição retorna para `HEAD`).  Cria uma nova anotação no objeto, caso seja necessário.

note: type: Plain text
en: Edit the notes for a given object (defaults to HEAD).
pt_BR: Edite as anotações para um determinado objeto (a predefinição retorna para `HEAD`).

note: type: Plain text
en: Show the notes for a given object (defaults to HEAD).
pt_BR: Mostrar as anotações para um determinado objeto (a predefinição retorna para `HEAD`).

note: type: Plain text
en: Merge the given notes ref into the current notes ref.  This will try to merge the changes made by the given notes ref (called "remote") since the merge-base (if any) into the current notes ref (called "local").
pt_BR: Mescle as anotações "ref" informadas nas anotações "ref" atuais.  Será feita uma tentativa para mesclar as alterações feitas através das anotações "ref" informada (chamadas "remotas") desde a base de mesclagem (caso haja) nas anotações "ref" atuais (chamadas "locais").

note: type: Plain text
en: If conflicts arise and a strategy for automatically resolving conflicting notes (see the "NOTES MERGE STRATEGIES" section) is not given, the "manual" resolver is used. This resolver checks out the conflicting notes in a special worktree (`.git/NOTES_MERGE_WORKTREE`), and instructs the user to manually resolve the conflicts there.  When done, the user can either finalize the merge with 'git notes merge --commit', or abort the merge with 'git notes merge --abort'.
pt_BR: Caso surjam conflitos e uma estratégia para resolver automaticamente as notas conflitantes (consulte a seção "OBSERVAÇÕES SOBRE AS ESTRATÉGIAS DA MESCLAGEM") não sejam utilizadas, o resolvedor "manual" será utilizado. Este resolvedor verifica se as notas conflitantes em uma árvore de trabalho especial (`.git/NOTES_MERGE_WORKTREE`) instrui o usuário a resolver manualmente os conflitos lá.  Quando for concluído, o usuário pode finalizar a mesclagem com o comando 'git notes merge --commit' ou interromper a mesclagem com o comando 'git notes merge --abort'.

note: type: Plain text
en: Remove the notes for given objects (defaults to HEAD). When giving zero or one object from the command line, this is equivalent to specifying an empty note message to the `edit` subcommand.
pt_BR: Remova as anotações para determinados objetos (a predefinição retorna para `HEAD`). Ao atribuir zero ou um objeto a partir da linha de comando, isso equivale a informar uma mensagem com anotação vazia para o subcomando `edit`.

note: type: Plain text
en: Remove all notes for non-existing/unreachable objects.
pt_BR: Remova todas as anotações dos objetos inexistentes/inacessíveis.

note: type: Plain text
en: Print the current notes ref. This provides an easy way to retrieve the current notes ref (e.g. from scripts).
pt_BR: Exiba as anotações "ref" atuais. Fornece uma maneira fácil de recuperar as anotações "ref" atuais (dos scripts por exemplo).

note: type: Plain text
en: When adding notes to an object that already has notes, overwrite the existing notes (instead of aborting).
pt_BR: Ao adicionar as anotações em um objeto que já possa anotações, substitua as anotações existentes (em vez de abortar).

note: type: Plain text
en: Use the given note message (instead of prompting).  If multiple `-m` options are given, their values are concatenated as separate paragraphs.  Lines starting with `#` and empty lines other than a single line between paragraphs will be stripped out.
pt_BR: Utilize uma mensagem da anotação informada (em vez de solicitar).  Caso várias opções `-m` seja informadas, os seus valores serão concatenados como parágrafos separados.  Serão removidas as linhas começando com `#` e as linhas vazias que não estejam em uma única linha entre os parágrafos.

note: type: Plain text
en: Take the note message from the given file.  Use '-' to read the note message from the standard input.  Lines starting with `#` and empty lines other than a single line between paragraphs will be stripped out.
pt_BR: Pegue a mensagem da anotação do arquivo informado.  Utilize '-' para ler a mensagem da nota vindo da entrada padrão.  Serão removidas as linhas começando com `#` e as linhas vazias que não estejam em uma única linha entre os parágrafos.

note: type: Labeled list
en: -C <object>
pt_BR: -C <objeto>

note: type: Labeled list
en: --reuse-message=<object>
pt_BR: --reuse-message=<objeto>

note: type: Plain text
en: Take the given blob object (for example, another note) as the note message. (Use `git notes copy <object>` instead to copy notes between objects.)
pt_BR: Tome o objeto bolha informada (outra nota por exemplo) como uma mensagem da nota. (Utiliza `git notes copy <objeto>` em vez da copia das notas entre os objetos.)

note: type: Labeled list
en: -c <object>
pt_BR: -c <objeto>

note: type: Labeled list
en: --reedit-message=<object>
pt_BR: --reedit-message=<objeto>

note: type: Plain text
en: Like '-C', but with `-c` the editor is invoked, so that the user can further edit the note message.
pt_BR: Assim como '-C', porém com `-c` o editor é invocado para que o usuário possa editar mais a mensagem da nota.

note: type: Plain text
en: Allow an empty note object to be stored. The default behavior is to automatically remove empty notes.
pt_BR: Permita que uma anotação vazia do objeto seja armazenado. O comportamento predefinido é remover automaticamente as anotações que estiverem vazias.

note: type: Plain text
en: Manipulate the notes tree in <ref>.  This overrides `GIT_NOTES_REF` and the "core.notesRef" configuration.  The ref specifies the full refname when it begins with `refs/notes/`; when it begins with `notes/`, `refs/` and otherwise `refs/notes/` is prefixed to form a full name of the ref.
pt_BR: Manipule as anotações da árvore na <ref>.  Sobrescreve o `GIT_NOTES_REF` e a configuração "core.notesRef".  A "ref" determina o nome completo quando começa com `refs/notes/`; quando começa com `notes/`, `refs/` e caso contrário `refs/notes/` é prefixado para formar um nome completo da "ref".

note: type: Plain text
en: Do not consider it an error to request removing notes from an object that does not have notes attached to it.
pt_BR: Não considere um erro ao solicitar a remoção das anotações de um objeto que não possua anotações anexadas.

note: type: Plain text
en: Also read the object names to remove notes from the standard input (there is no reason you cannot combine this with object names from the command line).
pt_BR: Leia também os nomes dos objetos para remover anotações da entrada padrão (não há motivo para não combinar isso com os nomes dos objetos na linha de comando).

note: type: Plain text
en: Do not remove anything; just report the object names whose notes would be removed.
pt_BR: Não remova nada; apenas relate os nomes dos objetos cujas anotações seriam removidas.

note: type: Labeled list
en: -s <strategy>
pt_BR: -s <estratégia>

note: type: Plain text
en: When merging notes, resolve notes conflicts using the given strategy. The following strategies are recognized: "manual" (default), "ours", "theirs", "union" and "cat_sort_uniq".  This option overrides the "notes.mergeStrategy" configuration setting.  See the "NOTES MERGE STRATEGIES" section below for more information on each notes merge strategy.
pt_BR: Ao mesclar as anotações, resolva os conflitos das anotações utilizando uma determinada estratégia. As seguintes estratégias são reconhecidas: "manual" (predefinido), "ours" (nosso), "theirs" (deles), "union" (união) e "cat_sort_uniq".  Esta opção substitui a configuração "notes.mergeStrategy".  Consulte a seção "OBSERVAÇÕES SOBRE AS ESTRATÉGIAS DA MESCLAGEM" abaixo para obter mais informações sobre a estratégia de mesclagem de cada nota.

note: type: Plain text
en: Finalize an in-progress 'git notes merge'. Use this option when you have resolved the conflicts that 'git notes merge' stored in .git/NOTES_MERGE_WORKTREE. This amends the partial merge commit created by 'git notes merge' (stored in .git/NOTES_MERGE_PARTIAL) by adding the notes in .git/NOTES_MERGE_WORKTREE. The notes ref stored in the .git/NOTES_MERGE_REF symref is updated to the resulting commit.
pt_BR: Finalize um 'git notes merge' em andamento. Utilize esta opção quando tiver resolvido os conflitos que o comando 'git notes merge' armazenou em `.git/NOTES_MERGE_WORKTREE`. Isso altera o commit parcial da mesclagem criado pelo comando 'git notes merge' (armazenado em `.git/NOTES_MERGE_PARTIAL`) adicionando as anotações em `.git/NOTES_MERGE_WORKTREE`. As notas "ref" armazenadas no 'symref' `.git/NOTES_MERGE_REF` são atualizadas no commit resultante.

note: type: Plain text
en: Abort/reset an in-progress 'git notes merge', i.e. a notes merge with conflicts. This simply removes all files related to the notes merge.
pt_BR: Interrompa/redefina um comando 'git notes merge' em andamento, ou seja, mesmo com conflitos, uma anotação será mesclada. Simplesmente remove todos os arquivos relacionados as anotações da mesclagem.

note: type: Plain text
en: When merging notes, operate quietly.
pt_BR: Quando mesclar as anotações, opere em silêncio.

note: type: Plain text
en: When merging notes, be more verbose.  When pruning notes, report all object names whose notes are removed.
pt_BR: Quando mesclar as anotações, seja loquaz.  Quando remover as anotações, relate todos os nomes dos objetos cujas notas foram removidas.

note: type: Plain text
en: Commit notes are blobs containing extra information about an object (usually information to supplement a commit's message).  These blobs are taken from notes refs.  A notes ref is usually a branch which contains "files" whose paths are the object names for the objects they describe, with some directory separators included for performance reasons footnote:[Permitted pathnames have the form 'ab'`/`'cd'`/`'ef'`/`'...'`/`'abcdef...': a sequence of directory names of two hexadecimal digits each followed by a filename with the rest of the object ID.].
pt_BR: As anotações dos commits são bolhas que contêm informações extras sobre um objeto (geralmente informações para complementar a mensagem de um commit).  Estas bolhas são retiradas das anotações refs.  Uma anotação "ref" geralmente é um ramo que contém "arquivos" cujos caminhos são os nomes dos objetos que o descrevem, com alguns separadores do diretório incluídos por motivos de desempenho, nota de rodapé: [Os nomes dos caminhos permitidos têm o formato 'ab'`/`'cd'`/`'ef'`/`'...'`/`'abcdef...': uma sequência com os nomes dos diretórios com dois dígitos hexadecimais cada um, seguido por um nome do arquivo com o resto do ID do objeto.].

note: type: Plain text
en: Every notes change creates a new commit at the specified notes ref.  You can therefore inspect the history of the notes by invoking, e.g., `git log -p notes/commits`.  Currently the commit message only records which operation triggered the update, and the commit authorship is determined according to the usual rules (see linkgit:git-commit[1]).  These details may change in the future.
pt_BR: Cada modificação nas anotações cria um novo commit nas anotações "ref" especificadas.  Portanto, você pode inspecionar o histórico das notas invocando por exemplo o comando `git log -p notes/commits`.  Atualmente, a mensagem do commit registra apenas qual a operação acionou a atualização, já a autoria da confirmação é determinada de acordo com as regras usuais (consulte linkgit:git-commit[1]).  Estes detalhes podem mudar no futuro.

note: type: Plain text
en: It is also permitted for a notes ref to point directly to a tree object, in which case the history of the notes can be read with `git log -p -g <refname>`.
pt_BR: Também é permitido que uma anotação da "ref" aponte diretamente para um objeto na árvore, caso onde o histórico das anotações podem ser lidos com `git log -p -g <refname>`.

note: type: Title -
en: NOTES MERGE STRATEGIES
pt_BR: OBSERVAÇÕES SOBRE AS ESTRATÉGIAS DA MESCLAGEM

note: type: Plain text
en: The default notes merge strategy is "manual", which checks out conflicting notes in a special work tree for resolving notes conflicts (`.git/NOTES_MERGE_WORKTREE`), and instructs the user to resolve the conflicts in that work tree.  When done, the user can either finalize the merge with 'git notes merge --commit', or abort the merge with 'git notes merge --abort'.
pt_BR: The default notes merge strategy is "manual", which checks out conflicting notes in a special work tree for resolving notes conflicts (`.git/NOTES_MERGE_WORKTREE`), and instructs the user to resolve the conflicts in that work tree.  Quando for concluído, o usuário pode finalizar a mesclagem com o comando 'git notes merge --commit' ou interromper a mesclagem com o comando 'git notes merge --abort'.

note: type: Plain text
en: Users may select an automated merge strategy from among the following using either -s/--strategy option or configuring notes.mergeStrategy accordingly:
pt_BR: Os usuários podem selecionar uma estratégia de mesclagem automatizada dentre as opções a seguir, utilizando a opção `-s/--strategy` ou configurando a opção `notes.mergeStrategy` de acordo:

note: type: Plain text
en: "ours" automatically resolves conflicting notes in favor of the local version (i.e. the current notes ref).
pt_BR: O "ours" (nosso) resolve automaticamente as anotações conflitantes em favor da versão local (ou seja, as anotações "ref" atuais).

note: type: Plain text
en: "theirs" automatically resolves notes conflicts in favor of the remote version (i.e. the given notes ref being merged into the current notes ref).
pt_BR: O "deles" resolve automaticamente os conflitos das anotações em favor da versão remota (ou seja, as anotações dadas ao "ref" são mescladas nas anotações atuais da "ref").

note: type: Plain text
en: "union" automatically resolves notes conflicts by concatenating the local and remote versions.
pt_BR: O "union" resolve automaticamente os conflitos das anotações concatenando as versões locais e remotas.

note: type: Plain text
en: "cat_sort_uniq" is similar to "union", but in addition to concatenating the local and remote versions, this strategy also sorts the resulting lines, and removes duplicate lines from the result. This is equivalent to applying the "cat | sort | uniq" shell pipeline to the local and remote versions. This strategy is useful if the notes follow a line-based format where one wants to avoid duplicated lines in the merge result.  Note that if either the local or remote version contain duplicate lines prior to the merge, these will also be removed by this notes merge strategy.
pt_BR: O "cat_sort_uniq" é semelhante ao "union", porém, além de concatenar as versões locais e remotas, essa estratégia também classifica as linhas resultantes e remove as linhas que estiverem no resultado. Isso é equivalente ao aplicação do pipeline shell "cat | sort | uniq" nas versões locais e remotos. Essa estratégia é útil caso as notas sigam um formato com base nas linhas, onde se deseja evitar as linhas duplicadas no resultado da mesclagem.  Observe que, caso a versão local ou remota tiver linhas duplicadas antes da mesclagem, elas também serão removidas por esta anotação estratégica de mesclagem.

note: type: Plain text
en: You can use notes to add annotations with information that was not available at the time a commit was written.
pt_BR: Você pode utilizar notas para adicionar anotações com as informação do que não estava disponível no momento em que o commit foi feito.

note: type: delimited block -
en: $ git notes add -m 'Tested-by: Johannes Sixt <j6t@kdbg.org>' 72a144e2
    $ git show -s 72a144e
    [...]
        Signed-off-by: Junio C Hamano <gitster@pobox.com>
pt_BR: $ git notes add -m 'Testado-por: Johannes Sixt <j6t@kdbg.org>' 72a144e2
    $ git show -s 72a144e
    [...]
        Assinado-por: Junio C Hamano <gitster@pobox.com>

note: type: delimited block -
en: Notes:
        Tested-by: Johannes Sixt <j6t@kdbg.org>
pt_BR: Anotações:
        Testado-por: Johannes Sixt <j6t@kdbg.org>

note: type: Plain text
en: In principle, a note is a regular Git blob, and any kind of (non-)format is accepted.  You can binary-safely create notes from arbitrary files using 'git hash-object':
pt_BR: Em princípio, uma anotação é uma bolha Git comum e qualquer outro tipo de formato (não) é aceito.  Você pode criar com segurança as anotações binárias a partir de arquivos arbitrários utilizando o comando 'git hash-object':

note: type: Plain text
en: (You cannot simply use `git notes --ref=built add -F a.out HEAD` because that is not binary-safe.)  Of course, it doesn't make much sense to display non-text-format notes with 'git log', so if you use such notes, you'll probably need to write some special-purpose tools to do something useful with them.
pt_BR: (Você não pode simplesmente utilizar o comando `git notes --ref=built add -F a.out HEAD` porque isso não é seguro para os arquivos binários.) É claro que não faz muito sentido exibir as anotações que não foram formatadas com 'git log', portanto, caso utilize estas anotações, provavelmente precisará escrever algumas ferramentas com um propósito especial para fazer algo útil com elas.

note: type: Plain text
en: Notes ref to read and manipulate instead of `refs/notes/commits`.  Must be an unabbreviated ref name.  This setting can be overridden through the environment and command line.
pt_BR: Notas "ref" para ler e manipular em vez do `refs/notes/commits`.  Deve ser um nome "ref" sem abreviação.  Esta configuração pode ser substituída por uma variável de ambiente e através da linha de comando.

note: type: Plain text
en: Which merge strategy to choose by default when resolving notes conflicts.  Must be one of `manual`, `ours`, `theirs`, `union`, or `cat_sort_uniq`.  Defaults to `manual`.  See "NOTES MERGE STRATEGIES" section above for more information on each strategy.
pt_BR: Qual estratégia predefinida de mesclagem escolher ao resolver os conflitos das anotações.  Deve ser uma das opções `manual`, `ours` (nosso), `theirs` (deles), `union` (união) ou `cat_sort_uniq`.  A predefinição retorna para `manual`.  Consulte a seção "OBSERVAÇÕES SOBRE AS ESTRATÉGIAS DA MESCLAGEM" acima para obter mais informações sobre cada estratégia.

note: type: Plain text
en: This setting can be overridden by passing the `--strategy` option.
pt_BR: Esta configuração pode ser substituída ao utilizar a opção `--strategy`.

note: type: Labeled list
en: notes.<name>.mergeStrategy
pt_BR: notes.<nome>.mergeStrategy

note: type: Plain text
en: Which merge strategy to choose when doing a notes merge into refs/notes/<name>.  This overrides the more general "notes.mergeStrategy".  See the "NOTES MERGE STRATEGIES" section above for more information on each available strategy.
pt_BR: Qual estratégia de mesclagem escolher ao fazer uma anotação na mesclagem em `refs/notes/<nome>`.  Isso substitui a opção "notes.mergeStrategy" que é mais genérica.  Consulte a seção "OBSERVAÇÕES SOBRE AS ESTRATÉGIAS DA MESCLAGEM" acima para obter mais informações sobre cada estratégia disponível.

note: type: Plain text
en: Which ref (or refs, if a glob or specified more than once), in addition to the default set by `core.notesRef` or `GIT_NOTES_REF`, to read notes from when showing commit messages with the 'git log' family of commands.  This setting can be overridden on the command line or by the `GIT_NOTES_DISPLAY_REF` environment variable.  See linkgit:git-log[1].
pt_BR: Qual ref (ou refs, caso um "glob" seja especificado mais de uma vez), além do padrão definido pela variável `core.notesRef` ou` GIT_NOTES_REF`, para ler as anotações durante a exibição das mensagens do commit junto com a família de comandos 'git log'.  Esta configuração pode ser substituída na linha de comando ou pela variável de ambiente `GIT_NOTES_DISPLAY_REF`.  Consulte linkgit:git-log[1].

note: type: Labeled list
en: notes.rewrite.<command>
pt_BR: notes.rewrite.<comando>

note: type: Plain text
en: When rewriting commits with <command> (currently `amend` or `rebase`), if this variable is `false`, git will not copy notes from the original to the rewritten commit.  Defaults to `true`.  See also "`notes.rewriteRef`" below.
pt_BR: Ao reescrever os commits com o <comando> (atualmente `ammend` ou `rebase`), caso esta variável seja `false`, o git não copiará as anotações do original para o commit que foi reescrito.  A predefinição retorna para `true`.  Consulte também "`notes.rewriteRef`" abaixo.

note: type: Plain text
en: This setting can be overridden by the `GIT_NOTES_REWRITE_REF` environment variable.
pt_BR: Esta configuração pode ser substituída pela variável de ambiente `GIT_NOTES_REWRITE_REF`.

note: type: Plain text
en: When copying notes during a rewrite, what to do if the target commit already has a note.  Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or `ignore`.  Defaults to `concatenate`.
pt_BR: Ao copiar as anotações durante uma reescrita, o que fazer caso o commit de destino já tiver uma anotação.  Deve ser uma das opção `overwrite`,` concatenate`, `cat_sort_uniq` ou` ignore`.  A predefinição retorna para `concatenate`.

note: type: Plain text
en: This setting can be overridden with the `GIT_NOTES_REWRITE_MODE` environment variable.
pt_BR: Esta configuração pode ser substituída pela variável de ambiente `GIT_NOTES_REWRITE_MODE`.

note: type: Plain text
en: When copying notes during a rewrite, specifies the (fully qualified) ref whose notes should be copied.  May be a glob, in which case notes in all matching refs will be copied.  You may also specify this configuration several times.
pt_BR: Ao copiar as anotações durante uma reescrita, defina a "ref" (totalmente qualificada) cujas anotações devem ser copiadas.  Pode ser um agrupamento "glob", onde as anotações em todas as referências coincidentes serão copiadas.  É possível também utilizar esta configuração várias vezes.

note: type: Plain text
en: Does not have a default value; you must configure this variable to enable note rewriting.
pt_BR: Não possui um valor predefinido; você deve configurar esta variável para ativar a reescrita das anotações.

note: type: Plain text
en: Can be overridden with the `GIT_NOTES_REWRITE_REF` environment variable.
pt_BR: Pode ser substituído pela variável de ambiente `GIT_NOTES_REWRITE_REF`.

note: type: Plain text
en: Which ref to manipulate notes from, instead of `refs/notes/commits`.  This overrides the `core.notesRef` setting.
pt_BR: De qual "ref" manipular as anotações, em vez do `refs/notes/commits`.  Sobrescreve a configuração `core.notesRef`.

note: type: Plain text
en: Colon-delimited list of refs or globs indicating which refs, in addition to the default from `core.notesRef` or `GIT_NOTES_REF`, to read notes from when showing commit messages.  This overrides the `notes.displayRef` setting.
pt_BR: Uma lista delimitada por dois pontos das refs ou "globs" indicando quais as refs, além da predefinição do `core.notesRef` ou` GIT_NOTES_REF`, para ler as anotações ao exibir as mensagens dos commits.  Sobrescreve a configuração `notes.displayRef`.

note: type: Plain text
en: A warning will be issued for refs that do not exist, but a glob that does not match any refs is silently ignored.
pt_BR: Um aviso será emitido para as refs que não existam, porém um agrupamento "glob" que não corresponda a nenhuma referência é ignorada em silêncio.

note: type: Plain text
en: When copying notes during a rewrite, what to do if the target commit already has a note.  Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or `ignore`.  This overrides the `core.rewriteMode` setting.
pt_BR: Ao copiar as anotações durante uma reescrita, o que fazer caso o commit de destino já tiver uma anotação.  Deve ser uma das opção `overwrite`,` concatenate`, `cat_sort_uniq` ou` ignore`.  Sobrescreve a configuração `core.rewriteMode`.

note: type: Plain text
en: When rewriting commits, which notes to copy from the original to the rewritten commit.  Must be a colon-delimited list of refs or globs.
pt_BR: Ao reescrever os commits, as anotações que serão copiadas do original para o commit que será reescrito.  Deve ser uma lista delimitada por dois pontos das refs ou globs.

note: type: Plain text
en: If not set in the environment, the list of notes to copy depends on the `notes.rewrite.<command>` and `notes.rewriteRef` settings.
pt_BR: Caso não esteja definido no ambiente, a lista das anotações que serão copiadas irá depender das configurações `notes.rewrite.<comando>` e `notes.rewriteRef`.

note: type: Plain text
en: git-p4 - Import from and submit to Perforce repositories
pt_BR: git-p4 - Importe e envie para os repositórios Perforce

note: type: Plain text
en: 'git p4 clone' [<sync options>] [<clone options>] <p4 depot path>...
    'git p4 sync' [<sync options>] [<p4 depot path>...]
    'git p4 rebase'
    'git p4 submit' [<submit options>] [<master branch name>]
pt_BR: 'git p4 clone' [<opções-de-sincronismo>] [<opções-da-clonagem>] <caminho-do-depósito-p4>...
    'git p4 sync' [<opções-de-sincronismo>] [<caminho-do-depósito-p4>...]
    'git p4 rebase'
    'git p4 submit' [<opções-de-envio>] [<nome-do-ramo-master>]

note: type: Plain text
en: This command provides a way to interact with p4 repositories using Git.
pt_BR: Este comando fornece uma maneira de interagir com os repositórios p4 utilizando o Git.

note: type: Plain text
en: Create a new Git repository from an existing p4 repository using 'git p4 clone', giving it one or more p4 depot paths.  Incorporate new commits from p4 changes with 'git p4 sync'.  The 'sync' command is also used to include new branches from other p4 depot paths.  Submit Git changes back to p4 using 'git p4 submit'.  The command 'git p4 rebase' does a sync plus rebases the current branch onto the updated p4 remote branch.
pt_BR: Crie um novo repositório Git a partir de um repositório p4 já existente utilizando o comando 'git p4 clone', informando  a ele um ou mais caminhos para o depósito p4.  Incorpore os novos commits das alterações do p4 com o comando 'git p4 sync'.  O comando 'sync' também é utilizado para incluir as novas ramificações vindas dos outros caminhos do depósito p4.  Envie as alterações do Git de volta para o p4 utilizando o comando 'git p4 submit'.  O comando 'git p4 rebase' faz uma sincronização a mais e reconstrói o ramo atual no ramo remoto p4 já atualizado.

note: type: Plain text
en: Clone a repository:
pt_BR: Clone um repositório:

note: type: Plain text
en: Do some work in the newly created Git repository:
pt_BR: Faça algum trabalho no repositório Git recém-criado:

note: type: delimited block -
en: $ cd project
    $ vi foo.h
    $ git commit -a -m "edited foo.h"
pt_BR: $ cd project
    $ vi foo.h
    $ git commit -a -m "foo.h editado"

note: type: Plain text
en: Update the Git repository with recent changes from p4, rebasing your work on top:
pt_BR: Atualize o repositório Git com as alterações recentes vindos do 'p4', reorganizando o seu trabalho no topo:

note: type: Plain text
en: Submit your commits back to p4:
pt_BR: Envie os seus commits de volta para 'p4':

note: type: Plain text
en: Generally, 'git p4 clone' is used to create a new Git directory from an existing p4 repository:
pt_BR: Geralmente, o comando 'git p4 clone' é utilizado para criar um novo diretório Git a partir de um repositório p4 já existente:

note: type: Plain text
en: This:
pt_BR: Este:

note: type: Plain text
en: Creates an empty Git repository in a subdirectory called 'project'.
pt_BR: Cria um repositório Git vazio em um subdiretório chamado 'project'.

note: type: Plain text
en: Imports the full contents of the head revision from the given p4 depot path into a single commit in the Git branch 'refs/remotes/p4/master'.
pt_BR: Importa todo o conteúdo da revisão principal do caminho do depósito p4 informado em um único commit no ramo Git 'refs/remotes/p4/master'.

note: type: Plain text
en: Creates a local branch, 'master' from this remote and checks it out.
pt_BR: Cria um ramo local, 'master', deste ramo remoto e faz uma averiguação.

note: type: Plain text
en: To reproduce the entire p4 history in Git, use the '@all' modifier on the depot path:
pt_BR: Para reproduzir todo o histórico p4 no Git, utilize o modificador '@all' no caminho do depósito:

note: type: Plain text
en: As development continues in the p4 repository, those changes can be included in the Git repository using:
pt_BR: À medida que o desenvolvimento continua no repositório p4, estas alterações podem ser incluídas no repositório Git utilizando:

note: type: Plain text
en: This command finds new changes in p4 and imports them as Git commits.
pt_BR: Este comando encontra as novas alterações no p4 e as importa conforme o Git realiza os commits.

note: type: Plain text
en: P4 repositories can be added to an existing Git repository using 'git p4 sync' too:
pt_BR: Os repositórios P4 podem ser adicionados a um repositório Git já existente também utilizando o comando 'git p4 sync':

note: type: Plain text
en: This imports the specified depot into 'refs/remotes/p4/master' in an existing Git repository.  The `--branch` option can be used to specify a different branch to be used for the p4 content.
pt_BR: Faz a importação do depósito informado para 'refs/remotes/p4/master' em um repositório Git já existente.  A opção `--branch` pode ser utilizada para definir um ramo diferente que será utilizado no conteúdo do p4.

note: type: Plain text
en: If a Git repository includes branches 'refs/remotes/origin/p4', these will be fetched and consulted first during a 'git p4 sync'.  Since importing directly from p4 is considerably slower than pulling changes from a Git remote, this can be useful in a multi-developer environment.
pt_BR: Caso um repositório Git inclua as ramificações 'refs/remotes/origin/p4', elas serão buscadas e consultadas primeiro durante um comando 'git p4 sync'.  Como a importação direta do p4 é consideravelmente mais lento do que extrair as alterações de um ramo Git remoto, pode ser útil em um ambiente com vários desenvolvedores.

note: type: Plain text
en: If there are multiple branches, doing 'git p4 sync' will automatically use the "BRANCH DETECTION" algorithm to try to partition new changes into the right branch.  This can be overridden with the `--branch` option to specify just a single branch to update.
pt_BR: Caso haja várias ramificações, ao executar o comando 'git p4 sync' utilizará de forma automática o algoritmo "DETECÇÃO DO RAMO" para tentar particionar as novas alterações na ramificação correta.  Pode ser substituído pela opção `--branch` para definir apenas um único ramo que será atualizado.

note: type: Plain text
en: A common working pattern is to fetch the latest changes from the p4 depot and merge them with local uncommitted changes.  Often, the p4 repository is the ultimate location for all code, thus a rebase workflow makes sense.  This command does 'git p4 sync' followed by 'git rebase' to move local commits on top of updated p4 changes.
pt_BR: Um padrão de trabalho comum é buscar as alterações mais recentes do depósito p4 e mesclá-las com os commits que não foram alterados localmente.  Frequentemente, o repositório p4 é o local definitivo para todo o código, portanto, um fluxo de trabalho de reconstrução da fundação faz todo o sentido.  Este comando executa o comando 'git p4 sync' seguido do comando 'git rebase' para mover os commits locais no topo das alterações atualizadas do p4.

note: type: Title ~
en: Submit
pt_BR: Envio

note: type: Plain text
en: Submitting changes from a Git repository back to the p4 repository requires a separate p4 client workspace.  This should be specified using the `P4CLIENT` environment variable or the Git configuration variable 'git-p4.client'.  The p4 client must exist, but the client root will be created and populated if it does not already exist.
pt_BR: O envio das alterações de um repositório Git de volta para o repositório p4, requer um espaço de trabalho do cliente p4 separado.  Isso deve ser definido utilizando a variável de ambiente `P4CLIENT` ou a variável de configuração Git 'git-p4.client'.  O cliente p4 deve existir, porém a raiz do cliente será criada e preenchida caso ainda não exista.

note: type: Plain text
en: To submit all changes that are in the current Git branch but not in the 'p4/master' branch, use:
pt_BR: Para enviar todas as alterações que estão no ramo Git atual, mas não no ramo 'p4/master', utilize:

note: type: Plain text
en: To specify a branch other than the current one, use:
pt_BR: Para definir um ramo diferente do atual, utilize:

note: type: Plain text
en: To specify a single commit or a range of commits, use:
pt_BR: Para definir um único commit ou um intervalo de commits, utilize:

note: type: Plain text
en: The upstream reference is generally 'refs/remotes/p4/master', but can be overridden using the `--origin=` command-line option.
pt_BR: A referência upstream geralmente é 'refs/remotes/p4/master', mas pode ser substituída utilizando a opção da linha de comando `--origin=`.

note: type: Plain text
en: The p4 changes will be created as the user invoking 'git p4 submit'. The `--preserve-user` option will cause ownership to be modified according to the author of the Git commit.  This option requires admin privileges in p4, which can be granted using 'p4 protect'.
pt_BR: As alterações no p4 serão criadas à medida que o usuário utilize o comando 'git p4 submit'. A opção `--preserve-user` fará com que a propriedade seja modificada de acordo com o autor do commit.  Esta opção requer privilégios de administrador em p4, que podem ser concedidos utilizando 'p4 protect'.

note: type: Plain text
en: To shelve changes instead of submitting, use `--shelve` and `--update-shelve`:
pt_BR: Para arquivar as alterações em vez de enviá-las, utilize `--shelve` e `--update-shelve`:

note: type: Plain text
en: Unshelving will take a shelved P4 changelist, and produce the equivalent git commit in the branch refs/remotes/p4-unshelved/<changelist>.
pt_BR: O desarquivamento pega uma lista de alterações P4 arquivada e produz o commit equivalente com o git no ramo refs/remotes/p4-unshelved/<changelist>.

note: type: Plain text
en: The git commit is created relative to the current origin revision (HEAD by default).  A parent commit is created based on the origin, and then the unshelve commit is created based on that.
pt_BR: O commit do git é criado com relação à revisão da origem atual (a predefinição retorna para HEAD).  Um parente de um commit é criado com base na origem e em seguida, o commit desarquivado é criado com base nisso.

note: type: Plain text
en: The origin revision can be changed with the "--origin" option.
pt_BR: A revisão da origem pode ser alterada com a opção "--origin".

note: type: Plain text
en: If the target branch in refs/remotes/p4-unshelved already exists, the old one will be renamed.
pt_BR: Se o ramo de destino em `refs/remotes/p4-unshelved` já existir, o antigo será renomeado.

note: type: delimited block -
en: $ git p4 sync
    $ git p4 unshelve 12345
    $ git show p4-unshelved/12345
    <submit more changes via p4 to the same files>
    $ git p4 unshelve 12345
    <refuses to unshelve until git is in sync with p4 again>
pt_BR: $ git p4 sync
    $ git p4 unshelve 12345
    $ git show p4-unshelved/12345
    <encaminha mais alterações através do p4 para os mesmos arquivos>
    $ git p4 unshelve 12345
    <se recusa a fazer o desarquivamento a menos que o git esteja em sincronia com o p4 novamente>

note: type: Title ~
en: General options
pt_BR: Opções gerais

note: type: Plain text
en: All commands except clone accept these options.
pt_BR: Todos os comandos, exceto o clone, aceitam estas opções.

note: type: Plain text
en: Set the `GIT_DIR` environment variable.  See linkgit:git[1].
pt_BR: Define a variável de ambiente `GIT_DIR`.  Consulte linkgit:git[1].

note: type: Plain text
en: Provide more progress information.
pt_BR: Forneça mais informações sobre o progresso.

note: type: Title ~
en: Sync options
pt_BR: Opções de sincronização

note: type: Plain text
en: These options can be used in the initial 'clone' as well as in subsequent 'sync' operations.
pt_BR: Estas opções podem ser utilizadas no 'clone' inicial, bem como nas operações subsequentes de 'sincronização'.

note: type: Plain text
en: Import changes into <ref> instead of refs/remotes/p4/master.  If <ref> starts with refs/, it is used as is.  Otherwise, if it does not start with p4/, that prefix is added.
pt_BR: Importe as alterações para o <ref> em vez do 'refs/remotes/p4/master'.  Caso <ref> começar com 'refs/', será utilizado como está.  Caso contrário, se não iniciar com 'p4/', esse prefixo será adicionado.

note: type: Plain text
en: By default a <ref> not starting with refs/ is treated as the name of a remote-tracking branch (under refs/remotes/).  This behavior can be modified using the --import-local option.
pt_BR: É predefinido que um <ref> que não comece com 'refs/' seja tratado como o nome de um ramo monitorado remotamente (em 'refs/remotes/').  Esse comportamento pode ser alterado utilizando a opção `--import-local`.

note: type: Plain text
en: The default <ref> is "master".
pt_BR: A predefinição do <ref> é "master".

note: type: Plain text
en: This example imports a new remote "p4/proj2" into an existing Git repository:
pt_BR: Este exemplo importa um novo "p4/proj2" remoto para um repositório Git já existente:

note: type: Plain text
en: Use the branch detection algorithm to find new paths in p4.  It is documented below in "BRANCH DETECTION".
pt_BR: Utilize o algoritmo de detecção do ramo para encontrar os novos caminhos no 'p4'.  Está documentado abaixo em "DETECÇÃO DO RAMO".

note: type: Labeled list
en: --changesfile <file>
pt_BR: --changesfile <arquivo>

note: type: Plain text
en: Import exactly the p4 change numbers listed in 'file', one per line.  Normally, 'git p4' inspects the current p4 repository state and detects the changes it should import.
pt_BR: Importe exatamente os números da alteração p4 listados no 'arquivo', um por linha.  Normalmente, o 'git p4' inspeciona a condição atual do repositório p4 e detecta quais as alterações que ele deve importar.

note: type: Plain text
en: Do not print any progress information.
pt_BR: Não exiba nenhuma informação do progresso.

note: type: Plain text
en: Query p4 for labels associated with the depot paths, and add them as tags in Git. Limited usefulness as only imports labels associated with new changelists. Deprecated.
pt_BR: Consulte a página 'p4' para os rótulos associados aos caminhos do depósito e adicione-os como tags no Git. Utilidade limitada, pois importa apenas as etiquetas associadas a novas listas de alterações. Descontinuada.

note: type: Plain text
en: Import labels from p4 into Git.
pt_BR: Importe os rótulos do 'p4' para o Git.

note: type: Plain text
en: By default, p4 branches are stored in 'refs/remotes/p4/', where they will be treated as remote-tracking branches by linkgit:git-branch[1] and other commands.  This option instead puts p4 branches in 'refs/heads/p4/'.  Note that future sync operations must specify `--import-local` as well so that they can find the p4 branches in refs/heads.
pt_BR: É predefinido que os ramos 'p4' sejam armazenadas em 'refs/remotes/p4/', onde serão tratadas como ramificações monitoradas remotamente pelo linkgit:git-branch[1] e outros comandos.  Esta opção coloca as ramificações 'p4' no 'refs/heads/p4/'.  Observe que as futuras operações de sincronização tam bém devem especificar a opção `--import-local` para que eles possam encontrar as ramificações 'p4' em 'refs/heads'.

note: type: Plain text
en: Import at most 'n' changes, rather than the entire range of changes included in the given revision specifier. A typical usage would be use '@all' as the revision specifier, but then to use '--max-changes 1000' to import only the last 1000 revisions rather than the entire revision history.
pt_BR: Importe no máximo 'n' alterações, em vez de todo o intervalo de alterações incluído no especificador da revisão informado. Um uso comum seria utilizar '@all' como especificador da revisão, porém depois utilizar a opção '--max-changes 1000' para importar apenas as últimas 1000 revisões, em vez de todo o histórico.

note: type: Plain text
en: The internal block size to use when converting a revision specifier such as '@all' into a list of specific change numbers. Instead of using a single call to 'p4 changes' to find the full list of changes for the conversion, there are a sequence of calls to 'p4 changes -m', each of which requests one block of changes of the given size. The default block size is 500, which should usually be suitable.
pt_BR: O tamanho do bloco interno que será utilizado ao converter um especificador da revisão como '@all' em uma lista com a quantidade específica de alteração. Em vez de utilizar uma única chamada para 'p4 changes' visando encontrar a lista completa das alterações para a conversão, há uma sequência de chamadas para 'p4 changes -m', cada uma das quais solicita um bloco de alterações com um tamanho definido. O tamanho padrão do bloco é 500, o que geralmente deve ser o suficiente.

note: type: Plain text
en: The mapping of file names from the p4 depot path to Git, by default, involves removing the entire depot path.  With this option, the full p4 depot path is retained in Git.  For example, path '//depot/main/foo/bar.c', when imported from '//depot/main/', becomes 'foo/bar.c'.  With `--keep-path`, the Git path is instead 'depot/main/foo/bar.c'.
pt_BR: É predefinido para o Git, que seja removido todo o caminho do depósito no mapeamento do caminho dos nomes dos arquivos do depósito p4.  Com esta opção, o caminho completo do depósito p4 é mantido no Git.  Por exemplo, o caminho '//depot/main/foo/bar.c', quando for importado de '//depot/main/', se torne 'foo/bar.c'.  Com `--keep-path`, o caminho do Git fica 'depot/main/foo/bar.c'.

note: type: Plain text
en: Use a client spec to find the list of interesting files in p4.  See the "CLIENT SPEC" section below.
pt_BR: Use uma especificação do cliente para encontrar a lista dos arquivos interessantes no p4.  Consulte a seção "CLIENT SPEC" abaixo.

note: type: Labeled list
en: -/ <path>
pt_BR: -/ <caminho>

note: type: Plain text
en: Exclude selected depot paths when cloning or syncing.
pt_BR: Exclua os caminhos selecionados do depósito durante a clonagem ou sincronização.

note: type: Title ~
en: Clone options
pt_BR: Opções de clonagem

note: type: Plain text
en: These options can be used in an initial 'clone', along with the 'sync' options described above.
pt_BR: Estas opções podem ser utilizadas em um 'clone' inicial, juntamente com as opções de 'sincronização' descritas acima.

note: type: Labeled list
en: --destination <directory>
pt_BR: --destination <diretório>

note: type: Plain text
en: Where to create the Git repository.  If not provided, the last component in the p4 depot path is used to create a new directory.
pt_BR: Onde criar o repositório Git.  Caso não seja utilizado, o último componente  no depósito p4 é utilizado para criar um novo diretório.

note: type: Plain text
en: Perform a bare clone.  See linkgit:git-clone[1].
pt_BR: Faça uma clonagem simples.  Consulte linkgit:git-clone[1].

note: type: Title ~
en: Submit options
pt_BR: Opções de envio

note: type: Plain text
en: These options can be used to modify 'git p4 submit' behavior.
pt_BR: Estas opções podem ser utilizadas para modificar o comportamento do 'git p4 submit'.

note: type: Plain text
en: Upstream location from which commits are identified to submit to p4.  By default, this is the most recent p4 commit reachable from `HEAD`.
pt_BR: Localização upstream a partir de onde os commits são identificados para envio ao 'p4'.  É predefinido que este é o commit 'p4' mais recente acessível a partir do `HEAD`.

note: type: Plain text
en: Detect renames.  See linkgit:git-diff[1].  Renames will be represented in p4 using explicit 'move' operations.  There is no corresponding option to detect copies, but there are variables for both moves and copies.
pt_BR: Detecte as renomeações.  Consulte linkgit:git-diff[1].  As renomeações serão representadas em p4 utilizando operações 'move' de forma explicita.  Não há opção correspondente para detectar cópias, no entanto há variáveis tanto para mover como copiar.

note: type: Plain text
en: Re-author p4 changes before submitting to p4.  This option requires p4 admin privileges.
pt_BR: Re-escreva as alterações no 'p4' antes de enviá-lo ao 'p4'  Esta opção requer privilégios de administração 'p4'.

note: type: Plain text
en: Export tags from Git as p4 labels. Tags found in Git are applied to the perforce working directory.
pt_BR: Exporte as tags do Git como etiquetas 'p4'. As tags encontradas no Git são aplicadas ao diretório de trabalho do 'perforce'.

note: type: Plain text
en: Show just what commits would be submitted to p4; do not change state in Git or p4.
pt_BR: Mostre apenas quais os commits seriam enviados ao 'p4'; não mude de condição no Git ou no 'p4'.

note: type: Plain text
en: Apply a commit to the p4 workspace, opening, adding and deleting files in p4 as for a normal submit operation.  Do not issue the final "p4 submit", but instead print a message about how to submit manually or revert.  This option always stops after the first (oldest) commit.  Git tags are not exported to p4.
pt_BR: Aplique um commit ao espaço de trabalho 'p4', abrindo, adicionando e excluindo os arquivos no 'p4' como para uma operação normal de envio.  Não emita o "p4 submit" final, mas exiba uma mensagem sobre como enviar manualmente ou como reverter.  Esta opção sempre é interrompida após o primeiro commit (mais antigo).  As tags Git não são exportadas para o 'p4'.

note: type: Plain text
en: Instead of submitting create a series of shelved changelists.  After creating each shelve, the relevant files are reverted/deleted.  If you have multiple commits pending multiple shelves will be created.
pt_BR: Em vez de enviar, crie uma série de listas de alterações que foram arquivadas.  Depois de criar cada prateleira, os arquivos relevantes são revertidos/excluídos.  Caso tenha vários commits pendentes, várias prateleiras serão criadas.

note: type: Plain text
en: Update an existing shelved changelist with this commit. Implies --shelve. Repeat for multiple shelved changelists.
pt_BR: Atualize uma lista de alterações existentes que foram arquivadas com este commit. Implica no uso da opção `--shelve`. Repita o procedimento para as várias listas de alterações que foram arquivadas.

note: type: Plain text
en: Conflicts can occur when applying a commit to p4.  When this happens, the default behavior ("ask") is to prompt whether to skip this commit and continue, or quit.  This option can be used to bypass the prompt, causing conflicting commits to be automatically skipped, or to quit trying to apply commits, without prompting.
pt_BR: Podem ocorrer conflitos durante a aplicação de um commit ao 'p4'.  Quando isso acontece, o comportamento predefinido ("ask") é perguntar se você deve ignorar este commit e continuar ou encerrar.  Esta opção pode ser utilizada para ignorar o prompt, fazendo com que os commits conflitantes sejam ignorados automaticamente ou pare de tentar aplicar os commits sem nenhum alerta.

note: type: Labeled list
en: --branch <branch>
pt_BR: --branch <ramo>

note: type: Plain text
en: After submitting, sync this named branch instead of the default p4/master.  See the "Sync options" section above for more information.
pt_BR: Após o envio, sincronize esta ramificação informada em vez da predefinição 'p4/master'.  Consulte a seção "Opções de sincronização" acima para obter mais informações.

note: type: Plain text
en: Submit only the specified commit or range of commits, instead of the full list of changes that are in the current Git branch.
pt_BR: Envie apenas o commit ou o intervalo dos commits informados, em vez da lista completa de alterações que estão no ramo Git atual.

note: type: Plain text
en: Disable the automatic rebase after all commits have been successfully submitted. Can also be set with git-p4.disableRebase.
pt_BR: Desative a nova reconstrução automática depois que todos os commits forem enviados com êxito. Também pode ser definido com git-p4.disableRebase.

note: type: Plain text
en: Disable the automatic sync of p4/master from Perforce after commits have been submitted. Implies --disable-rebase. Can also be set with git-p4.disableP4Sync. Sync with origin/master still goes ahead if possible.
pt_BR: Desative a sincronização automática do 'p4/master' do "Perforce" depois que os commits tenham sido enviados. Implica no uso da opção `--disable-rebase`. Também pode ser definido com git-p4.disableP4Sync. A sincronização com 'origin/master' se for possível ainda continua.

note: type: Title -
en: Hooks for submit
pt_BR: Ganchos para envio

note: type: Plain text
en: The `p4-pre-submit` hook is executed if it exists and is executable.  The hook takes no parameters and nothing from standard input. Exiting with non-zero status from this script prevents `git-p4 submit` from launching.  It can be bypassed with the `--no-verify` command line option.
pt_BR: O gancho `p4-pre-submit` é executado caso exista e seja executável.  O gancho não aceita os parâmetros e nada da entrada padrão. Encerrando com uma condição diferente de zero deste script impede a execução do `git-p4 submit`.  Pode ser contornada com a opção da linha de comando `--no-verify`.

note: type: Plain text
en: One usage scenario is to run unit tests in the hook.
pt_BR: Um cenário para a sua utilização é executar os testes da unidade no gancho.

note: type: Plain text
en: The `p4-prepare-changelist` hook is executed right after preparing the default changelist message and before the editor is started.  It takes one parameter, the name of the file that contains the changelist text. Exiting with a non-zero status from the script will abort the process.
pt_BR: O gancho `p4-prepare-changelist` é executado bem depois de preparar a mensagem da lista de alterações predefinida e antes que o editor seja iniciado.  É necessário um único parâmetro, o nome do arquivo que contenha o texto da lista das alterações. Encerrando com uma condição diferente de zero, faz com que o processo seja interrompido.

note: type: Plain text
en: The purpose of the hook is to edit the message file in place, and it is not supressed by the `--no-verify` option. This hook is called even if `--prepare-p4-only` is set.
pt_BR: O propósito do gancho é para editar a mensagem do arquivo em questão, e não é sobreposto pela opção `--no-verify`. Este gancho é chamado mesmo que a opção `--prepare-p4-only` seja definida.

note: type: Plain text
en: The `p4-changelist` hook is executed after the changelist message has been edited by the user. It can be bypassed with the `--no-verify` option. It takes a single parameter, the name of the file that holds the proposed changelist text. Exiting with a non-zero status causes the command to abort.
pt_BR: O gancho `p4-changelist` é executado depois que mensagem da lista de alterações tenha sido editada pelo usuário. Pode ser ignorado com a opção `--no-check`. É necessário um único parâmetro, o nome do arquivo que contenha o texto da lista das alterações propostas. Encerre com uma condição diferente de zero, faz com que o comando seja cancelado.

note: type: Plain text
en: The hook is allowed to edit the changelist file and can be used to normalize the text into some project standard format. It can also be used to refuse the Submit after inspect the message file.
pt_BR: O gancho tem permissão para editar o arquivo da lista de alterações e pode ser utilizado para normalizar o texto em algum formato predefinido pelo projeto. Também pode ser utilizado para recusar o envio após a inspeção da mensagem do arquivo.

note: type: Plain text
en: The `p4-post-changelist` hook is invoked after the submit has successfully occured in P4. It takes no parameters and is meant primarily for notification and cannot affect the outcome of the git p4 submit action.
pt_BR: O gancho `p4-post-changelist` é executado depois que o envio tenha ocorrido com êxito no P4. Não precisa de quaisquer parâmetros e serve primeiramente para notificações e pode não afetar o resultado da ação do comando 'git p4 submit'.

note: type: Title ~
en: Rebase options
pt_BR: Opções para a reconstrução da fundação

note: type: Plain text
en: These options can be used to modify 'git p4 rebase' behavior.
pt_BR: Essas opções podem ser utilizadas para modificar o comportamento do 'git p4 rebase'.

note: type: Plain text
en: Import p4 labels.
pt_BR: Importe as etiquetas p4.

note: type: Title ~
en: Unshelve options
pt_BR: Desfazer as opções

note: type: Plain text
en: Sets the git refspec against which the shelved P4 changelist is compared.  Defaults to p4/master.
pt_BR: Define o 'git refspec' onde a lista de alterações 'P4' que foi arquivada é comparada.  A predefinição retorna para 'p4/master'.

note: type: Title -
en: DEPOT PATH SYNTAX
pt_BR: SINTAXE DO CAMINHO DO DEPÓSITO

note: type: Plain text
en: The p4 depot path argument to 'git p4 sync' and 'git p4 clone' can be one or more space-separated p4 depot paths, with an optional p4 revision specifier on the end:
pt_BR: O argumento do caminho do depósito p4 para o comando 'git p4 sync' e o 'git p4 clone' pode ser um ou mais caminhos para o depósito p4 separados com espaço, com um especificador opcional da revisão p4 no final:

note: type: Plain text
en: Import one commit with all files in the '#head' change under that tree.
pt_BR: Importe um commit com todos os arquivos na alteração '#head' sob essa árvore.

note: type: Plain text
en: Import one commit for each change in the history of that depot path.
pt_BR: Importe um commit para cada alteração no histórico desse caminho do depósito.

note: type: Plain text
en: Import only changes 1 through 6.
pt_BR: Importe apenas as alterações entre '1' a '6'.

note: type: Plain text
en: Import all changes from both named depot paths into a single repository.  Only files below these directories are included.  There is not a subdirectory in Git for each "proj1" and "proj2".  You must use the `--destination` option when specifying more than one depot path.  The revision specifier must be specified identically on each depot path.  If there are files in the depot paths with the same name, the path with the most recently updated version of the file is the one that appears in Git.
pt_BR: Importe todas as alterações dos dois caminhos do depósito informados para um único repositório.  Somente os arquivos abaixo destes diretórios estão incluídos.  Não há um subdiretório no Git para cada "proj1" e "proj2".  Você deve utilizar a opção `--destination` ao informar mais de um caminho do depósito.  O especificador de revisão deve ser definido de forma idêntica em cada caminho do depósito.  Caso haja os arquivos com o mesmo nome nos caminhos do depósito, o caminho com a versão atualizada mais recente do arquivo é o que irá aparecer no Git.

note: type: Plain text
en: See 'p4 help revisions' for the full syntax of p4 revision specifiers.
pt_BR: Consulte 'revisões de ajuda p4' para obter a sintaxe completa dos especificadores da revisão p4.

note: type: Title -
en: CLIENT SPEC
pt_BR: ESPECIFICAÇÃO DO CLIENTE

note: type: Plain text
en: The p4 client specification is maintained with the 'p4 client' command and contains among other fields, a View that specifies how the depot is mapped into the client repository.  The 'clone' and 'sync' commands can consult the client spec when given the `--use-client-spec` option or when the useClientSpec variable is true.  After 'git p4 clone', the useClientSpec variable is automatically set in the repository configuration file.  This allows future 'git p4 submit' commands to work properly; the submit command looks only at the variable and does not have a command-line option.
pt_BR: A definição do cliente p4 é mantida com o comando 'p4 client' e contém, entre os outros campos, uma visualização que define como o depósito é mapeado no repositório do cliente.  Os comandos 'clone' e 'sync' podem consultar a especificação do cliente quando receber a opção `--use-client-spec` ou quando a variável `useClientSpec` for verdadeira.  Após o 'git p4 clone', a variável `useClientSpec` é automaticamente definida no arquivo de configuração do repositório.  Isso permite que futuros comandos `git p4 submit` funcionem corretamente; o comando 'submit' examina apenas a variável e não possui uma opção na linha de comando.

note: type: Plain text
en: The full syntax for a p4 view is documented in 'p4 help views'.  'git p4' knows only a subset of the view syntax.  It understands multi-line mappings, overlays with '+', exclusions with '-' and double-quotes around whitespace.  Of the possible wildcards, 'git p4' only handles '...', and only when it is at the end of the path.  'git p4' will complain if it encounters an unhandled wildcard.
pt_BR: A sintaxe completa de uma visualização p4 está documentada em 'p4 help views'.  O comando 'git p4' conhece apenas um subconjunto da sintaxe de visualização.  Ele compreende os mapeamentos das várias linhas, sobreposições com '+', exclusões com '-' e as aspas duplas ao redor do espaço.  Dos possíveis curingas, o 'git p4' manipula apenas '...' e somente quando está no final do caminho.  O 'git p4' irá reclamará caso encontre um curinga sem tratamento.

note: type: Plain text
en: Bugs in the implementation of overlap mappings exist.  If multiple depot paths map through overlays to the same location in the repository, 'git p4' can choose the wrong one.  This is hard to solve without dedicating a client spec just for 'git p4'.
pt_BR: Existem bugs na implementação dos mapeamentos da sobreposição.  Caso vários caminhos do depósito mapearem as sobreposições para o mesmo local no repositório, 'git p4' poderá escolher o caminho errado.  Isso é difícil de resolver sem dedicar um cliente específico apenas ao 'git p4'.

note: type: Plain text
en: The name of the client can be given to 'git p4' in multiple ways.  The variable 'git-p4.client' takes precedence if it exists.  Otherwise, normal p4 mechanisms of determining the client are used: environment variable `P4CLIENT`, a file referenced by `P4CONFIG`, or the local host name.
pt_BR: O nome do cliente pode ser atribuído ao 'git p4' de várias maneiras.  A variável 'git-p4.client' tem precedência, caso exista.  Caso contrário, são utilizados os mecanismos p4 tradicionais para determinar o cliente utilizado: a variável de ambiente `P4CLIENT`, um arquivo referenciado por `P4CONFIG` ou o nome do host local.

note: type: Title -
en: BRANCH DETECTION
pt_BR: DETECÇÃO DO RAMO

note: type: Plain text
en: P4 does not have the same concept of a branch as Git.  Instead, p4 organizes its content as a directory tree, where by convention different logical branches are in different locations in the tree.  The 'p4 branch' command is used to maintain mappings between different areas in the tree, and indicate related content.  'git p4' can use these mappings to determine branch relationships.
pt_BR: O P4 não tem o mesmo conceito de ramificação que o Git.  Em vez disso, o p4 organiza o seu conteúdo como uma árvore de diretórios, onde por convenção de diferentes ramificações lógicas que ficam nos diferentes locais da árvore.  O comando 'p4 branch' é usado para manter os mapeamentos entre as diferentes áreas da árvore e indicar o conteúdo relacionado.  O 'git p4' pode utilizar esses mapeamentos para determinar os relacionamentos dos ramos.

note: type: Plain text
en: If you have a repository where all the branches of interest exist as subdirectories of a single depot path, you can use `--detect-branches` when cloning or syncing to have 'git p4' automatically find subdirectories in p4, and to generate these as branches in Git.
pt_BR: Caso você possua um repositório onde todas as ramificações de interesse existam como subdiretórios de um único caminho do depósito, é possível utilizar o comando `--detect-branches` durante a clonagem ou sincronização para que o comando 'git p4' encontre automaticamente os subdiretórios p4 e gere-os como os ramos no Git.

note: type: Plain text
en: For example, if the P4 repository structure is:
pt_BR: Por exemplo, se a estrutura do repositório P4 for:

note: type: Plain text
en: And "p4 branch -o branch1" shows a View line that looks like:
pt_BR: E "p4 branch -o branch1" mostra uma linha View que se parece com:

note: type: Plain text
en: Then this 'git p4 clone' command:
pt_BR: Então este comando 'git p4 clone':

note: type: Plain text
en: produces a separate branch in 'refs/remotes/p4/' for //depot/main, called 'master', and one for //depot/branch1 called 'depot/branch1'.
pt_BR: produz uma ramificação separada em 'refs/remotes/p4/' para '//depot/main', chamado 'master', e uma para '//depot/branch1' chamada 'depot/branch1'.

note: type: Plain text
en: However, it is not necessary to create branches in p4 to be able to use them like branches.  Because it is difficult to infer branch relationships automatically, a Git configuration setting 'git-p4.branchList' can be used to explicitly identify branch relationships.  It is a list of "source:destination" pairs, like a simple p4 branch specification, where the "source" and "destination" are the path elements in the p4 repository.  The example above relied on the presence of the p4 branch.  Without p4 branches, the same result will occur with:
pt_BR: No entanto, não é necessário criar as ramificações p4 para poder utilizá-las como ramificações.  Como é difícil inferir nos relacionamentos da ramificação de forma automática, uma configuração Git 'git-p4.branchList' pode ser usada para identificar de forma explicita os relacionamentos da ramificação.  É uma lista de pares "source:destination", como uma especificação p4 simples do ramo onde "origem" e "destino" são os elementos do caminho no repositório p4.  O exemplo acima se baseou na presença do ramo p4.  Sem os ramos p4, o mesmo resultado ocorrerá com:

note: type: Plain text
en: The fast-import mechanism used by 'git p4' creates one pack file for each invocation of 'git p4 sync'.  Normally, Git garbage compression (linkgit:git-gc[1]) automatically compresses these to fewer pack files, but explicit invocation of 'git repack -adf' may improve performance.
pt_BR: O mecanismo de importação rápida usado pelo 'git p4' cria um arquivo de pacote para cada chamada do 'git p4 sync'.  Normalmente, a compactação de lixo do Git (linkgit:git-gc[1]) as compacta de forma automática com menos arquivos no pacote, porém a chamada explícita do comando 'git repack -adf' pode ajudar a melhorar o desempenho.

note: type: Plain text
en: The following config settings can be used to modify 'git p4' behavior.  They all are in the 'git-p4' section.
pt_BR: As seguintes configurações podem ser usadas para alterar o comportamento do 'git p4'.  Todos eles estão na seção 'git-p4'.

note: type: Title ~
en: General variables
pt_BR: Variáveis gerais

note: type: Plain text
en: User specified as an option to all p4 commands, with '-u <user>'.  The environment variable `P4USER` can be used instead.
pt_BR: Usuário especificado como uma opção para todos os comandos p4, com '-u <usuário>'.  A variável de ambiente `P4USER` pode ser utilizada.

note: type: Plain text
en: Password specified as an option to all p4 commands, with '-P <password>'.  The environment variable `P4PASS` can be used instead.
pt_BR: Uma senha definida como uma opção para todos os comandos p4, com '-P <senha>'.  A variável de ambiente `P4PASS` pode ser utilizada.

note: type: Plain text
en: Port specified as an option to all p4 commands, with '-p <port>'.  The environment variable `P4PORT` can be used instead.
pt_BR: Uma porta definida como uma opção para todos os comandos p4, com '-p <porta>'.  A variável de ambiente `P4PORT` pode ser utilizada.

note: type: Plain text
en: Host specified as an option to all p4 commands, with '-h <host>'.  The environment variable `P4HOST` can be used instead.
pt_BR: O host definido como uma opção para todos os comandos p4, com '-h <host>'.  A variável de ambiente `P4HOST` pode ser utilizada.

note: type: Plain text
en: Client specified as an option to all p4 commands, with '-c <client>', including the client spec.
pt_BR: Específico do cliente como uma opção para todos os comandos p4, com '-c <cliente>', incluindo a definição do cliente.

note: type: Plain text
en: Specifies the number of times to retry a p4 command (notably, 'p4 sync') if the network times out. The default value is 3.  Set the value to 0 to disable retries or if your p4 version does not support retries (pre 2012.2).
pt_BR: Define a quantidade de vezes para tentar novamente um comando p4 (principalmente, 'p4 sync') caso a rede atinja o tempo limite. O valor predefinido é 3.  Define o valor como 0 para desativar as tentativas ou se a sua versão 'p4' não for compatível com tentativas (anteriores a versão 2012.2).

note: type: Title ~
en: Clone and sync variables
pt_BR: Variáveis de clonagem e sincronização

note: type: Plain text
en: Because importing commits from other Git repositories is much faster than importing them from p4, a mechanism exists to find p4 changes first in Git remotes.  If branches exist under 'refs/remote/origin/p4', those will be fetched and used when syncing from p4.  This variable can be set to 'false' to disable this behavior.
pt_BR: Como a importação dos commits dos outros repositórios Git é muito mais rápido do que a importação através do 'p4', existe um mecanismo para encontrar as alterações 'p4' primeiro nos ramos remotos do Git.  Caso existam ramos em 'refs/remote/origin/p4', elas serão buscadas e utilizada durante a sincronização a partir do 'p4'.  Para desativar esse comportamento, esta variável pode ser definida como 'false'.

note: type: Plain text
en: One phase in branch detection involves looking at p4 branches to find new ones to import.  By default, all branches are inspected.  This option limits the search to just those owned by the single user named in the variable.
pt_BR: Uma fase na detecção do ramo envolve olhar para os ramos 'p4' para encontrar os novos que serão importados.  É predefinido que todas as ramificações sejam inspecionadas.  Essa opção limita a pesquisa apenas àqueles pertencentes ao único usuário informado na variável.

note: type: Plain text
en: List of branches to be imported when branch detection is enabled.  Each entry should be a pair of branch names separated by a colon (:).  This example declares that both branchA and branchB were created from main:
pt_BR: A lista dos ramos que serão importados quando a detecção da ramificação estiver ativo.  Cada entrada deve ser um par dos nomes das ramificações separados por dois pontos (:).  Este exemplo declara que 'branchA' e 'branchB' foram criados a partir de 'main':

note: type: Plain text
en: List of p4 labels to ignore. This is built automatically as unimportable labels are discovered.
pt_BR: Lista das etiquetas p4 que serão ignoradas. Isso é criado automaticamente à medida que etiquetas não importantes forem descobertas.

note: type: Plain text
en: Import p4 labels into git, as per --import-labels.
pt_BR: Importe os rótulos p4 para o git, conforme --import-labels.

note: type: Plain text
en: Only p4 labels matching this regular expression will be imported. The default value is '[a-zA-Z0-9_\-.]+$'.
pt_BR: Apenas os rótulos 'p4' coincidentes com esta expressão regular serão importados. O valor predefinido é '[a-zA-Z0-9_\-.]+$'.

note: type: Plain text
en: Specify that the p4 client spec should be used to identify p4 depot paths of interest.  This is equivalent to specifying the option `--use-client-spec`.  See the "CLIENT SPEC" section above.  This variable is a boolean, not the name of a p4 client.
pt_BR: Define que a especificação do cliente p4 deve ser utilizada para identificar os caminhos de interesse do depósito 'p4'.  Isto é o mesmo que utilizar a opção `--use-client-spec`.  Consulte a seção "ESPECIFICAÇÃO DO CLIENTE" acima.  Essa variável é um booleano e não o nome de um cliente 'p4'.

note: type: Plain text
en: Perforce keeps the encoding of a path as given by the originating OS.  Git expects paths encoded as UTF-8. Use this config to tell git-p4 what encoding Perforce had used for the paths. This encoding is used to transcode the paths to UTF-8. As an example, Perforce on Windows often uses "cp1252" to encode path names.
pt_BR: O 'Perforce' mantém a codificação de um caminho conforme seja informado pelo sistema operacional da origem.  O Git espera que os caminhos sejam codificados como UTF-8. Utilize esta configuração para informar ao git-p4 qual a codificação que o Perforce utilizou para os caminhos. Essa codificação é utilizada para transcodificar os caminhos para UTF-8. Como exemplo, o "Perforce" no Windows geralmente utilizam "cp1252" para codificar os nomes dos caminhos.

note: type: Plain text
en: Specify the system that is used for large (binary) files. Please note that large file systems do not support the 'git p4 submit' command.  Only Git LFS is implemented right now (see https://git-lfs.github.com/ for more information). Download and install the Git LFS command line extension to use this option and configure it like this:
pt_BR: Especifique o sistema utilizado para os arquivos (binários) grandes. Observe que os sistemas dos arquivos grandes não são compatíveis o comando 'git p4 submit'.  Apenas o 'Git LFS' está implementado no momento (consulte https://git-lfs.github.com/ para obter mais informações). Baixe e instale a extensão da linha de comando do 'Git LFS' para utilizar esta opção e configurá-la da seguinte maneira:

note: type: Plain text
en: All files matching a file extension in the list will be processed by the large file system. Do not prefix the extensions with '.'.
pt_BR: Todos os arquivos que coincidam com uma extensão do arquivo na lista serão processados pelo grande sistema de arquivos. Não prefixe as extensões com '.'.

note: type: Plain text
en: All files with an uncompressed size exceeding the threshold will be processed by the large file system. By default the threshold is defined in bytes. Add the suffix k, m, or g to change the unit.
pt_BR: Todos os arquivos onde seu tamanho descompactado exceda o limite, os maiores arquivos serão processados pelo sistema. A predefinição retorna para que o limite seja definido em bytes. Adicione o sufixo 'k', 'm' ou 'g' para alterar a unidade.

note: type: Plain text
en: All files with a compressed size exceeding the threshold will be processed by the large file system. This option might slow down your clone/sync process. By default the threshold is defined in bytes. Add the suffix k, m, or g to change the unit.
pt_BR: All files with a compressed size exceeding the threshold will be processed by the large file system. This option might slow down your clone/sync process. É predefinido que o limite seja definido em bytes. Adicione o sufixo 'k', 'm' ou 'g' para alterar a unidade.

note: type: Plain text
en: Boolean variable which defines if large files are automatically pushed to a server.
pt_BR: A variável booleana que define se arquivos grandes são automaticamente enviados para um servidor.

note: type: Plain text
en: A changelist that contains only excluded files will be imported as an empty commit if this boolean option is set to true.
pt_BR: Uma lista de alterações que contenha apenas com os arquivos que foram excluídos será importada como um commit vazia, caso esta opção estiver configurada como 'true'.

note: type: Plain text
en: Map a P4 user to a name and email address in Git. Use a string with the following format to create a mapping:
pt_BR: Mapeie um usuário 'P4' para um nome e endereço de e-mail no Git. Para criar um mapeamento, utilize uma sequência com o seguinte formato:

note: type: delimited block -
en: git config --add git-p4.mapUser "p4user = First Last <mail@address.com>"
pt_BR: git config --add git-p4.mapUser "p4user = Primeiro Último <mail@address.com>"

note: type: Plain text
en: A mapping will override any user information from P4. Mappings for multiple P4 user can be defined.
pt_BR: Um mapeamento substituirá quaisquer informações do usuário do 'P4'. Os mapeamentos para os vários usuários 'P4' podem ser definidos.

note: type: Title ~
en: Submit variables
pt_BR: Envie as variáveis

note: type: Plain text
en: Detect renames.  See linkgit:git-diff[1].  This can be true, false, or a score as expected by 'git diff -M'.
pt_BR: Detecte as renomeações.  Consulte linkgit:git-diff[1].  Pode ser 'true', 'false' ou uma pontuação conforme é o esperado pelo comando 'git diff -M'.

note: type: Plain text
en: Detect copies.  See linkgit:git-diff[1].  This can be true, false, or a score as expected by 'git diff -C'.
pt_BR: Detecta cópias.  Consulte linkgit:git-diff[1].  Pode ser 'true', 'false' ou uma pontuação conforme é o esperado pelo comando 'git diff -C'.

note: type: Plain text
en: Detect copies harder.  See linkgit:git-diff[1].  A boolean.
pt_BR: Detecte cópias com mais vigor.  Consulte linkgit:git-diff[1].  A boolean.

note: type: Plain text
en: On submit, re-author changes to reflect the Git author, regardless of who invokes 'git p4 submit'.
pt_BR: Ao enviar, recrie as alterações do usuário para refletir o autor do Git, independentemente de quem chame o comando 'git p4 submit'.

note: type: Plain text
en: When 'preserveUser' is true, 'git p4' normally dies if it cannot find an author in the p4 user map.  This setting submits the change regardless.
pt_BR: Quando 'preserveUser' for verdadeiro, o comando 'git p4' normalmente é encerrado caso não consiga encontrar um autor no mapa do usuário p4.  Esta configuração envia as alterações independentemente de qualquer coisa.

note: type: Plain text
en: The submit process invokes the editor before each p4 change is submitted.  If this setting is true, though, the editing step is skipped.
pt_BR: O processo de envio chama o editor antes de cada alteração no 'p4' que será enviado.  Caso esta configuração seja verdadeira, a etapa de edição será ignorada.

note: type: Plain text
en: After editing the p4 change message, 'git p4' makes sure that the description really was changed by looking at the file modification time.  This option disables that test.
pt_BR: Após editar a mensagem de alteração 'p4', o comando 'git p4' garante que a descrição realmente foi alterada observando a hora da modificação do arquivo.  Esta opção desativa este teste.

note: type: Plain text
en: By default, any branch can be used as the source for a 'git p4 submit' operation.  This configuration variable, if set, permits only the named branches to be used as submit sources.  Branch names must be the short names (no "refs/heads/"), and should be separated by commas (","), with no spaces.
pt_BR: É predefinido que qualquer ramo possa ser utilizado como uma fonte para uma operação 'git p4 submit'.  Esta variável de configuração, se definida, permite que apenas os ramos informado sejam utilizados  como as fontes para envio.  Os nomes das ramificações devem ser os nomes abreviados (sem "refs/heads/") e devem ser separados por vírgulas (",") e sem espaços.

note: type: Plain text
en: If the user running 'git p4 submit' does not exist in the p4 user map, 'git p4' exits.  This option can be used to force submission regardless.
pt_BR: Caso o usuário executando o comando 'git p4 submit' não existir no mapa do usuário p4, o 'git p4' será encerrado.  Esta opção pode ser utilizada para impor o envio mesmo assim.

note: type: Plain text
en: If enabled, 'git p4 submit' will attempt to cleanup RCS keywords ($Header$, etc). These would otherwise cause merge conflicts and prevent the submit going ahead. This option should be considered experimental at present.
pt_BR: Caso seja ativado, o 'git p4 submit' tentará limpar as palavras-chave do RCS ($Header$, etc). Caso contrário, eles causariam conflitos na mesclagem e impediriam que o envio prossiga. no momento, esta opção deve ser considerada experimental.

note: type: Plain text
en: Export Git tags to p4 labels, as per --export-labels.
pt_BR: Exporte as tags Git para os rótulos p4, conforme a opção `--export-labels`.

note: type: Plain text
en: Only p4 labels matching this regular expression will be exported. The default value is '[a-zA-Z0-9_\-.]+$'.
pt_BR: Somente rótulos p4 correspondentes a essa expressão regular serão exportados. O valor predefinido é '[a-zA-Z0-9_\-.]+$'.

note: type: Plain text
en: Specify submit behavior when a conflict with p4 is found, as per --conflict.  The default behavior is 'ask'.
pt_BR: Determina o comportamento de envio quando um conflito com p4 for encontrado, conforme `--conflict`.  O comportamento predefinido é 'ask'.

note: type: Plain text
en: Do not rebase the tree against p4/master following a submit.
pt_BR: Não faça a reconstrução da árvore contra 'p4/master' após um envio.

note: type: Plain text
en: Do not sync p4/master with Perforce following a submit. Implies git-p4.disableRebase.
pt_BR: Não sincronize o 'p4/master' com o "Perforce" após o envio. Implies git-p4.disableRebase.

note: type: Title -
en: IMPLEMENTATION DETAILS
pt_BR: DETALHES DA IMPLEMENTAÇÃO

note: type: Plain text
en: Changesets from p4 are imported using Git fast-import.
pt_BR: Os conjuntos de alterações 'p4' são importados utilizando a importação rápida do Git.

note: type: Plain text
en: Cloning or syncing does not require a p4 client; file contents are collected using 'p4 print'.
pt_BR: A clonagem ou a sincronização não requer um cliente 'p4'; o conteúdo do arquivo é coletado utilizando 'p4 print'.

note: type: Plain text
en: Submitting requires a p4 client, which is not in the same location as the Git repository.  Patches are applied, one at a time, to this p4 client and submitted from there.
pt_BR: O envio requer um cliente 'p4', que não esteja no mesmo local que o repositório Git.  Os patches são aplicados, um de cada vez neste cliente 'p4' e enviados a partir daí.

note: type: Plain text
en: Each commit imported by 'git p4' has a line at the end of the log message indicating the p4 depot location and change number.  This line is used by later 'git p4 sync' operations to know which p4 changes are new.
pt_BR: Cada commit importado pelo 'git p4' possui uma linha no final da mensagem do registro log indicando a localização do depósito p4 e o número da alteração.  Esta linha é utilizada pelas operações posteriores do 'git p4 sync' para saber quais foram alterações do p4 são novas.

note: type: Plain text
en: git-pack-objects - Create a packed archive of objects
pt_BR: git-pack-objects - Crie um arquivo compactado dos objetos

note: type: Plain text
en: 'git pack-objects' [-q | --progress | --all-progress] [--all-progress-implied]
    	[--no-reuse-delta] [--delta-base-offset] [--non-empty]
    	[--local] [--incremental] [--window=<n>] [--depth=<n>]
    	[--revs [--unpacked | --all]] [--keep-pack=<pack-name>]
    	[--stdout [--filter=<filter-spec>] | base-name]
    	[--shallow] [--keep-true-parents] [--[no-]sparse] < object-list
pt_BR: 'git pack-objects' [-q | --progress | --all-progress] [--all-progress-implied]
    	[--no-reuse-delta] [--delta-base-offset] [--non-empty]
    	[--local] [--incremental] [--window=<n>] [--depth=<n>]
    	[--revs [--unpacked | --all]] [--keep-pack=<nome-do-pacote>]
    	[--stdout [--filter=<filter-spec>] | base-name]
    	[--shallow] [--keep-true-parents] [--[no-]sparse] < object-list

note: type: Plain text
en: Reads list of objects from the standard input, and writes either one or more packed archives with the specified base-name to disk, or a packed archive to the standard output.
pt_BR: Lê a lista dos objetos da entrada padrão e grava um ou mais arquivos compactados com o nome da base informada no disco ou em um arquivo compactado na saída padrão.

note: type: Plain text
en: A packed archive is an efficient way to transfer a set of objects between two repositories as well as an access efficient archival format.  In a packed archive, an object is either stored as a compressed whole or as a difference from some other object.  The latter is often called a delta.
pt_BR: Um arquivo compactado é uma maneira eficiente de transferir um conjunto de objetos entre dois repositórios, bem como um formato de arquivamento de acesso eficiente.  Em um arquivo compactado, ou um objeto é armazenado como um todo de forma compactada ou como uma diferença de um outro objeto.  O último é frequentemente chamado de delta.

note: type: Plain text
en: The packed archive format (.pack) is designed to be self-contained so that it can be unpacked without any further information. Therefore, each object that a delta depends upon must be present within the pack.
pt_BR: O formato do arquivo compactado (.pack) foi projetado para ser independente, para que possa ser descompactado sem nenhuma informação adicional. Portanto, cada objeto onde um delta seja dependente, deve estar presente no pacote.

note: type: Plain text
en: A pack index file (.idx) is generated for fast, random access to the objects in the pack. Placing both the index file (.idx) and the packed archive (.pack) in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or any of the directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES)  enables Git to read from the pack archive.
pt_BR: Um arquivo do índice do pacote (.idx) é gerado para ter um acesso rápido e aleatório aos objetos no pacote. Colocando ambos os arquivo do índice (.idx) e o arquivo compactado (.pack) no subdiretório do pack/ `$GIT_OBJECT_DIRECTORY` (ou qualquer um dos diretórios em `$GIT_ALTERNATE_OBJECT_DIRECTORIES`) permite que o Git leia o arquivo compactado.

note: type: Plain text
en: The 'git unpack-objects' command can read the packed archive and expand the objects contained in the pack into "one-file one-object" format; this is typically done by the smart-pull commands when a pack is created on-the-fly for efficient network transport by their peers.
pt_BR: O comando 'git unpack-objects' pode ler o arquivo compactado e expandir os objetos existentes no pacote no formato "um-arquivo, um-objeto"; isso geralmente é feito pelos comandos 'smart-pull' quando um pacote é criado em tempo real por um transporte de rede eficiente pelos seus pares.

note: type: Plain text
en: Write into pairs of files (.pack and .idx), using <base-name> to determine the name of the created file.  When this option is used, the two files in a pair are written in <base-name>-<SHA-1>.{pack,idx} files.  <SHA-1> is a hash based on the pack content and is written to the standard output of the command.
pt_BR: Escreva em pares de arquivos (.pack e .idx), utilizando <nome-base> para determinar o nome do arquivo que foi criado.  Quando essa opção é utilizada, os dois arquivos em um par são gravados nos arquivos <nome-base>-<SHA-1>.{pack,idx}.  O <SHA-1> é um hash baseado no conteúdo do pacote e é gravado na saída padrão do comando.

note: type: Plain text
en: Write the pack contents (what would have been written to .pack file) out to the standard output.
pt_BR: Escreva o conteúdo do pacote (o que teria sido gravado no arquivo .pack) na saída padrão.

note: type: Plain text
en: Read the revision arguments from the standard input, instead of individual object names.  The revision arguments are processed the same way as 'git rev-list' with the `--objects` flag uses its `commit` arguments to build the list of objects it outputs.  The objects on the resulting list are packed.  Besides revisions, `--not` or `--shallow <SHA-1>` lines are also accepted.
pt_BR: Leia os argumentos da revisão da entrada padrão em vez dos nomes dos objetos individuais.  Os argumentos da revisão são processados da mesma maneira que o comando 'git rev-list' faz com o comando `--objects`, utiliza no seus argumentos `commit` para construir a lista dos objetos que ele gera.  Os objetos na lista resultante são compactados.  Além das revisões, as linhas `--not` ou `--shallow <SHA-1>` também são aceitas.

note: type: Plain text
en: This implies `--revs`.  When processing the list of revision arguments read from the standard input, limit the objects packed to those that are not already packed.
pt_BR: Implica no uso da opção `--revs`.  Ao processar a lista dos argumentos da revisão lidos a partir da entrada padrão, limite os objetos compactados àqueles que ainda não foram compactados.

note: type: Plain text
en: This implies `--revs`.  In addition to the list of revision arguments read from the standard input, pretend as if all refs under `refs/` are specified to be included.
pt_BR: Implica no uso da opção `--revs`.  Além da lista de argumentos da revisão lidos na entrada padrão, finja que todas as refs em `refs/` estão definidas para serem incluídas.

note: type: Plain text
en: Include unasked-for annotated tags if the object they reference was included in the resulting packfile.  This can be useful to send new tags to native Git clients.
pt_BR: Inclua as anotações das tags que não foram solicitadas caso o objeto a que se referirem tenha sido incluído no arquivo do pacote resultante.  Pode ser útil para enviar as novas tags para os clientes nativos do Git.

note: type: Plain text
en: These two options affect how the objects contained in the pack are stored using delta compression.  The objects are first internally sorted by type, size and optionally names and compared against the other objects within --window to see if using delta compression saves space.  --depth limits the maximum delta depth; making it too deep affects the performance on the unpacker side, because delta data needs to be applied that many times to get to the necessary object.
pt_BR: Essas duas opções afetam como os objetos existentes no pacote são armazenados utilizando a compactação delta.  Os objetos primeiro são classificados internamente pelo tipo, tamanho e opcionalmente os nomes e comparados com os outros objetos existentes da opção `--window` para ver se a utilização da compactação delta economiza espaço.  A opção --depth limita a profundidade máxima do delta; torná-lo muito profundo afeta o desempenho do lado do desempacotador, porque os dados delta precisam ser aplicados muitas vezes para chegar ao objeto necessário.

note: type: Plain text
en: The default value for --window is 10 and --depth is 50. The maximum depth is 4095.
pt_BR: O valor predefinido para a opção `--window` é 10 e o `--thp` é 50. O valor da profundidade máxima é 4095.

note: type: Plain text
en: This option provides an additional limit on top of `--window`; the window size will dynamically scale down so as to not take up more than '<n>' bytes in memory.  This is useful in repositories with a mix of large and small objects to not run out of memory with a large window, but still be able to take advantage of the large window for the smaller objects.  The size can be suffixed with "k", "m", or "g".  `--window-memory=0` makes memory usage unlimited.  The default is taken from the `pack.windowMemory` configuration variable.
pt_BR: Esta opção fornece um limite adicional em cima da opção `--window`; o tamanho da janela será reduzido dinamicamente para não ocupar mais do que '<n>' bytes na memória.  É útil nos repositórios com uma mistura de objetos grandes e pequenos para não ficar sem memória com uma janela grande, mas ainda assim pode tirar proveito da janela grande para os objetos menores.  O tamanho pode ter o sufixo "k", "m" ou "g".  A opção `--window-memory=0` torna o uso da memória ilimitado.  A predefinição é obtido da variável de configuração `pack.windowMemory`.

note: type: Plain text
en: In unusual scenarios, you may not be able to create files larger than a certain size on your filesystem, and this option can be used to tell the command to split the output packfile into multiple independent packfiles, each not larger than the given size. The size can be suffixed with "k", "m", or "g". The minimum size allowed is limited to 1 MiB.  This option prevents the creation of a bitmap index.  The default is unlimited, unless the config variable `pack.packSizeLimit` is set.
pt_BR: Em cenários incomuns, talvez você não consiga criar arquivos maiores que um determinado tamanho no seu sistema de arquivos, esta opção pode ser utilizada para dizer ao comando para dividir o arquivo de pacotes que for gerado em vários outros arquivos de pacotes menores, cada um não maior que um tamanho determinado. O tamanho pode ter o sufixo "k", "m" ou "g". O tamanho mínimo permitido é limitado a 1 MiB.  Esta opção impede a criação de um índice bitmap.  A predefinição é ilimitada, a menos que a variável de configuração `pack.packSizeLimit` esteja definida.

note: type: Plain text
en: This flag causes an object already in a local pack that has a .keep file to be ignored, even if it would have otherwise been packed.
pt_BR: Esta opção faz com que um objeto que já esteja em um pacote local que possua um arquivo '.keep' seja ignorado, mesmo que já tivesse sido compactado.

note: type: Labeled list
en: --keep-pack=<pack-name>
pt_BR: --keep-pack=<nome-do-pacote>

note: type: Plain text
en: This flag causes an object already in the given pack to be ignored, even if it would have otherwise been packed. `<pack-name>` is the pack file name without leading directory (e.g. `pack-123.pack`). The option could be specified multiple times to keep multiple packs.
pt_BR: Esta opção faz com que um objeto que já esteja no pacote informado seja ignorado, mesmo que ele tivesse sido compactado. O `<nome-do-pacote>` é o nome do arquivo do pacote sem o diretório principal (como por exemplo, `pack-123.pack`). A opção pode ser utilizada várias vezes para manter os vários pacotes.

note: type: Plain text
en: This flag causes an object already in a pack to be ignored even if it would have otherwise been packed.
pt_BR: Esta opção faz com que um objeto que já esteja em um pacote seja ignorado, mesmo que ele tenha sido compactado.

note: type: Plain text
en: This flag causes an object that is borrowed from an alternate object store to be ignored even if it would have otherwise been packed.
pt_BR: Esta opção faz com que um objeto emprestado de um armazenamento de objetos alternativo seja ignorado, mesmo que já tivesse sido compactado.

note: type: Plain text
en: Only create a packed archive if it would contain at least one object.
pt_BR: Crie apenas um arquivo compactado caso ele contenha pelo menos um objeto.

note: type: Plain text
en: When creating a packed archive in a repository that has existing packs, the command reuses existing deltas.  This sometimes results in a slightly suboptimal pack.  This flag tells the command not to reuse existing deltas but compute them from scratch.
pt_BR: Ao criar um arquivo compactado em um repositório que possua pacotes existentes, o comando reutiliza os deltas ja existentes.  Às vezes, isso resulta em um pacote ligeiramente abaixo do ideal.  Esta opção informa ao comando para não reutilizar os deltas já existentes, mas calcule-os do zero.

note: type: Plain text
en: This flag tells the command not to reuse existing object data at all, including non deltified object, forcing recompression of everything.  This implies --no-reuse-delta. Useful only in the obscure case where wholesale enforcement of a different compression level on the packed data is desired.
pt_BR: Esta opção informa ao comando para não reutilizar os dados já existentes do objeto, incluindo os objetos não "deltificados", forçando a recompressão de tudo.  Implica no uso da opção `--no-reuse-delta`. Útil apenas no caso obscuro onde seja desejada a imposição de um nível de compactação seja diferente dos dados compactados.

note: type: Plain text
en: Specifies compression level for newly-compressed data in the generated pack.  If not specified, pack compression level is determined first by pack.compression, then by core.compression, and defaults to -1, the zlib default, if neither is set.  Add --no-reuse-object if you want to force a uniform compression level on all data no matter the source.
pt_BR: Define o nível de compactação para dados que foram recentemente compactados no pacote que foi gerado.  Caso não seja utilizado, o nível de compactação do pacote será determinado primeiro pelo `pack.compression`, depois pelo `core.compression` onde a predefinição retorna para -1, a predefinição do zlib, caso nenhum estiver definido.  Adicione `--no-reuse-object` quando quiser impor um nível de compactação uniforme em todos os dados, independentemente da origem.

note: type: Plain text
en: Toggle the "sparse" algorithm to determine which objects to include in the pack, when combined with the "--revs" option. This algorithm only walks trees that appear in paths that introduce new objects.  This can have significant performance benefits when computing a pack to send a small change. However, it is possible that extra objects are added to the pack-file if the included commits contain certain types of direct renames. If this option is not included, it defaults to the value of `pack.useSparse`, which is true unless otherwise specified.
pt_BR: Use o algoritmo "esparso" para determinar quais objetos incluir no pacote, quando combinado com a opção "--revs". Esse algoritmo apenas percorre as árvores que aparecem nos caminhos que introduzem os novos objetos.  Isso pode trazer benefícios significativos no desempenho para o cálculo do pacote para envio com uma pequena alteração. No entanto, é possível que os objetos extras sejam adicionados ao arquivo do pacote caso os commits inclusos contenham  certos tipos de renomeações diretas. Caso esta opção não esteja inclusa, retorna ao valor predefinido em `pack.useSparse`, que é verdadeiro a menos que se defina o contrário.

note: type: Plain text
en: Create a "thin" pack by omitting the common objects between a sender and a receiver in order to reduce network transfer. This option only makes sense in conjunction with --stdout.
pt_BR: Crie um pacote "magro" ao omitir objetos comuns entre o remetente e o destinatário visando a redução do tráfego de rede. Esta opção só faz sentido se utilizado em conjunto com `--stdout`.

note: type: Plain text
en: Note: A thin pack violates the packed archive format by omitting required objects and is thus unusable by Git without making it self-contained. Use `git index-pack --fix-thin` (see linkgit:git-index-pack[1]) to restore the self-contained property.
pt_BR: Observação: Um pacote leve viola o formato do arquivo compactado por omitir os objetos necessários e portanto, não pode ser utilizado pelo Git sem torná-lo independente. Para restaurar as propriedades deste pacote utilize o comando `git index-pack --fix-thin` (consulte linkgit:git-index-pack[1]).

note: type: Plain text
en: Optimize a pack that will be provided to a client with a shallow repository.  This option, combined with --thin, can result in a smaller pack at the cost of speed.
pt_BR: Otimize um pacote que será providenciado ao cliente com um repositório superficial.  Esta opção, combinada com `--thin`, pode resultar em um pacote menor ao custo da velocidade.

note: type: Plain text
en: A packed archive can express the base object of a delta as either a 20-byte object name or as an offset in the stream, but ancient versions of Git don't understand the latter.  By default, 'git pack-objects' only uses the former format for better compatibility.  This option allows the command to use the latter format for compactness.  Depending on the average delta chain length, this option typically shrinks the resulting packfile by 3-5 per-cent.
pt_BR: Um arquivo compactado pode expressar o objeto base de um delta como um nome do objeto com 20 bytes ou como uma compensação no fluxo, porém as versões mais antigas do Git não entendem este último.  É predefinido que o comando 'git pack-objects' utilize apenas o formato anterior visando uma melhor compatibilidade.  Esta opção permite que o comando utilize o último formato para compactação.  Dependendo do comprimento médio da cadeia delta, esta opção normalmente reduz o pacote gerado em 3-5%.

note: type: Plain text
en: Note: Porcelain commands such as `git gc` (see linkgit:git-gc[1]), `git repack` (see linkgit:git-repack[1]) pass this option by default in modern Git when they put objects in your repository into pack files.  So does `git bundle` (see linkgit:git-bundle[1]) when it creates a bundle.
pt_BR: Observação: É predefinido que os comandos porcelânicos como os `git gc` (consulte linkgit:git-gc[1]), `git repack` (consulte linkgit:git-repack[1]) encaminhem estas opções nas versões mais recentes do Git ao colocar os objetos em seu repositório dentro dos arquivos de pacotes.  O mesmo acontece com a opção `git bundle` (consulte linkgit:git-bundle[1]) quando é criado um pacote.

note: type: Plain text
en: Specifies the number of threads to spawn when searching for best delta matches.  This requires that pack-objects be compiled with pthreads otherwise this option is ignored with a warning.  This is meant to reduce packing time on multiprocessor machines.  The required amount of memory for the delta search window is however multiplied by the number of threads.  Specifying 0 will cause Git to auto-detect the number of CPU's and set the number of threads accordingly.
pt_BR: Especifica a quantidade de threads a serem gerados durante a pesquisa das melhores correspondências delta.  Isso requer que os objetos do pacote sejam compilados com pthreads, caso contrário esta opção será ignorada e exibindo um aviso.  Isso visa reduzir o tempo do empacotamento em máquinas com multiprocessados.  A quantidade de memória necessária para a janela de pesquisa delta é multiplicada pela quantidade de threads.  Definindo como 0 faz com que o Git detecte automaticamente a quantidade de CPUs e defina a quantidade de threads proporcionalmente.

note: type: Plain text
en: With this option, parents that are hidden by grafts are packed nevertheless.
pt_BR: Com esta opção, as origens são ocultas pelos enxertos são embalados mesmo assim.

note: type: Plain text
en: Requires `--stdout`.  Omits certain objects (usually blobs) from the resulting packfile.  See linkgit:git-rev-list[1] for valid `<filter-spec>` forms.
pt_BR: Requer `--stdout`.  Omite certos objetos (em geral, bolhas) do pacote resultante.  Para formas válidas de `<filter-spec>` consulte linkgit:git-rev-list[1].

note: type: Plain text
en: Turns off any previous `--filter=` argument.
pt_BR: Desliga qualquer argumento `--filter=` anterior.

note: type: Plain text
en: A debug option to help with future "partial clone" development.  This option specifies how missing objects are handled.
pt_BR: Uma opção de depuração para ajudar no desenvolvimento futuro do "clone parcial".  Esta opção especifica como os objetos ausentes são manipulados.

note: type: Plain text
en: The form '--missing=error' requests that pack-objects stop with an error if a missing object is encountered.  This is the default action.
pt_BR: A opção `--missing=error` solicita que os objetos do pacote parem com um erro caso um objeto perdido seja encontrado.  Esta é a ação predefinida.

note: type: Plain text
en: The form '--missing=allow-any' will allow object traversal to continue if a missing object is encountered.  Missing objects will silently be omitted from the results.
pt_BR: O formulário '--missing=allow-any' permitirá que a travessia do objeto continue caso um objeto ausente seja encontrado.  Os objetos ausentes serão omitidos silenciosamente dos resultados.

note: type: Plain text
en: The form '--missing=allow-promisor' is like 'allow-any', but will only allow object traversal to continue for EXPECTED promisor missing objects.  Unexpected missing object will raise an error.
pt_BR: A opção '--missing=allow-promisor' é como `allow-any`, mas só vai permitir que a travessia de objetos continue para os objetos prometedores PREVISTOS.  Os objetos perdidos e inesperados provocarão um erro.

note: type: Plain text
en: Omit objects that are known to be in the promisor remote.  (This option has the purpose of operating only on locally created objects, so that when we repack, we still maintain a distinction between locally created objects [without .promisor] and objects from the promisor remote [with .promisor].)  This is used with partial clone.
pt_BR: Omite os objetos que se sabe estar no ramo remoto.  (Esta opção tem o objetivo de operar apenas nos objetos criados localmente, para que, quando forem reempacotados, ainda mantenhamos uma distinção entre os objetos que foram criados localmente [sem .promisor] e os objetos "promisor" remoto [com .promisor].) Isso é utilizado com clone parcial.

note: type: Plain text
en: Objects unreachable from the refs in packs named with --unpacked= option are added to the resulting pack, in addition to the reachable objects that are not in packs marked with *.keep files. This implies `--revs`.
pt_BR: Os objetos inacessíveis das refs nos pacotes informado com a opção `--unpacked=` são adicionados ao pacote gerado, além dos objetos acessíveis que não estão nos pacotes marcados com arquivos '*.keep'. Implica no uso da opção `--revs`.

note: type: Plain text
en: Pack unreachable loose objects (and their loose counterparts removed). This implies `--revs`.
pt_BR: Embale os objetos soltos que estejam inacessíveis (e as suas contrapartes soltas que foram removidas). Implica no uso da opção `--revs`.

note: type: Plain text
en: Keep unreachable objects in loose form. This implies `--revs`.
pt_BR: Mantenha os objetos inacessíveis de forma solta. Implica no uso da opção `--revs`.

note: type: Plain text
en: Restrict delta matches based on "islands". See DELTA ISLANDS below.
pt_BR: Restrinja a coincidência delta com base nas "ilhas". Consulte ILHAS DELTA abaixo.

note: type: Title -
en: DELTA ISLANDS
pt_BR: ILHAS DELTA

note: type: Plain text
en: When possible, `pack-objects` tries to reuse existing on-disk deltas to avoid having to search for new ones on the fly. This is an important optimization for serving fetches, because it means the server can avoid inflating most objects at all and just send the bytes directly from disk. This optimization can't work when an object is stored as a delta against a base which the receiver does not have (and which we are not already sending). In that case the server "breaks" the delta and has to find a new one, which has a high CPU cost. Therefore it's important for performance that the set of objects in on-disk delta relationships match what a client would fetch.
pt_BR: Quando possível, o `pack-objects` tenta reutilizar os deltas existentes no disco para evitar ter que procurar por novos em tempo real. Esta é uma otimização importante a serviço das buscas (fetch), significa que o servidor pode evitar inflar a maioria dos objetos e enviar os bytes diretamente do disco. Esta otimização pode não funcionar quando um objeto é armazenado como um delta em uma base onde o destinatário não o possua (e que não estamos enviando ainda). Nesse caso, o servidor "quebra" o delta e precisa encontrar um novo, ao custo de um alto processamento. Portanto, é importante para o desempenho que o conjunto dos objetos delta nos relacionamentos com o disco corresponda ao que um cliente buscaria.

note: type: Plain text
en: In a normal repository, this tends to work automatically. The objects are mostly reachable from the branches and tags, and that's what clients fetch. Any deltas we find on the server are likely to be between objects the client has or will have.
pt_BR: Em um repositório normal, isso tende a funcionar de forma automática. Os objetos são acessíveis principalmente a partir dos ramos e tags e é isso que os clientes buscam. Qualquer delta que encontrarmos no servidor, provavelmente estará entre os objetos que o cliente possui ou terá.

note: type: Plain text
en: But in some repository setups, you may have several related but separate groups of ref tips, with clients tending to fetch those groups independently. For example, imagine that you are hosting several "forks" of a repository in a single shared object store, and letting clients view them as separate repositories through `GIT_NAMESPACE` or separate repos using the alternates mechanism. A naive repack may find that the optimal delta for an object is against a base that is only found in another fork. But when a client fetches, they will not have the base object, and we'll have to find a new delta on the fly.
pt_BR: Porém em algumas configurações do repositório, é possível ter vários grupos relacionados, mas separados, das dicas de referência, com os clientes tendendo a buscar estes grupos de forma independente. Por exemplo, imagine que você esteja hospedando várias "bifurcações" de um repositório em um único armazenamento dos objetos compartilhados e permitindo que os clientes os visualizem como repositórios separados por meio de `GIT_NAMESPACE` ou repositórios separados, utilizando o mecanismo alternativo. Um um simples reempacotamento pode achar que o delta ideal para um objeto está contra uma base que é encontrada apenas em outra bifurcação. Porém quando um cliente realiza uma busca, ele não terá o objeto base e teremos que encontrar um novo delta em tempo real.

note: type: Plain text
en: A similar situation may exist if you have many refs outside of `refs/heads/` and `refs/tags/` that point to related objects (e.g., `refs/pull` or `refs/changes` used by some hosting providers). By default, clients fetch only heads and tags, and deltas against objects found only in those other groups cannot be sent as-is.
pt_BR: Uma situação semelhante pode existir caso você tenha muitos refs fora de `refs/heads/` e `refs/tags/` que apontam para os objetos relacionados (por exemplo, `refs/pull` ou `refs/changes` utilizados por alguns provedores de hospedagem). É predefinido que os clientes busquem apenas os cabeçalhos e tags, os deltas nos objetos encontrados apenas nesses outros grupos não podem ser enviados como estão.

note: type: Plain text
en: Delta islands solve this problem by allowing you to group your refs into distinct "islands". Pack-objects computes which objects are reachable from which islands, and refuses to make a delta from an object `A` against a base which is not present in all of `A`'s islands. This results in slightly larger packs (because we miss some delta opportunities), but guarantees that a fetch of one island will not have to recompute deltas on the fly due to crossing island boundaries.
pt_BR: As ilhas Delta resolvem este problema, permitindo que você agrupe as suas refs em "ilhas" distintas. Os pacotes de objetos calcula quais os objetos estão acessíveis a partir das ilhas e recusando-se a fazer um delta de um objeto `A` contra uma base que não está presente em todas as ilhas `A`. Isso resulta em pacotes um pouco maiores (porque perdemos algumas oportunidades delta), mas garante que uma busca por uma ilha não tenha que recalcular os deltas em tempo real, devido ao cruzamento dos limites da ilha.

note: type: Plain text
en: When repacking with delta islands the delta window tends to get clogged with candidates that are forbidden by the config. Repacking with a big --window helps (and doesn't take as long as it otherwise might because we can reject some object pairs based on islands before doing any computation on the content).
pt_BR: Ao realizar um reempacotamento com ilhas delta, a janela delta tende a ficar entupida com os candidatos barrados pela configuração. O reempacotamento com uma grande `--window` ajuda (e não leva tanto tempo quanto poderia, porque podemos rejeitar alguns pares de objetos com base nas ilhas antes de realizar qualquer cálculo no conteúdo).

note: type: Plain text
en: Islands are configured via the `pack.island` option, which can be specified multiple times. Each value is a left-anchored regular expressions matching refnames. For example:
pt_BR: As ilhas são configuradas através da opção `pack.island`, que pode ser utilizada várias vezes. Cada valor é uma expressão regular ancorada à esquerda que coincidam com "refnames". Por exemplo:

note: type: Plain text
en: puts heads and tags into an island (whose name is the empty string; see below for more on naming). Any refs which do not match those regular expressions (e.g., `refs/pull/123`) is not in any island. Any object which is reachable only from `refs/pull/` (but not heads or tags) is therefore not a candidate to be used as a base for `refs/heads/`.
pt_BR: coloca os cabeçalhos e as tags em uma ilha (cujo nome é um texto vazio; veja abaixo para conhecer mais nomenclaturas). Qualquer refs que não coincida com estas expressões regulares (`refs/pull/123` por exemplo) não está em nenhuma ilha. Qualquer objeto acessível apenas a partir do `refs/pull/` (mas não nos cabeçalhos ou nas tags) não é portanto, um candidato a ser utilizado como base para `refs/heads/`.

note: type: Plain text
en: Refs are grouped into islands based on their "names", and two regexes that produce the same name are considered to be in the same island. The names are computed from the regexes by concatenating any capture groups from the regex, with a '-' dash in between. (And if there are no capture groups, then the name is the empty string, as in the above example.) This allows you to create arbitrary numbers of islands. Only up to 14 such capture groups are supported though.
pt_BR: Os árbitros são agrupados em ilhas com base nos seus "nomes" e duas expressões regulares que produzam o mesmo nome, são consideradas para estarem na mesma ilha. Os nomes são calculados a partir das expressões regulares concatenando quaisquer grupos de captura da expressão regular, com um traço '-' no meio. (E caso não haja grupos de captura, o nome será uma sequência de texto vazia, como no exemplo acima.) Isso permite criar números arbitrários das ilhas. Apenas até 14 desses grupos de captura são compatíveis.

note: type: Plain text
en: For example, imagine you store the refs for each fork in `refs/virtual/ID`, where `ID` is a numeric identifier. You might then configure:
pt_BR: Por exemplo, imagine que você armazene as refs para cada bifurcação em `refs/virtual/ID`, onde o `ID` é um identificador numérico. Você pode então configurar:

note: type: Plain text
en: That puts the heads and tags for each fork in their own island (named "1234" or similar), and the pull refs for each go into their own "1234-pull".
pt_BR: Coloca os cabeçalhos e as tags de cada bifurcação na sua própria ilha (chamada "1234" ou similar), e as refs do "pull" de cada um entram no seu próprio "1234-pull".

note: type: Plain text
en: Note that we pick a single island for each regex to go into, using "last one wins" ordering (which allows repo-specific config to take precedence over user-wide config, and so forth).
pt_BR: Observe que escolhemos uma única ilha para cada regex, utilizando a ordem "last one wins" ou "o último vence" (que permite que determinada configuração do repo tenha precedência sobre a configuração do usuário e assim por diante).

note: type: Plain text
en: git-pack-redundant - Find redundant pack files
pt_BR: git-pack-redundant - Encontre os arquivos dos pacotes redundantes

note: type: Plain text
en: This program computes which packs in your repository are redundant. The output is suitable for piping to `xargs rm` if you are in the root of the repository.
pt_BR: Este programa calcula quais os pacotes no seu repositório são redundantes. A saída é adequada para canalizar para `xargs rm` caso esteja na raiz do repositório.

note: type: Plain text
en: 'git pack-redundant' accepts a list of objects on standard input. Any objects given will be ignored when checking which packs are required. This makes the following command useful when wanting to remove packs which contain unreachable objects.
pt_BR: 'git pack-redundant' aceita uma lista de objetos na entrada padrão. Quaisquer objetos informado serão ignorados durante a verificação de quais pacotes são necessários. Isso torna o comando a seguir útil quando se quer remover os pacotes que contenha objetos que estejam inacessíveis.

note: type: Plain text
en: Processes all packs. Any filenames on the command line are ignored.
pt_BR: Processa todos os pacotes. Todos os nomes dos arquivos na linha de comando são ignorados.

note: type: Plain text
en: Don't require objects present in packs from alternate object directories to be present in local packs.
pt_BR: Não exija que objetos presentes nos pacotes dos diretórios dos objetos alternativos estejam presentes nos pacotes locais.

note: type: Plain text
en: Outputs some statistics to stderr. Has a small performance penalty.
pt_BR: Produz algumas estatísticas para o stderr. Tem uma pequena penalidade de desempenho.

note: type: Plain text
en: git-pack-refs - Pack heads and tags for efficient repository access
pt_BR: git-pack-refs - Embale os cabeçalhos e a tags do pacote para acesso eficiente ao repositório

note: type: Plain text
en: Traditionally, tips of branches and tags (collectively known as 'refs') were stored one file per ref in a (sub)directory under `$GIT_DIR/refs` directory.  While many branch tips tend to be updated often, most tags and some branch tips are never updated.  When a repository has hundreds or thousands of tags, this one-file-per-ref format both wastes storage and hurts performance.
pt_BR: Tradicionalmente, o cume dos ramos e as tags (coletivamente conhecidas como 'refs') eram armazenadas um arquivo por "ref" em um diretório (sub) no diretório `$GIT_DIR/refs`.  Enquanto muitos cumes dos ramos tendem a ser atualizadas com frequência, a maioria das tags e alguns cumes dos ramos nunca são atualizadas.  Quando um repositório possui centenas ou milhares de tags, este formato de um arquivo por referência desperdiça armazenamento e prejudica o desempenho.

note: type: Plain text
en: This command is used to solve the storage and performance problem by storing the refs in a single file, `$GIT_DIR/packed-refs`.  When a ref is missing from the traditional `$GIT_DIR/refs` directory hierarchy, it is looked up in this file and used if found.
pt_BR: Este comando é utilizado para resolver o problema de armazenamento e desempenho, armazenando as refs em um único arquivo, `$GIT_DIR/compact-refs`.  Quando uma "ref" está ausente na hierarquia dos diretórios tradicionais `$GIT_DIR/refs`, ele é procurado neste arquivo e utilizado caso seja encontrado.

note: type: Plain text
en: Subsequent updates to branches always create new files under `$GIT_DIR/refs` directory hierarchy.
pt_BR: Atualizações subsequentes nos ramos sempre criam novos arquivos na hierarquia de diretórios `$GIT_DIR/refs`.

note: type: Plain text
en: A recommended practice to deal with a repository with too many refs is to pack its refs with `--all` once, and occasionally run `git pack-refs`.  Tags are by definition stationary and are not expected to change.  Branch heads will be packed with the initial `pack-refs --all`, but only the currently active branch heads will become unpacked, and the next `pack-refs` (without `--all`) will leave them unpacked.
pt_BR: Uma prática recomendada para lidar com um repositório com muitas refs é empacotar as suas refs com `--all` uma vez e ocasionalmente executar o comando `git pack-refs`.  As tags são estacionárias por definição e não devem mudar.  Os cabeçalhos da ramificação serão empacotadas com os `pack-refs --all` iniciais, mas apenas os cabeçalhos da ramificação atualmente ativas, serão descompactadas e as próximas `pack-refs` (sem a opção `--all`) as deixarão descompactadas.

note: type: Plain text
en: The command by default packs all tags and refs that are already packed, and leaves other refs alone.  This is because branches are expected to be actively developed and packing their tips does not help performance.  This option causes branch tips to be packed as well.  Useful for a repository with many branches of historical interests.
pt_BR: É predefinido que o comando empacote todas as "tags" e refs que já estão empacotados e deixe as outras refs em paz.  Isso ocorre porque os ramos devem ser desenvolvidas ativamente e embalar as suas pontas não ajudam no desempenho.  Essa opção também faz com que os cumes dos ramos sejam compactadas.  Útil para um repositório com muitos ramos de interesses histórico.

note: type: Plain text
en: The command usually removes loose refs under `$GIT_DIR/refs` hierarchy after packing them.  This option tells it not to.
pt_BR: O comando normalmente remove as refs soltas na hierarquia `$GIT_DIR/refs` após empacotá-los.  Esta opção diz para não fazê-lo.

note: type: Plain text
en: Older documentation written before the packed-refs mechanism was introduced may still say things like ".git/refs/heads/<branch> file exists" when it means "branch <branch> exists".
pt_BR: A documentação mais antiga escrita antes da introdução do mecanismo "packed-refs" ainda pode dizer coisas como "o arquivo .git/refs/heads/<ramo> existe" quando significa "o ramo <ramo> existe".

note: type: Plain text
en: git-parse-remote - Routines to help parsing remote repository access parameters
pt_BR: git-parse-remote - Rotinas para ajudar na análise dos parâmetros de acesso ao repositório remoto

note: type: Plain text
en: This script is included in various scripts to supply routines to parse files under $GIT_DIR/remotes/ and $GIT_DIR/branches/ and configuration variables that are related to fetching, pulling and pushing.
pt_BR: Este script está incluso em vários scripts para fornecer rotinas para realizar a análise dos arquivos no `$GIT_DIR/remotes/` e `$GIT_DIR/branches/` e nas variáveis de configuração relacionadas à busca (fetch), captura (pull) e impulsionamento (pull).

note: type: Plain text
en: git-patch-id - Compute unique ID for a patch
pt_BR: git-patch-id - Calcula o ID exclusivo de um patch

note: type: Plain text
en: Read a patch from the standard input and compute the patch ID for it.
pt_BR: Carregue um patch da entrada padrão e calcule o ID para ele.

note: type: Plain text
en: A "patch ID" is nothing but a sum of SHA-1 of the file diffs associated with a patch, with whitespace and line numbers ignored.  As such, it's "reasonably stable", but at the same time also reasonably unique, i.e., two patches that have the same "patch ID" are almost guaranteed to be the same thing.
pt_BR: Um "ID do patch" nada mais é do que uma soma do SHA-1 das diferenças dos arquivos associados com um patch, com espaço e os números da linha ignorados.  Como tal, é "razoavelmente estável", porém ao mesmo tempo também é razoavelmente único, ou seja, dois patches que têm o mesmo "ID de patch" quase garantem que sejam o mesmo.

note: type: Plain text
en: IOW, you can use this thing to look for likely duplicate commits.
pt_BR: IOW, você pode utilizar isso para procurar prováveis commits duplicados.

note: type: Plain text
en: When dealing with 'git diff-tree' output, it takes advantage of the fact that the patch is prefixed with the object name of the commit, and outputs two 40-byte hexadecimal strings.  The first string is the patch ID, and the second string is the commit ID.  This can be used to make a mapping from patch ID to commit ID.
pt_BR: Ao lidar com a saída 'git diff-tree', tira proveito do fato que o patch é prefixado com o nome do objeto do commit e gera duas sequências hexadecimais com 40 bytes.  O primeira cadeia de caracteres é o ID do patch e a segundo é o ID do commit.  Isso pode ser utilizado para fazer um mapeamento do ID do patch para confirmar o ID.

note: type: Plain text
en: Use a "stable" sum of hashes as the patch ID. With this option:
pt_BR: Use uma soma "stable" (estável) de hashes como o ID do patch. Com esta opção:

note: type: Plain text
en: Reordering file diffs that make up a patch does not affect the ID.  In particular, two patches produced by comparing the same two trees with two different settings for "-O<orderfile>" result in the same patch ID signature, thereby allowing the computed result to be used as a key to index some meta-information about the change between the two trees;
pt_BR: Reordene as diferenças do arquivo que compõem um patch não afetam o ID.  Em particular, os dois patches gerados pela comparação das mesmas duas árvores com as duas configurações diferentes para "-O<ordem-do-arquivo>" resultam na mesma assinatura ID do patch, permitindo que o resultado computado seja utilizado como uma chave para indexar algumas metainformações sobre as alterações entre as duas árvores;

note: type: Plain text
en: Result is different from the value produced by git 1.9 and older or produced when an "unstable" hash (see --unstable below) is configured - even when used on a diff output taken without any use of "-O<orderfile>", thereby making existing databases storing such "unstable" or historical patch-ids unusable.
pt_BR: O resultado é diferente do valor produzido pelo git 1.9 e mais antigo ou produzido quando um hash "instável" (consulte `--unstable` abaixo) é configurado - mesmo quando utilizado com um diff gerado obtido sem o uso de "-O<ordem-do-arquivo>", tornando, assim, os bancos de dados existentes armazenando esses IDs "instáveis" ou os históricos com correções inúteis.

note: type: Plain text
en: This is the default if patchid.stable is set to true.
pt_BR: Esta é a predefinição caso o `patchid.stable` estiver definido como 'true'.

note: type: Plain text
en: Use an "unstable" hash as the patch ID. With this option, the result produced is compatible with the patch-id value produced by git 1.9 and older.  Users with pre-existing databases storing patch-ids produced by git 1.9 and older (who do not deal with reordered patches) may want to use this option.
pt_BR: Use um hash "unstable" (instável) como o ID do patch. Com esta opção, o resultado produzido é compatível com o valor da ID do patch produzido pelo git 1.9 e anterior.  Usuários com bancos de dados preexistentes que armazenam as IDs dos patches produzidos pelo git 1.9 e anteriores (que não lidam com os patches reordenados) podem querer usar esta opção.

note: type: Plain text
en: This is the default.
pt_BR: Esta é a predefinição.

note: type: Plain text
en: git-prune-packed - Remove extra objects that are already in pack files
pt_BR: git-prune-embalado - Remove os objetos extras que já estão nos pacotes dos arquivos

note: type: Plain text
en: This program searches the `$GIT_OBJECT_DIRECTORY` for all objects that currently exist in a pack file as well as the independent object directories.
pt_BR: Este programa procura no `$GIT_OBJECT_DIRECTORY` todos os objetos que existem atualmente em um pacote de arquivo, bem como os diretórios dos objetos independentes.

note: type: Plain text
en: All such extra objects are removed.
pt_BR: Todos estes objetos extras são removidos.

note: type: Plain text
en: A pack is a collection of objects, individually compressed, with delta compression applied, stored in a single file, with an associated index file.
pt_BR: Um pacote é uma coleção de objetos compactados de forma individual com a compactação delta aplicada, armazenados em um único arquivo e com um arquivo do índice associado a ele.

note: type: Plain text
en: Packs are used to reduce the load on mirror systems, backup engines, disk storage, etc.
pt_BR: Os pacotes são utilizados para reduzir a carga nos sistemas de espelho, mecanismos de backup, armazenamento em disco, etc.

note: type: Plain text
en: Don't actually remove any objects, only show those that would have been removed.
pt_BR: Na verdade, não remova nenhum objeto, apenas exiba aqueles que teriam sido removidos.

note: type: Plain text
en: Squelch the progress indicator.
pt_BR: Silencie o indicador de progresso.

note: type: Plain text
en: git-prune - Prune all unreachable objects from the object database
pt_BR: git-prune - Remove todos os objetos inacessíveis do banco de dados de objetos

note: type: Plain text
en: In most cases, users should run 'git gc', which calls 'git prune'. See the section "NOTES", below.
pt_BR: Na maioria dos casos, os usuários devem executar 'git gc', que invoca o comando 'git prune'. Veja a seção "OBSERVAÇÕES", abaixo.

note: type: Plain text
en: This runs 'git fsck --unreachable' using all the refs available in `refs/`, optionally with additional set of objects specified on the command line, and prunes all unpacked objects unreachable from any of these head objects from the object database.  In addition, it prunes the unpacked objects that are also found in packs by running 'git prune-packed'.  It also removes entries from .git/shallow that are not reachable by any ref.
pt_BR: Executa o 'git fsck --unreachable' utilizando todas as refs disponíveis em `refs/`, opcionalmente com um conjunto adicional de objetos utilizados na linha de comando e remove todos os objetos descompactados inacessíveis de qualquer um destes objetos principais do banco de dados de objetos.  Além disso, remove os objetos descompactados que também são encontrados nos pacotes executando o comando 'git prune-packed'.  Também remove entradas do '.git/shallow' que não são acessíveis por nenhuma "ref".

note: type: Plain text
en: Note that unreachable, packed objects will remain.  If this is not desired, see linkgit:git-repack[1].
pt_BR: Observe que objetos compactados e inacessíveis, permanecerão.  Caso não seja isso, consulte linkgit:git-repack[1].

note: type: Plain text
en: Do not remove anything; just report what it would remove.
pt_BR: Não remova nada; basta relatar o que removeria.

note: type: Plain text
en: Report all removed objects.
pt_BR: Relate todos os objetos que foram removidos.

note: type: Plain text
en: Show progress.
pt_BR: Exiba o progresso.

note: type: Labeled list
en: --expire <time>
pt_BR: --expire <tempo>

note: type: Plain text
en: Only expire loose objects older than <time>.
pt_BR: Somente expire os objetos soltos com mais de <hora>.

note: type: Plain text
en: In addition to objects reachable from any of our references, keep objects reachable from listed <head>s.
pt_BR: Além dos objetos acessíveis a partir de qualquer uma das nossas referências, mantenha os objetos acessíveis a partir dos <cabeçalho>s listados.

note: type: Plain text
en: To prune objects not used by your repository or another that borrows from your repository via its `.git/objects/info/alternates`:
pt_BR: Para remover os objetos que não foram utilizados pelo seu repositório ou outro que seja emprestado do seu repositório por meio de seu `.git/objects/info/alternates`:

note: type: Plain text
en: In most cases, users will not need to call 'git prune' directly, but should instead call 'git gc', which handles pruning along with many other housekeeping tasks.
pt_BR: Na maioria dos casos, os usuários não precisarão chamar o comando 'git prune' diretamente, mas devem chamar o comando 'git gc' que lida com a remoção, juntamente com muitas outras tarefas de limpeza.

note: type: Plain text
en: For a description of which objects are considered for pruning, see 'git fsck''s --unreachable option.
pt_BR: Para obter uma descrição de quais objetos são considerados para a remoção, consulte a opção --unreachable de 'git fsck'.

note: type: Plain text
en: git-pull - Fetch from and integrate with another repository or a local branch
pt_BR: git-pull - Busque e integre-se a outro repositório ou em um ramo local

note: type: Plain text
en: 'git pull' [<options>] [<repository> [<refspec>...]]
pt_BR: 'git pull' [<opções>] [<repositório> [<refspec>...]]

note: type: Plain text
en: Incorporates changes from a remote repository into the current branch.  In its default mode, `git pull` is shorthand for `git fetch` followed by `git merge FETCH_HEAD`.
pt_BR: Incorpora as alterações de um repositório remoto no ramo atual.  Em seu modo predefinido, o comando `git pull` é uma abreviação do comando `git fetch` seguido por `git merge FETCH_HEAD`.

note: type: Plain text
en: More precisely, 'git pull' runs 'git fetch' with the given parameters and calls 'git merge' to merge the retrieved branch heads into the current branch.  With `--rebase`, it runs 'git rebase' instead of 'git merge'.
pt_BR: Mais precisamente, o comando 'git pull' executa o 'git fetch' com os parâmetros informados e chama o 'git merge' para mesclar os cabeçalhos recuperados da ramificação no ramo atual.  Com `--rebase`, ele executa o comando 'git rebase' em vez do 'git merge'.

note: type: Plain text
en: <repository> should be the name of a remote repository as passed to linkgit:git-fetch[1].  <refspec> can name an arbitrary remote ref (for example, the name of a tag) or even a collection of refs with corresponding remote-tracking branches (e.g., refs/heads/{asterisk}:refs/remotes/origin/{asterisk}), but usually it is the name of a branch in the remote repository.
pt_BR: O <repositório> deve ser o nome de um repositório remoto, conforme passado para o linkgit:git-fetch[1].  O <refspec> pode nomear de forma arbitrária uma referência remota (por exemplo, o nome de uma tag) ou até mesmo uma coleção de referências com as ramificações dos ramos monitorados remotamente (`refs/heads/{asterisk}:refs/remotes/origin/{asterisk}` por exemplo), porém geralmente é o nome de uma ramificação no repositório remoto.

note: type: Plain text
en: Default values for <repository> and <branch> are read from the "remote" and "merge" configuration for the current branch as set by linkgit:git-branch[1] `--track`.
pt_BR: Os valores predefinidos para o <repositório> e o <ramo> eles são lidos na configuração "remote" e "merge" do ramo atual, conforme for definido pelo linkgit:git-branch[1] `--track`.

note: type: delimited block -
en: 	  A---B---C master on origin
    	 /
        D---E---F---G master
    	^
    	origin/master in your repository
pt_BR: 	  A---B---C master on origin
    	 /
        D---E---F---G master
    	^
    	origin/master no seu repositório

note: type: Plain text
en: Then "`git pull`" will fetch and replay the changes from the remote `master` branch since it diverged from the local `master` (i.e., `E`)  until its current commit (`C`) on top of `master` and record the result in a new commit along with the names of the two parent commits and a log message from the user describing the changes.
pt_BR: Então, o comando "`git pull`" fara a captura e a reprodução das alterações do ramo remoto `master` por ter se divergido do `master` local (ou seja, `E`) até o seu commit atual (`C`) no topo do `master` e registra o resultado em um novo commit, juntamente com os nomes dos dois commits principais e uma mensagem do registro log do usuário, descrevendo quais forma as alterações que foram feitas.

note: type: Plain text
en: See linkgit:git-merge[1] for details, including how conflicts are presented and handled.
pt_BR: Para mais detalhes incluindo informações de como os conflitos são gerenciados e como eles são exibidos, consulte linkgit:git-merge[1].

note: type: Plain text
en: In Git 1.7.0 or later, to cancel a conflicting merge, use `git reset --merge`.  *Warning*: In older versions of Git, running 'git pull' with uncommitted changes is discouraged: while possible, it leaves you in a state that may be hard to back out of in the case of a conflict.
pt_BR: No Git 1.7.0 ou posterior, para cancelar uma mesclagem conflitante, utilize o comando `git reset --merge`.  *Aviso*: Nas versões mais antigas do Git, a execução do 'git pull' com as alterações dos commits não realizados é desencorajado: enquanto for possível, deixa você em uma condição onde a recuperação pode ser difícil no caso de um conflito.

note: type: Plain text
en: If any of the remote changes overlap with local uncommitted changes, the merge will be automatically canceled and the work tree untouched.  It is generally best to get any local changes in working order before pulling or stash them away with linkgit:git-stash[1].
pt_BR: Caso alguma das alterações remotas se sobrepuser às alterações dos commits locais que não foram realizados, a mesclagem será automaticamente cancelada e a árvore de trabalho se manterá intocada.  Geralmente é melhor obter as alterações locais na ordem de trabalho antes de retirá-las ou escondê-las com o linkgit:git-stash[1].

note: type: Plain text
en: This is passed to both underlying git-fetch to squelch reporting of during transfer, and underlying git-merge to squelch output during merging.
pt_BR: Isso é passado para ambos os comandos subjacentes do `git-fetch` para abafar o relatório do processo durante a transferência assim como do git-merge silenciando sua saída durante a mesclagem.

note: type: Plain text
en: Pass --verbose to git-fetch and git-merge.
pt_BR: Encaminhe a opção --verbose para o 'git-fetch' e 'git-merge'.

note: type: Plain text
en: This option controls if new commits of populated submodules should be fetched, and if the working trees of active submodules should be updated, too (see linkgit:git-fetch[1], linkgit:git-config[1] and linkgit:gitmodules[5]).
pt_BR: Esta opção controla se os novos commits dos submódulos populados devem ser buscados ou não e se as árvore de trabalho dos submódulos ativos devem ser atualizados também (consulte linkgit:git-fetch[1], linkgit:git-config[1] e linkgit:gitmodules[5]).

note: type: Plain text
en: If the checkout is done via rebase, local submodule commits are rebased as well.
pt_BR: Caso a averiguação seja feita através da reconstrução "rebase", os commits do submódulo local também serão refeitas.

note: type: Plain text
en: If the update is done via merge, the submodule conflicts are resolved and checked out.
pt_BR: Caso a atualização seja feita através de uma mesclagem, os conflitos do sub-módulo serão resolvidos e retirados.

note: type: Title ~
en: Options related to merging
pt_BR: Opções relacionadas a mesclagem

note: type: Plain text
en: When true, rebase the current branch on top of the upstream branch after fetching. If there is a remote-tracking branch corresponding to the upstream branch and the upstream branch was rebased since last fetched, the rebase uses that information to avoid rebasing non-local changes.
pt_BR: Quando for verdadeiro, reorganize a fundação do ramo atual no topo da ramificação upstream após a busca. Caso haja uma ramificação monitorado remotamente correspondente à ramificação upstream e a ramificação upstream foi reconstruído desde a última busca, a reconstrução da fundação utilizará estas informações para evitar reconstruir as alterações que não fora locais.

note: type: Plain text
en: When set to `merges`, rebase using `git rebase --rebase-merges` so that the local merge commits are included in the rebase (see linkgit:git-rebase[1] for details).
pt_BR: Quando definido como `merges`, a reconstrução da fundação (rebase) utilizando o comando `git rebase --rebase-merges` para que as mesclagem dos commits locais sejam incluídas na reconstrução (para mais detalhes, consulte linkgit:git-rebase[1]).

note: type: Plain text
en: When set to `preserve` (deprecated in favor of `merges`), rebase with the `--preserve-merges` option passed to `git rebase` so that locally created merge commits will not be flattened.
pt_BR: Quando definido como `preserve` (já descontinuado em favor de `merges`), reconstrua passando a opção `--preserve-merges` para o comando `git rebase` para que a mesclagem dos commits criados localmente não sejam achatadas.

note: type: Plain text
en: When false, merge the current branch into the upstream branch.
pt_BR: Quando for falso, mescle a ramificação atual na ramificação upstream.

note: type: Plain text
en: When `interactive`, enable the interactive mode of rebase.
pt_BR: Quando `interactive` (interativo) , ative o modo interativo da reconstrução da fundação.

note: type: Plain text
en: See `pull.rebase`, `branch.<name>.rebase` and `branch.autoSetupRebase` in linkgit:git-config[1] if you want to make `git pull` always use `--rebase` instead of merging.
pt_BR: Consulte `pull.rebase`, `branch.<nome>.rebase` e `branch.autoSetupRebase` no linkgit:git-config[1] caso queira fazer o `git pull`, sempre utilize o comando `--rebase` em vez de mesclar .

note: type: Plain text
en: This is a potentially _dangerous_ mode of operation.  It rewrites history, which does not bode well when you published that history already.  Do *not* use this option unless you have read linkgit:git-rebase[1] carefully.
pt_BR: Esse é um modo de operação potencialmente _perigoso_.  Ele reescreve o histórico, o que não é um bom presságio quando você já o publicou.  *Não* utilize esta opção, a menos que você leia o linkgit:git-rebase[1] com muita atenção.

note: type: Plain text
en: Override earlier --rebase.
pt_BR: Ignora o `--rebase` anterior.

note: type: Title ~
en: Options related to fetching
pt_BR: Opções relacionadas à busca

note: type: Title -
en: DEFAULT BEHAVIOUR
pt_BR: COMPORTAMENTO PREDEFINIDO

note: type: Plain text
en: Often people use `git pull` without giving any parameter.  Traditionally, this has been equivalent to saying `git pull origin`.  However, when configuration `branch.<name>.remote` is present while on branch `<name>`, that value is used instead of `origin`.
pt_BR: Frequentemente, as pessoas utilizam o `git pull` sem informar qualquer parâmetro.  Tradicionalmente, é o mesmo que dizer `git pull origin`.  No entanto, quando a configuração `branch.<nome>.remote` está presente enquanto no ramo `<nome>`, esse valor é utilizado em vez de `origin`.

note: type: Plain text
en: In order to determine what URL to use to fetch from, the value of the configuration `remote.<origin>.url` is consulted and if there is not any such variable, the value on the `URL:` line in `$GIT_DIR/remotes/<origin>` is used.
pt_BR: Para determinar de qual URL usar, o valor da configuração `remote.<origin>.url` é consultado e caso não haja nenhuma variável, o valor na linha `URL:` em `$GIT_DIR/remotes/<origin>` é utilizado.

note: type: Plain text
en: In order to determine what remote branches to fetch (and optionally store in the remote-tracking branches) when the command is run without any refspec parameters on the command line, values of the configuration variable `remote.<origin>.fetch` are consulted, and if there aren't any, `$GIT_DIR/remotes/<origin>` is consulted and its `Pull:` lines are used.  In addition to the refspec formats described in the OPTIONS section, you can have a globbing refspec that looks like this:
pt_BR: Para determinar quais ramificações remotas buscar (e opcionalmente armazenar nas ramificações monitoradas remotamente) quando o comando é executado sem nenhum parâmetro "refspec" na linha de comando, os valores da variável de configuração `remote.<origin>.fetch` são consultados e caso não exista nenhum, então `$GIT_DIR/remotes/<origin>` é consultado e as suas linhas `Pull:` são utilizadas.  Além dos formatos "refspec" descritos na seção OPÇÕES, você pode ter um englobamento do "refspec" parecido com este:

note: type: Plain text
en: A globbing refspec must have a non-empty RHS (i.e. must store what were fetched in remote-tracking branches), and its LHS and RHS must end with `/*`.  The above specifies that all remote branches are tracked using remote-tracking branches in `refs/remotes/origin/` hierarchy under the same name.
pt_BR: Um englobamento do "refspec" deve ter um RHS que não não seja vazio (ou seja, deve armazenar o que foi buscado nas ramificações monitoradas remotamente) e o seu `LHS` e `RHS` devem terminar com `/*`.  A definição acima determina que todas as ramificações remotas sejam monitoradas utilizando os ramos monitorados remotamente em `refs/remotes/origin/` com o mesmo nome.

note: type: Plain text
en: The rule to determine which remote branch to merge after fetching is a bit involved, in order not to break backward compatibility.
pt_BR: A regra para determinar qual a ramificação remota deve ser mesclada após a captura é um pouco complexo, para que não prejudique a compatibilidade com as versões anteriores.

note: type: Plain text
en: If explicit refspecs were given on the command line of `git pull`, they are all merged.
pt_BR: Caso "refspecs" explícitos sejam informados para o comando `git pull`, todos eles são mesclados.

note: type: Plain text
en: When no refspec was given on the command line, then `git pull` uses the refspec from the configuration or `$GIT_DIR/remotes/<origin>`.  In such cases, the following rules apply:
pt_BR: Quando nenhum "refspec" for informado na linha de comando, o `git pull` utiliza o "refspec" da configuração ou `$GIT_DIR/remotes/<origin>`.  Nestes casos, as seguintes regras se aplicam:

note: type: Plain text
en: If `branch.<name>.merge` configuration for the current branch `<name>` exists, that is the name of the branch at the remote site that is merged.
pt_BR: Caso a configuração `branch.<nome>.merge` para o ramo atual `<nome>` exista, este é o nome do ramo no site remoto que é mesclado.

note: type: Plain text
en: If the refspec is a globbing one, nothing is merged.
pt_BR: Caso o refspec seja um caractere curinga, nada será mesclado.

note: type: Plain text
en: Otherwise the remote branch of the first refspec is merged.
pt_BR: Caso contrário, a ramificação remota do primeiro refspec será mesclada.

note: type: Plain text
en: Update the remote-tracking branches for the repository you cloned from, then merge one of them into your current branch:
pt_BR: Atualize as ramificações monitoradas remotamente para o repositório onde a clonagem foi feita e em seguida, mescle uma delas na sua ramificação atual:

note: type: Plain text
en: Normally the branch merged in is the HEAD of the remote repository, but the choice is determined by the branch.<name>.remote and branch.<name>.merge options; see linkgit:git-config[1] for details.
pt_BR: Normalmente o ramo mesclado fica no `HEAD` do repositório remoto, porém a escolha é determinada pelas opções `branch.<nome>.remote` e `branch.<nome>.merge`; para mais detalhes consulte linkgit:git-config[1].

note: type: Plain text
en: Merge into the current branch the remote branch `next`:
pt_BR: Mescle na ramificação atual o ramo remoto `next`:

note: type: Plain text
en: This leaves a copy of `next` temporarily in FETCH_HEAD, and updates the remote-tracking branch `origin/next`.  The same can be done by invoking fetch and merge:
pt_BR: Isto deixa uma cópia do `next` temporariamente no `FETCH_HEAD`, porém não atualiza nenhum outro ramo `origin/next` monitorado remotamente.  O mesmo pode ser feito ao executar o `fetch` e o `merge`:

note: type: Plain text
en: If you tried a pull which resulted in complex conflicts and would want to start over, you can recover with 'git reset'.
pt_BR: Caso você tente fazer um "pull" que resultou em conflitos complexos e queira recomeçar, a recuperação pode ser feita com o comando 'git reset'.

note: type: Plain text
en: git-push - Update remote refs along with associated objects
pt_BR: git-push - Atualiza as refs remotas junto com os objetos associados a ela

note: type: Plain text
en: 'git push' [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
    	   [--repo=<repository>] [-f | --force] [-d | --delete] [--prune] [-v | --verbose]
    	   [-u | --set-upstream] [-o <string> | --push-option=<string>]
    	   [--[no-]signed|--signed=(true|false|if-asked)]
    	   [--force-with-lease[=<refname>[:<expect>]]]
    	   [--no-verify] [<repository> [<refspec>...]]
pt_BR: 'git push' [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
    	   [--repo=<repositório>] [-f | --force] [-d | --delete] [--prune] [-v | --verbose]
    	   [-u | --set-upstream] [-o <texto> | --push-option=<texto>]
    	   [--[no-]signed|--signed=(true|false|if-asked)]
    	   [--force-with-lease[=<refname>[:<expect>]]]
    	   [--no-verify] [<repositório> [<refspec>...]]

note: type: Plain text
en: Updates remote refs using local refs, while sending objects necessary to complete the given refs.
pt_BR: Atualiza as refs remotas utilizando as refs locais, enquanto envia os objetos necessários para que seja concluída as refs informadas.

note: type: Plain text
en: You can make interesting things happen to a repository every time you push into it, by setting up 'hooks' there.  See documentation for linkgit:git-receive-pack[1].
pt_BR: Você pode fazer com que coisas que intereçam aconteçam com um repositório toda vez que você o adiciona, configurando os 'ganchos' lá.  Consulte a documentação para linkgit:git-receive-pack[1].

note: type: Plain text
en: When the command line does not specify where to push with the `<repository>` argument, `branch.*.remote` configuration for the current branch is consulted to determine where to push.  If the configuration is missing, it defaults to 'origin'.
pt_BR: Quando a linha de comando não informa para onde impulsionar (push) com a opção `<repositório>`, a configuração `branch.*.remote` é consultada para o ramo atual para determinar para onde o impulsionamento deve ser feito.  Caso a configuração esteja ausente, a predefinição retorna para 'origin'.

note: type: Plain text
en: When the command line does not specify what to push with `<refspec>...` arguments or `--all`, `--mirror`, `--tags` options, the command finds the default `<refspec>` by consulting `remote.*.push` configuration, and if it is not found, honors `push.default` configuration to decide what to push (See linkgit:git-config[1] for the meaning of `push.default`).
pt_BR: Quando a linha de comando não especifica o que impulsionar (push) com as opções `<refspec>...` ou com as opções `--all`, `--mirror`, `--tags`, o comando encontra a predefinição `<refspec>` consultando a configuração `remote.*.push` e caso ainda não tenha sido encontrado, honra a configuração do `push.default` para decidir o que enviar (para saber o significado de `push.default` consultelinkgit:git-config[1].

note: type: Plain text
en: When neither the command-line nor the configuration specify what to push, the default behavior is used, which corresponds to the `simple` value for `push.default`: the current branch is pushed to the corresponding upstream branch, but as a safety measure, the push is aborted if the upstream branch does not have the same name as the local one.
pt_BR: Quando nem a linha de comando nem a configuração informam o que enviar, o comportamento predefinido é utilizado, que corresponde ao valor `simple` para `push.default`: o ramo atual é enviado ao ramo upstream correspondente, porém como uma medida segurança, o envio será cancelado caso o ramo upstream não esteja com o mesmo nome que o ramo local.

note: type: Title -
en: OPTIONS[[OPTIONS]]
pt_BR: OPÇÕES[[OPÇÕES]]

note: type: Plain text
en: The "remote" repository that is destination of a push operation.  This parameter can be either a URL (see the section <<URLS,GIT URLS>> below) or the name of a remote (see the section <<REMOTES,REMOTES>> below).
pt_BR: O repositório "remoto" que é o destino de uma operação de envio através de uma operação "push".  Este parâmetro pode ser uma URL (consulte a seção <<URLS, GIT URLS>> abaixo) ou o nome de um ramo remoto (consulte a seção <<REMOTES, REMOTES>> abaixo).

note: type: Plain text
en: Specify what destination ref to update with what source object.  The format of a <refspec> parameter is an optional plus `+`, followed by the source object <src>, followed by a colon `:`, followed by the destination ref <dst>.
pt_BR: Defina qual a "ref" do destino para atualizar com qual objeto da origem.  O formato de um parâmetro `<refspec>` é um opcional mais `+`, seguido pelo objeto da origem `<src>`, seguido de dois pontos `:`, seguido pelo destino da ref `<dst>`.

note: type: Plain text
en: The <src> is often the name of the branch you would want to push, but it can be any arbitrary "SHA-1 expression", such as `master~4` or `HEAD` (see linkgit:gitrevisions[7]).
pt_BR: Geralmente `<src>` é o nome do ramo que você deseja impulsionar, pode ser qualquer "expressão SHA-1" arbitrária, como `master~4` ou `HEAD` (consulte linkgit:gitrevisions[7]).

note: type: Plain text
en: The <dst> tells which ref on the remote side is updated with this push. Arbitrary expressions cannot be used here, an actual ref must be named.  If `git push [<repository>]` without any `<refspec>` argument is set to update some ref at the destination with `<src>` with `remote.<repository>.push` configuration variable, `:<dst>` part can be omitted--such a push will update a ref that `<src>` normally updates without any `<refspec>` on the command line.  Otherwise, missing `:<dst>` means to update the same ref as the `<src>`.
pt_BR: O <dst> informa qual a "ref" no lado remoto será atualizado com este impulsionamento "push". Expressões arbitrárias não podem ser utilizadas aqui, uma "ref" real deve ser determinada.  Caso o comando `git push [<repositório>]` sem nenhum argumento `<refspec>` estiver definido para atualizar alguma "ref" no destino com `<src>` com a variável de configuração `remote.<repositório>.push`, a parte do comando `:<dst>` pode ser omitida, este empulsionamento "push" atualizará uma "ref" onde `<src>` normalmente atualiza sem qualquer `<refspec>` na linha de comando.  Caso contrário, a falta de `:<dst>` significa atualizar a mesma referência que o `<src>`.

note: type: Plain text
en: If <dst> doesn't start with `refs/` (e.g. `refs/heads/master`) we will try to infer where in `refs/*` on the destination <repository> it belongs based on the type of <src> being pushed and whether <dst> is ambiguous.
pt_BR: Caso o <dst> não comece com `refs/` (como `refs/heads/master` por exemplo), tentaremos inferir onde em `refs/*` no <repositório> de destino, ele pertença com base no tipo da <src> sendo impulsionado e caso o <dst> seja ambíguo.

note: type: Plain text
en: If <dst> unambiguously refers to a ref on the <repository> remote, then push to that ref.
pt_BR: Caso o <dst> se refira inequivocamente a uma "ref" no <repositório> do ramo remoto, então faça um impulsionamento "push" nesta ref.

note: type: Plain text
en: If <src> resolves to a ref starting with refs/heads/ or refs/tags/, then prepend that to <dst>.
pt_BR: Caso o <src> seja resolvido para uma "ref" começando com `refs/heads/` ou `refs/tags/`, coloque um prefixo no <dst>.

note: type: Plain text
en: Other ambiguity resolutions might be added in the future, but for now any other cases will error out with an error indicating what we tried, and depending on the `advice.pushUnqualifiedRefname` configuration (see linkgit:git-config[1]) suggest what refs/ namespace you may have wanted to push to.
pt_BR: Outras resoluções de ambiguidade podem ser adicionadas no futuro, mas, por enquanto, outros casos apresentarão um erro indicando o que tentamos e dependendo da configuração `advice.pushUnqualifiedRefname` (consulte linkgit:git-config[1]), sugere qual 'refs/ namespace' você possa querer impulsionar.

note: type: Plain text
en: The object referenced by <src> is used to update the <dst> reference on the remote side. Whether this is allowed depends on where in `refs/*` the <dst> reference lives as described in detail below, in those sections "update" means any modifications except deletes, which as noted after the next few sections are treated differently.
pt_BR: O objeto referenciado por <src> é utilizado para atualizar a referência <dst> no lado remoto. Caso isso seja permitido, vai depender de onde em `refs/*` a referência <dst> vive como descrito com mais detalhes logo abaixo, nestas seções "update" indica que quaisquer modificações, exceto as exclusões, que serão descritos nas próximas seções, são tratadas de forma diferente.

note: type: Plain text
en: The `refs/heads/*` namespace will only accept commit objects, and updates only if they can be fast-forwarded.
pt_BR: O espaço de nomes `refs/heads/*` aceitarão apenas os objetos commit e será atualizado apenas caso eles possam avançar de forma rápida.

note: type: Plain text
en: The `refs/tags/*` namespace will accept any kind of object (as commits, trees and blobs can be tagged), and any updates to them will be rejected.
pt_BR: O espaço de nomes `refs/tags/*` aceitarão quaisquer tipos de objeto (como commits, árvores e bolhas que possam ser marcados) e quaisquer atualizações para eles serão rejeitadas.

note: type: Plain text
en: It's possible to push any type of object to any namespace outside of `refs/{tags,heads}/*`. In the case of tags and commits, these will be treated as if they were the commits inside `refs/heads/*` for the purposes of whether the update is allowed.
pt_BR: É possível impulsionar qualquer tipo de objeto para qualquer espaço de nomes fora do `refs/{tags,heads}/*`. No caso das tags e dos commits, estes serão tratados como se fossem os commits dentro do `refs/heads/*` para os propósitos caso a atualização seja permitida.

note: type: Plain text
en: I.e. a fast-forward of commits and tags outside `refs/{tags,heads}/*` is allowed, even in cases where what's being fast-forwarded is not a commit, but a tag object which happens to point to a new commit which is a fast-forward of the commit the last tag (or commit) it's replacing. Replacing a tag with an entirely different tag is also allowed, if it points to the same commit, as well as pushing a peeled tag, i.e. pushing the commit that existing tag object points to, or a new tag object which an existing commit points to.
pt_BR: Um avanço rápido dos commits e das tags fora do `refs/{tags,heads}/*` por exemplo, é permitido, mesmo nos casos onde o que está sendo acelerado não é um commit e sim um objeto da tag que aponte para um novo commit onde seja um avanço rápido do commit da última tag (ou commit) que está sendo substituindo. Também é permitida a reposição de uma tag por uma outra totalmente diferente, caso ela apontar para o mesmo commit, bem como ao impulsionar uma tag já descascada, ou seja, impulsionar o commit onde o objeto existente do tag aponte ou um novo objeto da tag onde o commit existente esteja apontando.

note: type: Plain text
en: Tree and blob objects outside of `refs/{tags,heads}/*` will be treated the same way as if they were inside `refs/tags/*`, any update of them will be rejected.
pt_BR: Os objetos da árvore e da bolha fora do `refs{tags,heads}/*` serão tratados da mesma maneira como se estivessem dentro do `refs/tags/*`, qualquer outra atualização deles será rejeitada.

note: type: Plain text
en: All of the rules described above about what's not allowed as an update can be overridden by adding an the optional leading `+` to a refspec (or using `--force` command line option). The only exception to this is that no amount of forcing will make the `refs/heads/*` namespace accept a non-commit object. Hooks and configuration can also override or amend these rules, see e.g. `receive.denyNonFastForwards` in linkgit:git-config[1] and `pre-receive` and `update` in linkgit:githooks[5].
pt_BR: Todas as regras descritas acima sobre o que não é permitido como uma atualização, podem ser substituídas adicionando um sinal opcional `+` inicial em um "refspec" (ou utilizando a opção da linha de comando `--force`). A única exceção a isso é que nenhuma quantidade de imposição fará com que o espaço de nomes `refs/heads/*` aceite um objeto que não seja um commit. Os ganchos e configurações também podem substituir ou alterar estas regras, consulte, por exemplo, `receive.denyNonFastForwards` no linkgit:git-config[1] e `pre-receive` e `update` no linkgit:githooks[5].

note: type: Plain text
en: Pushing an empty <src> allows you to delete the <dst> ref from the remote repository. Deletions are always accepted without a leading `+` in the refspec (or `--force`), except when forbidden by configuration or hooks. See `receive.denyDeletes` in linkgit:git-config[1] and `pre-receive` and `update` in linkgit:githooks[5].
pt_BR: Fazer um impulsionamento "push" de um <src> vazio permite excluir o <dst> "ref" do repositório remoto. As exclusões sempre são aceitas sem um sinal `+` inicial no "refspec" (ou com a opção `--force`), exceto quando for proibido pela configuração ou pelos ganchos. Consulte `receive.denyDeletes` no linkgit:git-config[1] e `pre-receive` e `update` no linkgit:githooks[5].

note: type: Plain text
en: The special refspec `:` (or `+:` to allow non-fast-forward updates)  directs Git to push "matching" branches: for every branch that exists on the local side, the remote side is updated if a branch of the same name already exists on the remote side.
pt_BR: O "refspec" especial `:` (ou `+:` para permitir as atualizações sem avanço rápido) instrui o Git para enviar as ramificações "coincidentes": para cada ramificação que exista no lado local, o lado remoto é atualizado caso uma ramificação do o mesmo nome já exista.

note: type: Plain text
en: `tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`.
pt_BR: A `tag <tag>` significa o mesmo que `refs/tags/<tag>:refs/tags/<tag>`.

note: type: Plain text
en: Push all branches (i.e. refs under `refs/heads/`); cannot be used with other <refspec>.
pt_BR: impulsione todos os ramos (ou seja, refs em `refs/heads/`); não pode ser utilizado com outro <refspec>.

note: type: Plain text
en: Remove remote branches that don't have a local counterpart. For example a remote branch `tmp` will be removed if a local branch with the same name doesn't exist any more. This also respects refspecs, e.g.  `git push --prune remote refs/heads/*:refs/tmp/*` would make sure that remote `refs/tmp/foo` will be removed if `refs/heads/foo` doesn't exist.
pt_BR: Remova as ramificações remotas que não possuam uma contraparte local. Uma ramificação remota `tmp` será removida caso uma ramificação local com o mesmo nome não existir mais por exemplo. Isso também respeita os "refespecs", por exemplo O comando `git push --prune remote refs/heads/*:refs/tmp/*` garantiria que o `refs/tmp/foo` remoto seja removido caso o `refs/heads/foo` não exista.

note: type: Plain text
en: Instead of naming each ref to push, specifies that all refs under `refs/` (which includes but is not limited to `refs/heads/`, `refs/remotes/`, and `refs/tags/`)  be mirrored to the remote repository.  Newly created local refs will be pushed to the remote end, locally updated refs will be force updated on the remote end, and deleted refs will be removed from the remote end.  This is the default if the configuration option `remote.<remote>.mirror` is set.
pt_BR: Em vez de nomear cada "ref" para fazer o impulsionamento, determine que todos os refs no `refs/` (que incluem, mas não se limitam a `refs/heads/`, `refs/remotes/` e `refs/tags/`) sejam espelhados para o repositório remoto.  As refs locais que foram recém-criadas serão enviadas para a extremidade remota, as refs que foram atualizadas localmente terão a sua atualização imposta no lado remoto e as refs que foram excluídas serão removidas remotamente.  Esta é a predefinição caso a opção de configuração `remote.<remoto>.mirror` esteja definido.

note: type: Plain text
en: Produce machine-readable output.  The output status line for each ref will be tab-separated and sent to stdout instead of stderr.  The full symbolic names of the refs will be given.
pt_BR: Gere uma saída legível para uma máquina.  A linha da condição geral para cada "ref" será separada por tabulação e encaminhada para o stdout em vez de stderr.  Os nomes simbólicos completos das refs serão informados.

note: type: Plain text
en: All listed refs are deleted from the remote repository. This is the same as prefixing all refs with a colon.
pt_BR: Todas as refs listadas são excluídas do repositório remoto. É o mesmo que prefixar todos as refs com dois pontos.

note: type: Plain text
en: All refs under `refs/tags` are pushed, in addition to refspecs explicitly listed on the command line.
pt_BR: Todas as refs no `refs/tags` são impulsionadas, além das "refspecs" que forem explicitamente listados na linha de comando.

note: type: Plain text
en: Push all the refs that would be pushed without this option, and also push annotated tags in `refs/tags` that are missing from the remote but are pointing at commit-ish that are reachable from the refs being pushed.  This can also be specified with configuration variable `push.followTags`.  For more information, see `push.followTags` in linkgit:git-config[1].
pt_BR: Impulsione todas as refs que seriam enviadas sem esta opção e também as tags anotadas no `refs/tags` que estão ausentes no ramo remoto, mas estão apontando para o "commit-ish" acessível a partir das referências sendo impulsionadas.  Também pode ser definido com a variável de configuração `push.followTags`.  Para mais informações, consulte `push.followTags` no linkgit:git-config[1].

note: type: Plain text
en: GPG-sign the push request to update refs on the receiving side, to allow it to be checked by the hooks and/or be logged.  If `false` or `--no-signed`, no signing will be attempted.  If `true` or `--signed`, the push will fail if the server does not support signed pushes.  If set to `if-asked`, sign if and only if the server supports signed pushes.  The push will also fail if the actual call to `gpg --sign` fails.  See linkgit:git-receive-pack[1] for the details on the receiving end.
pt_BR: O GPG assina a solicitação impulsionamento para atualizar os `refs` no lado do recebimento permitindo que ele seja verificado pelos ganchos ou seja catalogado nos registros.  Caso as opções `false` ou `--no-signed` sejam utilizadas, nenhuma tentativa de assinatura será feita.  Caso as opções  `true` ou `--signed` sejam utilizadas, o impulsionamento irá falhará caso o servidor não seja compatível com impulsionamentos assinados.  Caso seja definido com `if-asked`, a assinatura só será realizada caso o servidor seja compatível com impulsionamentos assinados.  O impulsionamento falhará caso a chamada atual para o comando `gpg --sign` falhe.  Para obter detalhes sobre o recebimento na parte final, consulte linkgit:git-receive-pack[1].

note: type: Plain text
en: Use an atomic transaction on the remote side if available.  Either all refs are updated, or on error, no refs are updated.  If the server does not support atomic pushes the push will fail.
pt_BR: Utilize uma transação atômica no lado remoto, caso esteja disponível.  Ou todas as refs são atualizadas ou, por erro, nenhuma será.  Caso o servidor não seja compatível com impulsionamento atômico, o impulsionamento "push" irá falhar.

note: type: Labeled list
en: --push-option=<option>
pt_BR: --push-option=<opção>

note: type: Plain text
en: Transmit the given string to the server, which passes them to the pre-receive as well as the post-receive hook. The given string must not contain a NUL or LF character.  When multiple `--push-option=<option>` are given, they are all sent to the other side in the order listed on the command line.  When no `--push-option=<option>` is given from the command line, the values of configuration variable `push.pushOption` are used instead.
pt_BR: Transmita a sequência informada para o servidor, que o repassa ao gancho de pré recebimento assim como o de pré recebimento. A sequência informada não deve conter um caractere `NUL` ou `LF`.  Quando várias opções `--push-option=<opção>` são utilizadas, todas elas são enviadas ao outro lado para que sejam listadas na linha de comando.  Quando nenhum comando `--push-option=<option>` é utilizado, então os valores da configuração da variável `push.pushOption` passam a ser utilizados.

note: type: Labeled list
en: --receive-pack=<git-receive-pack>
pt_BR: --receive-pack=<git-recebe-pacote>

note: type: Labeled list
en: --exec=<git-receive-pack>
pt_BR: --exec=<git-recebe-pacote>

note: type: Plain text
en: Path to the 'git-receive-pack' program on the remote end.  Sometimes useful when pushing to a remote repository over ssh, and you do not have the program in a directory on the default $PATH.
pt_BR: O caminho para o programa 'git-receive-pack' na extremidade remota.  Às vezes é útil ao enviar para um repositório remoto através do ssh e você não possui o programa no diretório no `$PATH` predefinido.

note: type: Plain text
en: Usually, "git push" refuses to update a remote ref that is not an ancestor of the local ref used to overwrite it.
pt_BR: Normalmente, o comando "git push" se recusa a atualizar uma "ref" remota que não seja um ancestral da "ref" local utilizada para substituí-la.

note: type: Plain text
en: This option overrides this restriction if the current value of the remote ref is the expected value.  "git push" fails otherwise.
pt_BR: Esta opção substitui esta restrição caso o valor atual da "ref" remota seja o valor esperado.  Caso contrário o "git push" vai falhar.

note: type: Plain text
en: Imagine that you have to rebase what you have already published.  You will have to bypass the "must fast-forward" rule in order to replace the history you originally published with the rebased history.  If somebody else built on top of your original history while you are rebasing, the tip of the branch at the remote may advance with her commit, and blindly pushing with `--force` will lose her work.
pt_BR: Imagine que você precise refazer o que já foi publicado.  Você precisará ignorar a regra "deve avançar rapidamente" para substituir o histórico publicado originalmente através  histórico que foi reformulado.  Caso alguém construa no topo do seu histórico original enquanto você está fazendo um "rebase", o topo do ramo no ramo remoto pode avançar com o commit dela e impulsionar cegamente com o `--force` fará com que ela perca o trabalho dela.

note: type: Plain text
en: This option allows you to say that you expect the history you are updating is what you rebased and want to replace. If the remote ref still points at the commit you specified, you can be sure that no other people did anything to the ref. It is like taking a "lease" on the ref without explicitly locking it, and the remote ref is updated only if the "lease" is still valid.
pt_BR: Esta opção permite que você diga que vai esperar que o histórico que está sendo atualizando seja o que você reconstruiu com o "rebase" e vai querer substituir. Casi uma "ref" remota ainda aponte para um commit específico, você pode ter certeza que outras pessoas não fizeram nada com a "ref". É como fazer uma "concessão" na ref sem bloqueá-la diretamente, a "ref" remota será atualizada apenas caso a "concessão" ainda seja válida.

note: type: Plain text
en: `--force-with-lease` alone, without specifying the details, will protect all remote refs that are going to be updated by requiring their current value to be the same as the remote-tracking branch we have for them.
pt_BR: Somente a opção `--force-with-lease`, sem qualquer outra definição, protegerá todos as refs remotas que serão atualizadas, exigindo que o seu valor atual seja o mesmo que o ramo monitorado remotamente que temos para eles.

note: type: Plain text
en: `--force-with-lease=<refname>`, without specifying the expected value, will protect the named ref (alone), if it is going to be updated, by requiring its current value to be the same as the remote-tracking branch we have for it.
pt_BR: A opção `--force-with-lease=<refname>`, sem qualquer outro valor esperado, protegerá a "ref" que foi informado (sozinho), caso seja atualizado, exigindo que o seu valor atual seja o mesmo que o ramo monitorado remotamente que temos para isso.

note: type: Plain text
en: `--force-with-lease=<refname>:<expect>` will protect the named ref (alone), if it is going to be updated, by requiring its current value to be the same as the specified value `<expect>` (which is allowed to be different from the remote-tracking branch we have for the refname, or we do not even have to have such a remote-tracking branch when this form is used).  If `<expect>` is the empty string, then the named ref must not already exist.
pt_BR: `--force-with-lease=<refname>:<expect>` protegerá o ref informado (sozinho), caso seja atualizado, exigindo que o seu valor atual seja o mesmo que o valor definido `<expect >` (que pode ser diferente do ramo monitorado remotamente que temos para o refname ou nem precisamos ter esse ramo monitorado de forma remota quando este formulário é utilizado).  Caso `<expect>` esteja vazio, então a ref informada já não deve existir.

note: type: Plain text
en: Note that all forms other than `--force-with-lease=<refname>:<expect>` that specifies the expected current value of the ref explicitly are still experimental and their semantics may change as we gain experience with this feature.
pt_BR: Observe que todas as formas diferentes da opção `--force-with-lease=<refname>:<expect>` que define o valor atual esperado para a "ref" de forma explicita, ainda são experimentais e sua semântica pode mudar à medida que adquiramos mais experiência com este recurso.

note: type: Plain text
en: "--no-force-with-lease" will cancel all the previous --force-with-lease on the command line.
pt_BR: A opção `--no-force-with-lease` cancelará todos os `--force-with-lease` anteriores na linha de comando.

note: type: Plain text
en: A general note on safety: supplying this option without an expected value, i.e. as `--force-with-lease` or `--force-with-lease=<refname>` interacts very badly with anything that implicitly runs `git fetch` on the remote to be pushed to in the background, e.g. `git fetch origin` on your repository in a cronjob.
pt_BR: Uma observação geral sobre a segurança: utilizar esta opção sem um valor esperado, por exemplo, `--force-with-lease` ou `--force-with-lease=<refname>` interage muito mal com qualquer coisa que execute de forma implícita o comando `git fetch` do ramo remoto que será encaminhado para um processo de segundo plano, como o comando `git fetch origin` no seu repositório para um trabalho agendado "cronjob" por exemplo.

note: type: Plain text
en: The protection it offers over `--force` is ensuring that subsequent changes your work wasn't based on aren't clobbered, but this is trivially defeated if some background process is updating refs in the background. We don't have anything except the remote tracking info to go by as a heuristic for refs you're expected to have seen & are willing to clobber.
pt_BR: A proteção oferecida contra a opção `--force` é garantir que as subsequentes alterações onde a base do seu trabalho não sejam prejudicadas, porém isso será derrotado trivialmente caso algum processo em segundo plano estiver atualizando as refs em segundo plano. Não temos nada além das informações de monitoramento remoto, como uma heurística para as refs que você deve ter visto e está disposto a adotar.

note: type: Plain text
en: If your editor or some other system is running `git fetch` in the background for you a way to mitigate this is to simply set up another remote:
pt_BR: Caso o seu editor ou um outro sistema esteja executando o comando `git fetch` no segundo plano para você, uma maneira de atenuar isso é simplesmente configurar um outro ramo remoto:

note: type: Plain text
en: Now when the background process runs `git fetch origin` the references on `origin-push` won't be updated, and thus commands like:
pt_BR: Agora, quando o processo em segundo plano executar o comando `git fetch origin`, as referências no `origin-push` não serão atualizadas e portanto, comandos como:

note: type: Plain text
en: Will fail unless you manually run `git fetch origin-push`. This method is of course entirely defeated by something that runs `git fetch --all`, in that case you'd need to either disable it or do something more tedious like:
pt_BR: Irá falhar a menos que você execute manualmente o comando `git fetch origin-push`. É claro que esse método será totalmente derrotado por algo que execute o comando `git fetch --all`, neste caso, você precisa desativá-lo ou fazer algo mais tedioso como:

note: type: Plain text
en: 	git fetch              # update 'master' from remote
    	git tag base master    # mark our base point
    	git rebase -i master   # rewrite some commits
    	git push --force-with-lease=master:base master:master
pt_BR: 	git fetch              # atualiza o 'master' remotamente
    	git tag base master    # marca o ponto da nossa base
    	git rebase -i master   # reescreve alguns commits
    	git push --force-with-lease=master:base master:master

note: type: Plain text
en: I.e. create a `base` tag for versions of the upstream code that you've seen and are willing to overwrite, then rewrite history, and finally force push changes to `master` if the remote version is still at `base`, regardless of what your local `remotes/origin/master` has been updated to in the background.
pt_BR: Crie uma tag `base` para as versões do código upstream que você viu e está disposto a sobrescrever por exemplo, depois reescreva o histórico e finalmente, imponha um impulsionamento "push" com as alterações para `master` caso a versão remota ainda esteja na `base`, independentemente se os seus ramos `remotes/origin/master` locais foram atualizados em segundo plano ou não.

note: type: Plain text
en: Usually, the command refuses to update a remote ref that is not an ancestor of the local ref used to overwrite it.  Also, when `--force-with-lease` option is used, the command refuses to update a remote ref whose current value does not match what is expected.
pt_BR: Normalmente, o comando se recusa a atualizar uma "ref" remota que não seja um ancestral da "ref" local utilizada para substituí-la.  Além disso, quando a opção `--force-with-lease` é utilizada, o comando se recusa a atualizar uma "ref" remota cujo valor atual não corresponda ao esperado.

note: type: Plain text
en: This flag disables these checks, and can cause the remote repository to lose commits; use it with care.
pt_BR: Esta opção desativa estas verificações e pode causar a perda do commit no repositório remoto; utilize com cuidado.

note: type: Plain text
en: Note that `--force` applies to all the refs that are pushed, hence using it with `push.default` set to `matching` or with multiple push destinations configured with `remote.*.push` may overwrite refs other than the current branch (including local refs that are strictly behind their remote counterpart).  To force a push to only one branch, use a `+` in front of the refspec to push (e.g `git push origin +master` to force a push to the `master` branch). See the `<refspec>...` section above for details.
pt_BR: Observe que a opção `--force` se aplica a todos os refs que são impulsionados, portanto, utilizá-lo com `push.default` definido como `matching` ou com os vários impulsionamentos nos destinos configurados com `remote.*.push`,  pode substituir as outras refs que não sejam o ramo atual (incluindo as refs locais que estão estritamente por trás de sua contraparte remota).  Para impor um impulsionamento "push" em apenas um ramo, utilize um `+` na frente do "refspec" que será impulsionado (como `git push origin +master` para impor um impulsionamento "push" no ramo `master` por exemplo). Consulte a seção `<refspec>...` acima para obter mais detalhes.

note: type: Labeled list
en: --repo=<repository>
pt_BR: --repo=<repositório>

note: type: Plain text
en: This option is equivalent to the <repository> argument. If both are specified, the command-line argument takes precedence.
pt_BR: Esta opção é equivalente ao argumento <repositório>. Caso ambos sejam utilizados, o argumento da linha de comandos terá a prioridade.

note: type: Plain text
en: For every branch that is up to date or successfully pushed, add upstream (tracking) reference, used by argument-less linkgit:git-pull[1] and other commands. For more information, see `branch.<name>.merge` in linkgit:git-config[1].
pt_BR: Para cada ramo atualizado ou impulsionada com êxito, adicione uma referência "upstream" (monitorado), utilizada sem argumento pelo linkgit:git-pull[1] e os outros comandos. Para mais informações, consulte `branch.<nome>.merge` no linkgit:git-config[1].

note: type: Plain text
en: These options are passed to linkgit:git-send-pack[1]. A thin transfer significantly reduces the amount of sent data when the sender and receiver share many of the same objects in common. The default is `--thin`.
pt_BR: Estas opções são passadas para o linkgit:git-send-pack[1]. Uma pequena transferência "thin" reduz significativamente a quantidade dos dados enviados quando o remetente e o destinatário compartilham muito dos mesmos objetos em comum. A predefinição é `--thin`.

note: type: Plain text
en: Suppress all output, including the listing of updated refs, unless an error occurs. Progress is not reported to the standard error stream.
pt_BR: Suprima tudo o que for gerado, incluindo a listagem das atualizações das refs, a menos que um erro aconteça. O progresso não é relatado para o fluxo de erro predefinido.

note: type: Plain text
en: May be used to make sure all submodule commits used by the revisions to be pushed are available on a remote-tracking branch.  If 'check' is used Git will verify that all submodule commits that changed in the revisions to be pushed are available on at least one remote of the submodule. If any commits are missing the push will be aborted and exit with non-zero status. If 'on-demand' is used all submodules that changed in the revisions to be pushed will be pushed. If on-demand was not able to push all necessary revisions it will also be aborted and exit with non-zero status. If 'only' is used all submodules will be recursively pushed while the superproject is left unpushed. A value of 'no' or using `--no-recurse-submodules` can be used to override the push.recurseSubmodules configuration variable when no submodule recursion is required.
pt_BR: Pode ser utilizado para garantir que todos os submódulo dos commits utilizadas pelas revisões que serão enviadas estejam disponíveis em uma ramificação monitorada remotamente.  Caso 'check' seja utilizado, o Git verificará se todos os commit do submódulo que foram alterados nas revisões que serão enviadas estão disponíveis em pelo menos um ramo remoto do submódulo. Caso algum commit esteja ausente, o push será abortado e encerrará com uma condição diferente de zero. Caso 'on demand' seja utilizado, todos os submódulos que foram alterados nas revisões que serão impulsionadas, serão impulsionadas. Caso 'on demand' não puder enviar todas as revisões necessárias, ela também será abortada e sairá com uma condição diferente de zero. Caso 'only' seja utilizado, todos os submódulos serão impulsionados de forma recursiva enquanto o superprojeto não seja deixado sem impulsionamento. Um valor de 'no' ou utilizando a opção `--no-recurse-submodules` pode ser utilizado para substituir a variável de configuração `push.recurseSubmodules` quando nenhuma recursão do sub-módulo for necessária.

note: type: Plain text
en: Toggle the pre-push hook (see linkgit:githooks[5]).  The default is --verify, giving the hook a chance to prevent the push.  With --no-verify, the hook is bypassed completely.
pt_BR: Alterna o gancho "pre-push" (consulte linkgit:githooks[5]).  A opção `--verify` é a predefinição, dando ao gancho a chance de impedir o impulsionamento.  Com a opção --no-verify, o gancho é completamente ignorado.

note: type: Plain text
en: The output of "git push" depends on the transport method used; this section describes the output when pushing over the Git protocol (either locally or via ssh).
pt_BR: O que é gerado através do "git push" depende do método de transporte utilizado; Esta seção descreve a saída gerada durante o impulsionamento através do protocolo Git (localmente ou através do ssh).

note: type: Plain text
en: The status of the push is output in tabular form, with each line representing the status of a single ref. Each line is of the form:
pt_BR: Durante um "push" a condição é que seja gerado em formato de tabela, com cada linha representando a condição de um único "ref". Cada linha é uma forma de:

note: type: delimited block -
en:  <flag> <summary> <from> -> <to> (<reason>)
pt_BR:  <flag> <resumo> <from> -> <to> (<reason>)

note: type: Plain text
en: If --porcelain is used, then each line of the output is of the form:
pt_BR: Caso a opção `--porcelain` seja utilizado, cada linha da saída terá o formato:

note: type: Plain text
en: The status of up-to-date refs is shown only if --porcelain or --verbose option is used.
pt_BR: A condição das referências atualizadas é exibido apenas caso a opção `--porcelain` ou `--verbose` seja utilizada.

note: type: Plain text
en: for a successfully pushed fast-forward;
pt_BR: para um push com avanço rápido bem sucedido;

note: type: Plain text
en: for a successfully deleted ref;
pt_BR: para uma "ref" que foi excluída com sucesso;

note: type: Plain text
en: for a successfully pushed new ref;
pt_BR: para uma nova "ref" enviada com sucesso;

note: type: Plain text
en: for a ref that was rejected or failed to push; and
pt_BR: para uma "ref"que foi rejeitado ou não conseguiu realizar o impulsionamento "push"; e

note: type: Plain text
en: for a ref that was up to date and did not need pushing.
pt_BR: para uma "ref" que estava atualizada e não precisava do impulsionamento "push".

note: type: Plain text
en: For a successfully pushed ref, the summary shows the old and new values of the ref in a form suitable for using as an argument to `git log` (this is `<old>..<new>` in most cases, and `<old>...<new>` for forced non-fast-forward updates).
pt_BR: Para uma "ref" impulsionada com sucesso, o resumo mostra os valores antigos e os novos da "ref" em um formato adequado para a utilização como argumento para o comando `git log` (isso é `<antigo>..<novo>` na maioria dos casos, e `<antigo>...<novo>` para as atualizações impostas pelo avanço rápido).

note: type: Plain text
en: For a failed update, more details are given:
pt_BR: Para uma atualização que falhou, mais detalhes serão dados:

note: type: Labeled list
en: rejected
pt_BR: rejeitado

note: type: Plain text
en: Git did not try to send the ref at all, typically because it is not a fast-forward and you did not force the update.
pt_BR: O Git não tenta encaminhar a "ref" de forma alguma, geralmente porque não é um avanço rápido e você não impôs a atualização.

note: type: Labeled list
en: remote rejected
pt_BR: rejeitado remotamente

note: type: Plain text
en: The remote end refused the update.  Usually caused by a hook on the remote side, or because the remote repository has one of the following safety options in effect: `receive.denyCurrentBranch` (for pushes to the checked out branch), `receive.denyNonFastForwards` (for forced non-fast-forward updates), `receive.denyDeletes` or `receive.denyDeleteCurrent`.  See linkgit:git-config[1].
pt_BR: Quando o lado remoto recusa a atualização.  Geralmente cautilizada por um gancho no lado remoto ou porque o repositório remoto possui uma das seguintes opções de segurança em vigor: `receive.denyCurrentBranch` (para um `push` feiro em um ramo verificado), `receive.denyNonFastForwards` (para atualizações impostas ou rápidas), `receive.denyDeletes` ou `receive.denyDeleteCurrent`.  Consulte linkgit:git-config[1].

note: type: Labeled list
en: remote failure
pt_BR: falha remota

note: type: Plain text
en: The remote end did not report the successful update of the ref, perhaps because of a temporary error on the remote side, a break in the network connection, or other transient error.
pt_BR: O lado remoto não relatou a atualização bem-sucedida da "ref", talvez por causa de um erro temporário, uma interrupção na conexão da rede ou um outro erro transitório.

note: type: Plain text
en: The name of the local ref being pushed, minus its `refs/<type>/` prefix. In the case of deletion, the name of the local ref is omitted.
pt_BR: O nome do "ref" local que está sendo impulsionado, menos o seu prefixo `refs/<tipo>/`. No caso de exclusão, o nome do "ref" local é omitido.

note: type: Plain text
en: The name of the remote ref being updated, minus its `refs/<type>/` prefix.
pt_BR: O nome ref remoto sendo atualizado, menos o seu prefixo `refs/<tipo>/`.

note: type: Plain text
en: A human-readable explanation. In the case of successfully pushed refs, no explanation is needed. For a failed ref, the reason for failure is described.
pt_BR: Uma explicação legível para pessoas. No caso dos refs que forem enviados com sucesso, nenhuma explicação é necessária. Para um "ref" que falhou, o motivo do fracasso então é descrito.

note: type: Title -
en: NOTE ABOUT FAST-FORWARDS
pt_BR: NOTA SOBRE AVANÇOS RÁPIDOS

note: type: Plain text
en: When an update changes a branch (or more in general, a ref) that used to point at commit A to point at another commit B, it is called a fast-forward update if and only if B is a descendant of A.
pt_BR: Quando uma atualização altera um ramo (ou geralmente uma "ref") que costumava apontar para o commit 'A' que aponta para outro commit 'B', é chamado de atualização de avanço rápido apenas e somente se 'B' for descendente de 'A'.

note: type: Plain text
en: In a fast-forward update from A to B, the set of commits that the original commit A built on top of is a subset of the commits the new commit B builds on top of.  Hence, it does not lose any history.
pt_BR: Em uma atualização de avanço rápido de A para B, o conjunto dos commits que o commit original A que construiu sobre ela é um subconjunto dos commits que o novo commit B constrói sobre ela.  Portanto, não perde nenhum histórico.

note: type: Plain text
en: In contrast, a non-fast-forward update will lose history.  For example, suppose you and somebody else started at the same commit X, and you built a history leading to commit B while the other person built a history leading to commit A.  The history looks like this:
pt_BR: Por outro lado, uma atualização sem avanço rápido perderá o histórico.  Por exemplo, suponha que você e uma outra pessoa tenham iniciado o mesmo commit 'X' e você construiu um histórico que leva ao commit 'B', enquanto a outra pessoa construiu um histórico que leva ao commit 'A'.  O histórico ficaria assim:

note: type: Plain text
en: Further suppose that the other person already pushed changes leading to A back to the original repository from which you two obtained the original commit X.
pt_BR: Além disso, suponha que a outra pessoa já tenha enviado as alterações que levam "A" de volta ao repositório original, a partir do qual vocês dois obtiveram o commit "X" original.

note: type: Plain text
en: The push done by the other person updated the branch that used to point at commit X to point at commit A.  It is a fast-forward.
pt_BR: O impulsionamento feito pela outra pessoa atualizou o ramo que costumava apontar no commit 'X' para apontar no commit 'A'. É um avanço rápido.

note: type: Plain text
en: But if you try to push, you will attempt to update the branch (that now points at A) with commit B.  This does _not_ fast-forward.  If you did so, the changes introduced by commit A will be lost, because everybody will now start building on top of B.
pt_BR: Porém caso você tente impulsionar, você tentará atualizar o ramo (que agora aponta para 'A') com o commit 'B'. Isso _não_ fa o avanço rapido.  Se você fez isso, as alterações introduzidas pelo commit 'A' serão perdidas, porque todo mundo começará a construir em cima do 'B'.

note: type: Plain text
en: The command by default does not allow an update that is not a fast-forward to prevent such loss of history.
pt_BR: É predefinido que o comando não permita uma atualização que não seja um avanço rápido para impedir esta perda do histórico.

note: type: Plain text
en: If you do not want to lose your work (history from X to B) or the work by the other person (history from X to A), you would need to first fetch the history from the repository, create a history that contains changes done by both parties, and push the result back.
pt_BR: Caso não queira perder o seu trabalho (histórico 'X' para 'B') ou o trabalho da outra pessoa (histórico de 'X' para 'A'), é necessário primeiro buscar o histórico no repositório, criar um histórico que contenha as alterações feitas por ambas as partes e que impulsione o resultado de volta.

note: type: Plain text
en: You can perform "git pull", resolve potential conflicts, and "git push" the result.  A "git pull" will create a merge commit C between commits A and B.
pt_BR: É possível executar o comando "git pull", para resolver os possíveis conflitos e comando "git push" o resultado.  Um comando "git pull" criará um commit da mesclagem 'C' entre os commits 'A' e 'B'.

note: type: Plain text
en: Updating A with the resulting merge commit will fast-forward and your push will be accepted.
pt_BR: A atualização de "A" com a consolidação resultante da mesclagem, avançará rapidamente e o seu envio será aceito.

note: type: Plain text
en: Alternatively, you can rebase your change between X and B on top of A, with "git pull --rebase", and push the result back.  The rebase will create a new commit D that builds the change between X and B on top of A.
pt_BR: Como alternativa, você pode reconstruir a sua alteração entre 'X' e o 'B' no topo de 'A', com o comando "git pull --rebase", e fazer o impulsionamento do resultado de volta.  Uma reconstrução da fundação "rebase" criará um novo commit 'D' que gera a alteração entre 'X' e 'B' em cima de 'A'.

note: type: Plain text
en: Again, updating A with this commit will fast-forward and your push will be accepted.
pt_BR: Novamente, a atualização de 'A' com este commit avançará rapidamente e o seu envio será aceito.

note: type: Plain text
en: There is another common situation where you may encounter non-fast-forward rejection when you try to push, and it is possible even when you are pushing into a repository nobody else pushes into. After you push commit A yourself (in the first picture in this section), replace it with "git commit --amend" to produce commit B, and you try to push it out, because forgot that you have pushed A out already. In such a case, and only if you are certain that nobody in the meantime fetched your earlier commit A (and started building on top of it), you can run "git push --force" to overwrite it. In other words, "git push --force" is a method reserved for a case where you do mean to lose history.
pt_BR: Há uma outra situação comum onde é possível encontrar uma rejeição sem avanço rápido ao tentar enviar através do "push", e é possível mesmo quando você está impulsionando para um repositório que ninguém mais faz impulsionamentos. Depois de enviar o commit 'A' (na primeira foto desta seção), substitua-o pelo comando "git commit --amend" para produzir o commit 'B' e tente realizar o "push", porque foi esquecido que já foi feito um push para 'A'. Neste caso e somente caso tenha certeza que ninguém fez a busca pelo seu commit 'A' anterior (e começou a construir em cima ele), execute o comando "git push --force" para substituí-lo. Em outras palavras, o comando "git push --force" é um método reservado para o caso onde você queira perder o histórico.

note: type: Plain text
en: Works like `git push <remote>`, where <remote> is the current branch's remote (or `origin`, if no remote is configured for the current branch).
pt_BR: Funciona como `git push <remoto>`, onde <remoto> é o ramo remoto da ramificação atual (ou `origin` (origem), caso nenhum ramo remoto estiver configurado para a ramificação atual).

note: type: Plain text
en: Without additional configuration, pushes the current branch to the configured upstream (`remote.origin.merge` configuration variable) if it has the same name as the current branch, and errors out without pushing otherwise.
pt_BR: Sem uma configuração adicional, envia a ramificação atual para a upstream configurada (a variável de configuração `remote.origin.merge`) caso ela tenha o mesmo nome que o ramo atual e os erros ocorrerem sem qualquer outro impulsionamento.

note: type: Plain text
en: The default behavior of this command when no <refspec> is given can be configured by setting the `push` option of the remote, or the `push.default` configuration variable.
pt_BR: O comportamento predefinido deste comando quando nenhum <refspec> for informado, pode ser configurado definindo a opção `push` do ramo remoto ou a variável de configuração `push.default`.

note: type: Plain text
en: For example, to default to pushing only the current branch to `origin` use `git config remote.origin.push HEAD`.  Any valid <refspec> (like the ones in the examples below) can be configured as the default for `git push origin`.
pt_BR: Por exemplo, para utilizar como predefinido apenas no ramo atual para `origin`, utilize `git config remote.origin.push HEAD`.  Qualquer <refspec> válido (como os exemplos abaixo) pode ser configurado como a predefinição para `git push origin`.

note: type: Plain text
en: Push "matching" branches to `origin`. See <refspec> in the <<OPTIONS,OPTIONS>> section above for a description of "matching" branches.
pt_BR: Impulsiona (push) as ramificações "que coincidam" para `origin`. Consulte o <refspec> na seção <<OPTIONS,OPTIONS>> acima para obter uma descrição dos ramos "coincidentes".

note: type: Plain text
en: Find a ref that matches `master` in the source repository (most likely, it would find `refs/heads/master`), and update the same ref (e.g. `refs/heads/master`) in `origin` repository with it.  If `master` did not exist remotely, it would be created.
pt_BR: Encontre uma "ref" que coincida com o `master` no repositório da origem (provavelmente encontrará `refs/heads/master`) e atualize a mesma "ref" (`refs/heads/master` por exemplo) no repositório `origin` com ela .  Caso o `master` não existisse remotamente, ele seria criado.

note: type: Plain text
en: A handy way to push the current branch to the same name on the remote.
pt_BR: Uma maneira prática de enviar a ramificação atual com o mesmo nome no ramo remoto.

note: type: Plain text
en: Use the source ref that matches `master` (e.g. `refs/heads/master`)  to update the ref that matches `satellite/master` (most probably `refs/remotes/satellite/master`) in the `mothership` repository; do the same for `dev` and `satellite/dev`.
pt_BR: Utilize a fonte "ref" que coincida com `master` (`refs/heads/ master` por exemplo) para atualizar a "ref" que coincida com `satellite/master` (provavelmente `refs/remotes/satellite/master`) no repositório `mothership`; faça o mesmo para `dev` e `satellite/dev`.

note: type: Plain text
en: See the section describing `<refspec>...` above for a discussion of the matching semantics.
pt_BR: Consulte a seção que descreve `<refspec> ...` acima para uma discussão sobre a combinação semântica.

note: type: Plain text
en: This is to emulate `git fetch` run on the `mothership` using `git push` that is run in the opposite direction in order to integrate the work done on `satellite`, and is often necessary when you can only make connection in one way (i.e. satellite can ssh into mothership but mothership cannot initiate connection to satellite because the latter is behind a firewall or does not run sshd).
pt_BR: Isto serve para emular o comando `git fetch` executado na `mothership` utilizando o `git push` que é executado na direção oposta para integrar o trabalho realizado no `satellite` e geralmente é necessário quando só é possível fazer a conexão em um sentido (ou seja, o satélite pode fazer uma conexão ssh com a nave mãe "mothership" mas a nave mãe não pode iniciar a conexão com o satélite porque este está atrás de um firewall ou não está executando o sshd (servidor ssh)).

note: type: Plain text
en: After running this `git push` on the `satellite` machine, you would ssh into the `mothership` and run `git merge` there to complete the emulation of `git pull` that were run on `mothership` to pull changes made on `satellite`.
pt_BR: Depois de executar o comando `git push` na máquina do `satellite`, você entraria na `mothership` e executaria o comando `git merge` lá para concluir a emulação do comando `git pull` executada na `mothership` para obter as alterações feitas no "satellite".

note: type: Labeled list
en: `git push origin HEAD:master`
pt_BR: `git push origin HEAD: master`

note: type: Plain text
en: Push the current branch to the remote ref matching `master` in the `origin` repository. This form is convenient to push the current branch without thinking about its local name.
pt_BR: Envie o ramo atual para a referência remota que coincida com `master` no repositório `origin`. Este formulário é conveniente para impulsionar o ramo atual sem pensar no nome local.

note: type: Plain text
en: Create the branch `experimental` in the `origin` repository by copying the current `master` branch.  This form is only needed to create a new branch or tag in the remote repository when the local name and the remote name are different; otherwise, the ref name on its own will work.
pt_BR: Crie o ramo `experimental` no repositório `origin` copiando o ramo `master` atual.  Este formulário é necessário apenas para criar um novo ramo ou a tag no repositório remoto quando o nome local e o nome remoto forem diferentes; caso contrário, o nome da "ref" por si só funcionará.

note: type: Plain text
en: Find a ref that matches `experimental` in the `origin` repository (e.g. `refs/heads/experimental`), and delete it.
pt_BR: Encontre uma "ref" que coincida com `experimental` no repositório `origin` (`refs/heads/experimental` por exemplo) e exclua-a.

note: type: Plain text
en: Update the origin repository's master branch with the dev branch, allowing non-fast-forward updates.  *This can leave unreferenced commits dangling in the origin repository.* Consider the following situation, where a fast-forward is not possible:
pt_BR: Atualize o ramo principal na origem do repositório com o ramo 'dev', permitindo atualizações sem o avanço rápido.  *Isso pode deixar os commits sem referência pendentes no repositório de origem.* Considere a seguinte situação, onde um avanço rápido não seja possível:

note: type: Plain text
en: The above command would change the origin repository to
pt_BR: O comando acima alteraria o repositório de origem para

note: type: delimited block -
en: 		      A---B  (unnamed branch)
    		     /
    	    o---o---o---X---Y---Z  master
pt_BR: 		      A---B  (ramo sem nome)
    		     /
    	    o---o---o---X---Y---Z  master

note: type: Plain text
en: Commits A and B would no longer belong to a branch with a symbolic name, and so would be unreachable.  As such, these commits would be removed by a `git gc` command on the origin repository.
pt_BR: Os commits 'A' e 'B' não pertenceriam mais a um ramo com um nome simbólico, portanto, seriam inacessíveis.  Como tal, estes commits seriam removidos por um comando `git gc` no repositório de origem.

note: type: Plain text
en: git-quiltimport - Applies a quilt patchset onto the current branch
pt_BR: git-quiltimport - Aplica um conjunto de patches no ramo atual

note: type: Plain text
en: 'git quiltimport' [--dry-run | -n] [--author <author>] [--patches <dir>]
    		[--series <file>] [--keep-non-patch]
pt_BR: 'git quiltimport' [--dry-run | -n] [--author <autor>] [--patches <dir>]
    		[--series <arquivo>] [--keep-non-patch]

note: type: Plain text
en: Applies a quilt patchset onto the current Git branch, preserving the patch boundaries, patch order, and patch descriptions present in the quilt patchset.
pt_BR: Aplica um conjunto de patches no ramo Git atual, preservando os limites, a ordem e as suas descrições.

note: type: Plain text
en: For each patch the code attempts to extract the author from the patch description.  If that fails it falls back to the author specified with --author.  If the --author flag was not given the patch description is displayed and the user is asked to interactively enter the author of the patch.
pt_BR: Para cada patch, o código tenta extrair o autor da descrição do patch.  Caso falhe, ele retornará ao autor definido com --author.  Se o a opção `--author` não seja informado, a descrição do patch é exibida e o usuário é solicitado a inserir interativamente o autor do patch.

note: type: Plain text
en: If a subject is not found in the patch description the patch name is preserved as the 1 line subject in the Git description.
pt_BR: Caso um assunto não seja encontrado na descrição do patch, o nome do patch será preservado como o assunto com 1 linha na descrição do Git.

note: type: Plain text
en: Walk through the patches in the series and warn if we cannot find all of the necessary information to commit a patch.  At the time of this writing only missing author information is warned about.
pt_BR: Percorra os patches da série e avise caso não consigamos encontrar todas as informações necessárias para fazer o commit de um patch.  No momento da redação deste artigo, apenas as informações ausentes do autor são alertadas.

note: type: Labeled list
en: --author Author Name <Author Email>
pt_BR: --author Nome do Autor <E-Mail do Autor>

note: type: Plain text
en: The author name and email address to use when no author information can be found in the patch description.
pt_BR: O nome do autor e o endereço de e-mail que serão utilizados quando nenhuma informação do autor puder ser encontrada na descrição do patch.

note: type: Plain text
en: The directory to find the quilt patches.
pt_BR: O diretório para encontrar a colcha de retalhos dos patches.

note: type: Plain text
en: The default for the patch directory is patches or the value of the `$QUILT_PATCHES` environment variable.
pt_BR: A predefinição para o diretório de patches é "patches" ou o valor da variável de ambiente `$QUILT_PATCHES`.

note: type: Labeled list
en: --series <file>
pt_BR: --series <arquivo>

note: type: Plain text
en: The quilt series file.
pt_BR: O arquivo da série colcha de retalhos "quilt".

note: type: Plain text
en: The default for the series file is <patches>/series or the value of the `$QUILT_SERIES` environment variable.
pt_BR: O padrão para o arquivo da série são <patches>/series ou o valor da variável de ambiente `$QUILT_SERIES`.

note: type: Plain text
en: git-read-tree - Reads tree information into the index
pt_BR: git-read-tree - Lê as informações da árvore no índice

note: type: Plain text
en: 'git read-tree' [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>]
    		[-u [--exclude-per-directory=<gitignore>] | -i]]
    		[--index-output=<file>] [--no-sparse-checkout]
    		(--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])
pt_BR: 'git read-tree' [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefixo>]
    		[-u [--exclude-per-directory=<gitignore>] | -i]]
    		[--index-output=<arquivo>] [--no-sparse-checkout]
    		(--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])

note: type: Plain text
en: Reads the tree information given by <tree-ish> into the index, but does not actually *update* any of the files it "caches". (see: linkgit:git-checkout-index[1])
pt_BR: Lê as informações da árvore informada através de `<tree-ish>` no índice, mas na verdade não *atualize* nenhum dos arquivos que ele "armazena em cache". (consulte: linkgit:git-checkout-index[1])

note: type: Plain text
en: Optionally, it can merge a tree into the index, perform a fast-forward (i.e. 2-way) merge, or a 3-way merge, with the `-m` flag.  When used with `-m`, the `-u` flag causes it to also update the files in the work tree with the result of the merge.
pt_BR: Opcionalmente, ele pode mesclar uma árvore no índice, executar uma mesclagem de avanço rápido (isto é, bidirecional) ou uma mesclagem de três vias, com a opção `-m`.  Quando utilizado com a opção `-m`, a opção `-u` faz com que ele também atualize os arquivos na árvore de trabalho com o resultado do que foi mesclado.

note: type: Plain text
en: Trivial merges are done by 'git read-tree' itself.  Only conflicting paths will be in unmerged state when 'git read-tree' returns.
pt_BR: Mesclagens triviais são feitas através do próprio comando 'git read-tree'.  Somente os caminhos conflitantes estarão com a sua condição inalterada quando o comando 'git read-tree' retornar.

note: type: Plain text
en: Perform a merge, not just a read.  The command will refuse to run if your index file has unmerged entries, indicating that you have not finished previous merge you started.
pt_BR: Faça uma mesclagem e não apenas uma leitura.  O comando se recusará a executar caso o arquivo do índice tiver entradas que não foram mescladas, indicando que você não concluiu a mesclagem anterior iniciada anteriormente.

note: type: Plain text
en: Same as -m, except that unmerged entries are discarded instead of failing. When used with `-u`, updates leading to loss of working tree changes will not abort the operation.
pt_BR: O mesmo que `-m`, exceto que as entradas não imersas são descartadas em vez de falharem. Quando utilizadas com a opção `-u`, as atualizações que levam à perda das alterações na árvore de trabalho não interrompem a operação.

note: type: Plain text
en: After a successful merge, update the files in the work tree with the result of the merge.
pt_BR: Após uma mesclagem bem-sucedida, atualize os arquivos na árvore de trabalho com o resultado da mesclagem.

note: type: Plain text
en: Usually a merge requires the index file as well as the files in the working tree to be up to date with the current head commit, in order not to lose local changes.  This flag disables the check with the working tree and is meant to be used when creating a merge of trees that are not directly related to the current working tree status into a temporary index file.
pt_BR: Geralmente, uma mesclagem exige que o arquivo do índice e os arquivos da árvore de trabalho estejam atualizados com o commit principal atualizado, para que não se perca as alterações locais.  Esta opção desativa a verificação com a árvore de trabalho e deve ser utilizado ao criar uma mesclagem das árvores que não estão diretamente relacionadas a condição atual da árvore de trabalho em um arquivo do índice temporário.

note: type: Plain text
en: Check if the command would error out, without updating the index or the files in the working tree for real.
pt_BR: Verifique se o comando gera algum erro, sem atualizar de verdade, o índice ou os arquivos na árvore de trabalho.

note: type: Plain text
en: Show the progress of checking files out.
pt_BR: Exiba o progresso da averiguação dos arquivos.

note: type: Plain text
en: Restrict three-way merge by 'git read-tree' to happen only if there is no file-level merging required, instead of resolving merge for trivial cases and leaving conflicting files unresolved in the index.
pt_BR: Restrinja a mesclagem de três vias através do comando 'git read-tree' para que aconteça apenas caso não seja necessário a mesclagem no nível do arquivo, em vez de resolver a mesclagem para casos triviais e deixar os arquivos conflitantes não resolvidos no índice.

note: type: Plain text
en: Usually a three-way merge by 'git read-tree' resolves the merge for really trivial cases and leaves other cases unresolved in the index, so that porcelains can implement different merge policies.  This flag makes the command resolve a few more cases internally:
pt_BR: Normalmente, uma mesclagem de três vias deita através do comando 'git read-tree' resolve a mesclagem para os casos realmente triviais e deixa os outros casos que não foram resolvidos no índice, para que as porcelanas possam implementar diferentes políticas de mesclagem.  Esta opção faz com que o comando resolva mais alguns casos internamente:

note: type: Plain text
en: when one side removes a path and the other side leaves the path unmodified.  The resolution is to remove that path.
pt_BR: quando um lado remove um caminho e o outro lado não o altera.  A solução é remover este caminho.

note: type: Plain text
en: when both sides remove a path.  The resolution is to remove that path.
pt_BR: quando ambos os lados removerem um caminho.  A solução é remover este caminho.

note: type: Plain text
en: when both sides add a path identically.  The resolution is to add that path.
pt_BR: quando os dois lados adicionarem um caminho idêntico.  A resolução é adicionar este caminho.

note: type: Labeled list
en: --prefix=<prefix>
pt_BR: --prefix=<prefixo>

note: type: Plain text
en: Keep the current index contents, and read the contents of the named tree-ish under the directory at `<prefix>`.  The command will refuse to overwrite entries that already existed in the original index file.
pt_BR: Mantenha o conteúdo do índice atual e leia o conteúdo do 'tree-ish' informado no diretório `<prefixo>`.  O comando se recusará a substituir as entradas que já existiam no arquivo do índice original.

note: type: Plain text
en: When running the command with `-u` and `-m` options, the merge result may need to overwrite paths that are not tracked in the current branch.  The command usually refuses to proceed with the merge to avoid losing such a path.  However this safety valve sometimes gets in the way.  For example, it often happens that the other branch added a file that used to be a generated file in your branch, and the safety valve triggers when you try to switch to that branch after you ran `make` but before running `make clean` to remove the generated file.  This option tells the command to read per-directory exclude file (usually '.gitignore') and allows such an untracked but explicitly ignored file to be overwritten.
pt_BR: Ao executar o comando com as opções `-u` e `-m`, o resultado da mesclagem pode precisar substituir os caminhos que não são monitorados na ramificação atual.  O comando geralmente se recusa a prosseguir com a mesclagem para evitar a perda deste caminho.  No entanto, essa válvula de segurança às vezes atrapalha.  Muitas vezes acontece do outro ramo ter adicionado um arquivo que costumava ser um arquivo que foi gerado na sua ramificação e a válvula de segurança é acionada quando você tenta alternar para esta ramificação depois de executar o comando `make`, porém antes de executar `make clean` para remover todos os arquivo gerados pelo processo `make`.  Essa opção informa ao comando para ler o arquivo de exclusão por diretório (geralmente '.gitignore') e permite que um arquivo que não seja monitorado, porém ignorado de forma explicita seja substituído.

note: type: Labeled list
en: --index-output=<file>
pt_BR: --index-output=<arquivo>

note: type: Plain text
en: Instead of writing the results out to `$GIT_INDEX_FILE`, write the resulting index in the named file.  While the command is operating, the original index file is locked with the same mechanism as usual.  The file must allow to be rename(2)ed into from a temporary file that is created next to the usual index file; typically this means it needs to be on the same filesystem as the index file itself, and you need write permission to the directories the index file and index output file are located in.
pt_BR: Em vez de escrever os resultados em `$GIT_INDEX_FILE`, escreva o índice resultante no arquivo informado.  Enquanto o comando está em operação, o arquivo do índice original é bloqueado com o mesmo mecanismo de sempre.  O arquivo deve permitir que seja rename(2)ed (renomeado) de um arquivo temporário criado ao lado do arquivo do índice tradicional; normalmente, significa que ele precisa estar no mesmo sistema de arquivos que o próprio arquivo do índice e é necessário ter permissão de gravação nos diretórios onde o arquivo de índice e o arquivo gerado do índice estejam localizados.

note: type: Plain text
en: Using --recurse-submodules will update the content of all active submodules according to the commit recorded in the superproject by calling read-tree recursively, also setting the submodules' HEAD to be detached at that commit.
pt_BR: A utilização do --recurse-submodules atualizará o conteúdo de todos os submódulos ativos de acordo com o commit registrado no superprojeto ao chamar de forma recursiva o "read-tree" e também ao definir os submódulos para ser desanexados naquele commit.

note: type: Plain text
en: Disable sparse checkout support even if `core.sparseCheckout` is true.
pt_BR: Desative a compatibilidade com a verificação esparsa, mesmo que o `core.sparseCheckout` seja verdadeiro.

note: type: Plain text
en: Instead of reading tree object(s) into the index, just empty it.
pt_BR: Em vez de ler o(s) objeto(s) da árvore no índice, apenas esvazie-a.

note: type: Plain text
en: The id of the tree object(s) to be read/merged.
pt_BR: O ID do(s) objeto(s) da árvore que será lido/mesclado.

note: type: Title -
en: MERGING
pt_BR: MESCLANDO

note: type: Plain text
en: If `-m` is specified, 'git read-tree' can perform 3 kinds of merge, a single tree merge if only 1 tree is given, a fast-forward merge with 2 trees, or a 3-way merge if 3 or more trees are provided.
pt_BR: Se `-m` seja utilizado, o comando 'git read-tree' pode executar 3 tipos de mesclagem, uma única mesclagem na árvore caso apenas uma árvore seja informada, uma mesclagem de avanço rápido nas 2 árvores ou uma mesclagem de 3 vias caso 3 ou mais árvores sejam informadas.

note: type: Title ~
en: Single Tree Merge
pt_BR: Mesclagem Única da Árvore

note: type: Plain text
en: If only 1 tree is specified, 'git read-tree' operates as if the user did not specify `-m`, except that if the original index has an entry for a given pathname, and the contents of the path match with the tree being read, the stat info from the index is used. (In other words, the index's stat()s take precedence over the merged tree's).
pt_BR: Caso apenas 1 árvore seja informada, 'git read-tree' funcionará como se o usuário não a tivesse informado `-m`, exceto quando o índice original tiver uma entrada para um determinado nome do caminho e o conteúdo do caminho corresponder à árvore sendo lida, as estatísticas das informações do índice são utilizadas. (Em outras palavras, os 'stat()' do índice têm precedência sobre os da árvore mesclada).

note: type: Plain text
en: That means that if you do a `git read-tree -m <newtree>` followed by a `git checkout-index -f -u -a`, the 'git checkout-index' only checks out the stuff that really changed.
pt_BR: Significa que se você fizer um `git read-tree -m <newtree>` seguido de um `git checkout-index -f -u -a`, o comando 'git checkout-index' verificará apenas o que realmente mudou.

note: type: Plain text
en: This is used to avoid unnecessary false hits when 'git diff-files' is run after 'git read-tree'.
pt_BR: É utilizado para evitar acertos falsos desnecessários quando 'git diff-files' é executado após 'git read-tree'.

note: type: Title ~
en: Two Tree Merge
pt_BR: Mesclagem de duas, três árvores

note: type: Plain text
en: Typically, this is invoked as `git read-tree -m $H $M`, where $H is the head commit of the current repository, and $M is the head of a foreign tree, which is simply ahead of $H (i.e. we are in a fast-forward situation).
pt_BR: Normalmente, isso é invocado como `git read-tree -m $H $M`, onde '$H' é o commit principal do repositório atual e o '$M' é o cabeçalho de uma árvore estrangeira, que está simplesmente à frente de '$H' ( ou seja, estamos em uma situação de avanço rápido).

note: type: Plain text
en: When two trees are specified, the user is telling 'git read-tree' the following:
pt_BR: Quando duas árvores são definidas, o usuário informa ao 'git read-tree' o seguinte:

note: type: Plain text
en: The current index and work tree is derived from $H, but
pt_BR: O índice atual e a árvore de trabalho são derivadas de '$H', mas

note: type: Plain text
en: the user may have local changes in them since $H.
pt_BR: o usuário pode ter alterações locais desde '$H'.

note: type: Plain text
en: The user wants to fast-forward to $M.
pt_BR: O usuário deseja avançar rapidamente para '$M'.

note: type: Plain text
en: In this case, the `git read-tree -m $H $M` command makes sure that no local change is lost as the result of this "merge".  Here are the "carry forward" rules, where "I" denotes the index, "clean" means that index and work tree coincide, and "exists"/"nothing" refer to the presence of a path in the specified commit:
pt_BR: Nesse caso, o comando `git read-tree -m $H $M` garante que nenhuma mudança local seja perdida como resultado desta "mesclagem".  Aqui estão as regras "carry forward", onde "I" denota o índice, "clean" significa que o índice e a árvore de trabalho coincidem e "existe"/"nothing" se refere à presença de um caminho no commit informado:

note: type: delimited block .
en: 	I                   H        M        Result
           -------------------------------------------------------
         0  nothing             nothing  nothing  (does not happen)
         1  nothing             nothing  exists   use M
         2  nothing             exists   nothing  remove path from index
         3  nothing             exists   exists,  use M if "initial checkout",
    				     H == M   keep index otherwise
    				     exists,  fail
    				     H != M
pt_BR: 	I                   H        M        Result
           -------------------------------------------------------
         0  nada                nada     nada     (não acontece)
         1  nada                nada     existe   usa M
         2  nada                existe   nada     remove o caminho do índice
         3  nada                existe   existe,  usa M caso "averiguação inicial",
    				     H == M   caso contrário, mantenha o índice
    				     existe,  falha
    				     H != M

note: type: delimited block .
en:         clean I==H  I==M
           ------------------
         4  yes   N/A   N/A     nothing  nothing  keep index
         5  no    N/A   N/A     nothing  nothing  keep index
pt_BR:         clean I==H  I==M
           ------------------
         4  sim  N/A   N/A     nada  nada  mantenha o índice
         5  não  N/A   N/A     nada  nada  mantenha o índice

note: type: delimited block .
en:      6  yes   N/A   yes     nothing  exists   keep index
         7  no    N/A   yes     nothing  exists   keep index
         8  yes   N/A   no      nothing  exists   fail
         9  no    N/A   no      nothing  exists   fail
pt_BR:      6  sim   N/A   sim     nada     existe   mantenha o índice
         7  não   N/A   sim     nada     existe   mantenha o índice
         8  sim   N/A   não     nada     existe   falha
         9  não   N/A   não     nada     existe   falha

note: type: delimited block .
en:      10 yes   yes   N/A     exists   nothing  remove path from index
         11 no    yes   N/A     exists   nothing  fail
         12 yes   no    N/A     exists   nothing  fail
         13 no    no    N/A     exists   nothing  fail
pt_BR:      10 sim   sim   N/A     existe   nada     remove o caminho a partir do índice
         11 não   sim   N/A     existe   nada     falha
         12 sim   não   N/A     existe   nada     falha
         13 não   não   N/A     existe   nada     falha

note: type: delimited block .
en: 	clean (H==M)
           ------
         14 yes                 exists   exists   keep index
         15 no                  exists   exists   keep index
pt_BR: 	limpa (H==M)
           ------
         14 sim                 existe   existe   mantenha o índice
         15 não                 existe   existe   mantenha o índice

note: type: delimited block .
en:         clean I==H  I==M (H!=M)
           ------------------
         16 yes   no    no      exists   exists   fail
         17 no    no    no      exists   exists   fail
         18 yes   no    yes     exists   exists   keep index
         19 no    no    yes     exists   exists   keep index
         20 yes   yes   no      exists   exists   use M
         21 no    yes   no      exists   exists   fail
pt_BR:         clean I==H  I==M (H!=M)
           ------------------
         16 sim   não   não      existe   existe   falha
         17 não   não   não      existe   existe   falha
         18 sim   não   sim      existe   existe   mantenha o índice
         19 não   não   sim      existe   existe   mantenha o índice
         20 sim   sim   não      existe   existe   use M
         21 não   sim   não      existe   existe   falha

note: type: Plain text
en: In all "keep index" cases, the index entry stays as in the original index file.  If the entry is not up to date, 'git read-tree' keeps the copy in the work tree intact when operating under the -u flag.
pt_BR: Em todos os casos "manter índice", a a entrada do índice permanece como no arquivo do índice original.  Caso a entrada não esteja atualizada, o comando 'git read-tree' mantém intacta a cópia na árvore de trabalho ao operar sob a opção `-u`.

note: type: Plain text
en: When this form of 'git read-tree' returns successfully, you can see which of the "local changes" that you made were carried forward by running `git diff-index --cached $M`.  Note that this does not necessarily match what `git diff-index --cached $H` would have produced before such a two tree merge.  This is because of cases 18 and 19 --- if you already had the changes in $M (e.g. maybe you picked it up via e-mail in a patch form), `git diff-index --cached $H` would have told you about the change before this merge, but it would not show in `git diff-index --cached $M` output after the two-tree merge.
pt_BR: Quando esta forma do comando 'git read-tree' retorna com sucesso, é possível ver quais das "alterações locais" feitas foram executadas com o comando `git diff-index --cached $M`.  Observe que isso não corresponde necessariamente ao que o comando `git diff-index --cached $H` teria produzido antes de uma fusão de duas árvores.  Isto ocorre devido aos casos 18 e 19 --- caso já tenha as alterações em '$M' (talvez você tenha recebido por e-mail em um formulário para um patch por exemplo), o comando `git diff-index --cached $H` teria retornado uma mudança antes desta mesclagem, porém não teria sido exibida na saída do comando `git diff-index --cached $M` após a mesclagem das duas árvores.

note: type: Plain text
en: Case 3 is slightly tricky and needs explanation.  The result from this rule logically should be to remove the path if the user staged the removal of the path and then switching to a new branch.  That however will prevent the initial checkout from happening, so the rule is modified to use M (new tree) only when the content of the index is empty.  Otherwise the removal of the path is kept as long as $H and $M are the same.
pt_BR: O caso 3 é um pouco complicado e precisa de explicação.  O resultado desta regra, logicamente deve ser remover o caminho caso o usuário tenha realizado a remoção do caminho e depois mude para uma nova ramificação.  Isso, no entanto, impedirá que a averiguação inicial aconteça, portanto, a regra é modificada para utilizar 'M' (nova árvore) somente quando o conteúdo do índice estiver vazio.  Caso contrário, a remoção do caminho será mantida desde que '$H' e '$'M' sejam os mesmos.

note: type: Title ~
en: 3-Way Merge
pt_BR: Mesclagem de 3 vias

note: type: Plain text
en: Each "index" entry has two bits worth of "stage" state. stage 0 is the normal one, and is the only one you'd see in any kind of normal use.
pt_BR: Cada entrada no "índice" possui dois bits na condição "stage". o estágio 0 é o normal e é o único que você veria em qualquer tipo de uso normal.

note: type: Plain text
en: However, when you do 'git read-tree' with three trees, the "stage" starts out at 1.
pt_BR: No entanto, quando você executar o comando 'git read-tree' com três árvores, o "estágio" começa em 1.

note: type: Plain text
en: This means that you can do
pt_BR: Isso significa que você pode fazer

note: type: Plain text
en: and you will end up with an index with all of the <tree1> entries in "stage1", all of the <tree2> entries in "stage2" and all of the <tree3> entries in "stage3".  When performing a merge of another branch into the current branch, we use the common ancestor tree as <tree1>, the current branch head as <tree2>, and the other branch head as <tree3>.
pt_BR: e você terminará com um índice com todas as entradas <tree1> em "stage1", todas as entradas <tree2> em "stage2" e todas as entradas <tree3> no "stage3".  Ao fazer uma mesclagem de um outro ramo no ramo atual, utilizamos a árvore ancestral comum como <tree1>, o cabeçalho da ramificação atual como <tree2> e o outro cabeçalho do ramo como <tree3>.

note: type: Plain text
en: Furthermore, 'git read-tree' has special-case logic that says: if you see a file that matches in all respects in the following states, it "collapses" back to "stage0":
pt_BR: Além disso, o comando 'git read-tree' possui uma lógica para caso especial que diz: caso você veja um arquivo que coincida em todos os aspectos nos seguintes condições, ele irá "retornar" novamente para "stage0":

note: type: Plain text
en: stage 2 and 3 are the same; take one or the other (it makes no difference - the same work has been done on our branch in stage 2 and their branch in stage 3)
pt_BR: Os estágios 2 e 3 são os mesmos; pegue um ou outro (não faz diferença, o mesmo trabalho foi feito em nosso ramo no estágio 2 e em seu ramo da fase 3)

note: type: Plain text
en: stage 1 and stage 2 are the same and stage 3 is different; take stage 3 (our branch in stage 2 did not do anything since the ancestor in stage 1 while their branch in stage 3 worked on it)
pt_BR: o estágio 1 e o estágio 2 são iguais, o estágio 3 é diferente; pegue o estágio 3 (o nosso ramo no estágio 2 não fez nada desde no seu ancestral do estágio 1, enquanto o ramo no estágio 3 trabalhou nele)

note: type: Plain text
en: stage 1 and stage 3 are the same and stage 2 is different take stage 2 (we did something while they did nothing)
pt_BR: os estágios 1 e 3 são iguais e o estágio 2 é diferente, tomamos o estágio 2 (fizemos algo enquanto eles não fizeram nada)

note: type: Plain text
en: The 'git write-tree' command refuses to write a nonsensical tree, and it will complain about unmerged entries if it sees a single entry that is not stage 0.
pt_BR: O comando 'git write-tree' se recusa a escrever em uma árvore sem sentido e irá reclamar das entradas que não foram mescladas caso veja uma única entrada que não seja o estágio 0.

note: type: Plain text
en: OK, this all sounds like a collection of totally nonsensical rules, but it's actually exactly what you want in order to do a fast merge. The different stages represent the "result tree" (stage 0, aka "merged"), the original tree (stage 1, aka "orig"), and the two trees you are trying to merge (stage 2 and 3 respectively).
pt_BR: OK, tudo isso soa como uma coleção de regras totalmente sem sentido, mas na verdade é exatamente o que você quer para fazer uma fusão rápida. Os diferentes estágios representam a "árvore de resultados" (estágio 0, também informado como "mesclado"), a árvore original (estágio 1, também informado como "orig") e as duas árvores que você está tentando mesclar (estágio 2 e 3, respectivamente).

note: type: Plain text
en: The order of stages 1, 2 and 3 (hence the order of three <tree-ish> command-line arguments) are significant when you start a 3-way merge with an index file that is already populated.  Here is an outline of how the algorithm works:
pt_BR: A ordem dos estágios 1, 2 e 3 (portanto a ordem dos três argumentos da linha de comando <tree-ish>) tem importância quando você inicia uma mesclagem de três vias com um arquivo do índice que já esteja preenchido.  Aqui está um resumo de como o algoritmo funciona:

note: type: Plain text
en: if a file exists in identical format in all three trees, it will automatically collapse to "merged" state by 'git read-tree'.
pt_BR: se um arquivo existir no formato idêntico em todas as três árvores, ele retornará automaticamente para a condição de "mesclado" através do comando 'git read-tree'.

note: type: Plain text
en: a file that has _any_ difference what-so-ever in the three trees will stay as separate entries in the index. It's up to "porcelain policy" to determine how to remove the non-0 stages, and insert a merged version.
pt_BR: um arquivo que tenha qualquer diferença entre as três árvores permanecerá como lançamentos separados no índice. Cabe à "política da porcelana" determinar como remover os diferentes estágios não zerados e inserir uma versão mesclada.

note: type: Plain text
en: the index file saves and restores with all this information, so you can merge things incrementally, but as long as it has entries in stages 1/2/3 (i.e., "unmerged entries") you can't write the result. So now the merge algorithm ends up being really simple:
pt_BR: o arquivo do índice salva e restaura com todas estas informações, para que você possa mesclar as coisas de maneira incremental, mas contanto que tenha as entradas nos estágios 1/2/3 (ou seja, "os lançamentos que não foram mesclados"), não será possível gravar o resultado. Então agora o algoritmo da mesclagem acaba sendo realmente simples:

note: type: Plain text
en: you walk the index in order, and ignore all entries of stage 0, since they've already been done.
pt_BR: você percorre o índice em ordem e ignora todas as entradas do estágio 0, pois elas já foram feitas.

note: type: Plain text
en: if you find a "stage1", but no matching "stage2" or "stage3", you know it's been removed from both trees (it only existed in the original tree), and you remove that entry.
pt_BR: caso encontre um "estágio1", que não coincida com o "estágio2" ou "estágio3", você sabe que ele foi removido das duas árvores (existia apenas na árvore original) e você remove essa entrada.

note: type: Plain text
en: if you find a matching "stage2" and "stage3" tree, you remove one of them, and turn the other into a "stage0" entry. Remove any matching "stage1" entry if it exists too.  .. all the normal trivial rules ..
pt_BR: caso encontre uma árvore que coincida com "stage2" e "stage3", remova um deles e transforme o outro em um lançamento no "stage0". Remova qualquer entrada que coincida com o "stage1", caso ela também exista.  .. todas as regras triviais normais ..

note: type: Plain text
en: You would normally use 'git merge-index' with supplied 'git merge-one-file' to do this last step.  The script updates the files in the working tree as it merges each path and at the end of a successful merge.
pt_BR: Normalmente seria utilizado o comando 'git merge-index' com o comando 'git merge-one-file' informado para executar esta última etapa.  O script atualiza os arquivos na árvore de trabalho à medida que mescla cada caminho e no final de uma mesclagem bem-sucedida.

note: type: Plain text
en: When you start a 3-way merge with an index file that is already populated, it is assumed that it represents the state of the files in your work tree, and you can even have files with changes unrecorded in the index file.  It is further assumed that this state is "derived" from the stage 2 tree.  The 3-way merge refuses to run if it finds an entry in the original index file that does not match stage 2.
pt_BR: Quando você inicia uma mesclagem de três vias com um índice do arquivo já preenchido, supõe-se que ele represente o a condição geral dos arquivos na sua árvore de trabalho e você pode até ter arquivos com alterações não registradas no índice do arquivo.  Supõe-se ainda que esta condição geral seja "derivado" da árvore do estágio 2.  A mesclagem de três vias se recusa a executar caso encontre uma entrada no arquivo do índice original que não coincida com o estágio 2.

note: type: Plain text
en: This is done to prevent you from losing your work-in-progress changes, and mixing your random changes in an unrelated merge commit.  To illustrate, suppose you start from what has been committed last to your repository:
pt_BR: Isso é feito para impedir que você perca as alterações do trabalho ainda em andamento e misture as alterações aleatórias em uma consolidação de uma mesclagem não relacionada.  Para ilustrar, suponha que você comece de um commit que foi feito por último no seu repositório:

note: type: Plain text
en: You do random edits, without running 'git update-index'.  And then you notice that the tip of your "upstream" tree has advanced since you pulled from him:
pt_BR: Você faz edições aleatórias, sem executar o 'git update-index'.  E então percebe que o cume da sua árvore "upstream" avançou desde que você fez o "pull" dele:

note: type: Plain text
en: Your work tree is still based on your HEAD ($JC), but you have some edits since.  Three-way merge makes sure that you have not added or modified index entries since $JC, and if you haven't, then does the right thing.  So with the following sequence:
pt_BR: A sua árvore de trabalho ainda tem como base no seu HEAD ($ JC), mas você tem algumas edições desde então.  A mesclagem de três vias garante que você não tenha adicionado ou modificado as entradas no índice desde $JC e, se não tiver, faz a coisa certa.  Então, com a seguinte sequência:

note: type: Plain text
en: what you would commit is a pure merge between $JC and $LT without your work-in-progress changes, and your work tree would be updated to the result of the merge.
pt_BR: o commit que seria feito é uma mesclagem direta entre $JC e $LT sem as alterações em andamento e a sua árvore de trabalho seria atualizada para o resultado desta mesclagem.

note: type: Plain text
en: However, if you have local changes in the working tree that would be overwritten by this merge, 'git read-tree' will refuse to run to prevent your changes from being lost.
pt_BR: No entanto, caso tenha alterações locais na árvore de trabalho que seriam substituídas através desta mesclagem, o comando 'git read-tree' se recusará a executar evitando que as suas alterações sejam perdidas.

note: type: Plain text
en: In other words, there is no need to worry about what exists only in the working tree.  When you have local changes in a part of the project that is not involved in the merge, your changes do not interfere with the merge, and are kept intact.  When they *do* interfere, the merge does not even start ('git read-tree' complains loudly and fails without modifying anything).  In such a case, you can simply continue doing what you were in the middle of doing, and when your working tree is ready (i.e. you have finished your work-in-progress), attempt the merge again.
pt_BR: Em outras palavras, não há a necessidade de se preocupar com o que apenas exista na árvore de trabalho.  Quando houver alterações locais em uma parte do projeto que não está envolvida com a mesclagem, as suas alterações não interferem na mesclagem e são mantidas intactas.  Quando há *interferência*, a mesclagem nem é iniciada (o comando 'git read-tree' faz o alerta e encerra sem alterar nada).  Nesse caso, é possível continuar simplesmente fazendo o que estava fazendo no meio e quando a sua árvore de trabalho estiver pronta (ou seja, você concluiu o seu trabalho em andamento), tente mesclar novamente.

note: type: Title -
en: SPARSE CHECKOUT
pt_BR: AVERIGUAÇÃO ESPARSA

note: type: Plain text
en: "Sparse checkout" allows populating the working directory sparsely.  It uses the skip-worktree bit (see linkgit:git-update-index[1]) to tell Git whether a file in the working directory is worth looking at.
pt_BR: A averiguação esparsa permite preencher minimamente o diretório de trabalho.  Utiliza o bit "skip-worktree" (consulte linkgit:git-update-index[1]) para informar ao Git se vale a pena examinar um arquivo no diretório de trabalho.

note: type: Plain text
en: 'git read-tree' and other merge-based commands ('git merge', 'git checkout'...) can help maintaining the skip-worktree bitmap and working directory update. `$GIT_DIR/info/sparse-checkout` is used to define the skip-worktree reference bitmap. When 'git read-tree' needs to update the working directory, it resets the skip-worktree bit in the index based on this file, which uses the same syntax as .gitignore files.  If an entry matches a pattern in this file, skip-worktree will not be set on that entry. Otherwise, skip-worktree will be set.
pt_BR: O coamndo 'git read-tree' e outros comandos com base na mesclagem ('git merge', 'git checkout' ...) podem ajudar a manter o bitmap 'skip-worktree' e a atualização do diretório de trabalho. O `$GIT_DIR/info/sparse-checkout` é utilizado para definir o bitmap da referência 'skip-worktree'. Quando o 'git read-tree' precisa atualizar o diretório de trabalho, ele redefine o bit 'skip-worktree' no índice com a base neste arquivo, que utiliza a mesma sintaxe dos arquivos '.gitignore'.  Caso uma entrada coincida a um padrão neste arquivo, o 'skip-worktree' não será definido para este lançamento. Caso contrário, o 'skip-worktree' será definido.

note: type: Plain text
en: Then it compares the new skip-worktree value with the previous one. If skip-worktree turns from set to unset, it will add the corresponding file back. If it turns from unset to set, that file will be removed.
pt_BR: Em seguida, ele compara o novo valor 'skip-worktree' com o anterior. Caso o 'skip-worktree' mude de definido para não definido, ele adicionará o arquivo correspondente novamente. Caso passe de não definido para definido, esse arquivo será removido.

note: type: Plain text
en: While `$GIT_DIR/info/sparse-checkout` is usually used to specify what files are in, you can also specify what files are _not_ in, using negate patterns. For example, to remove the file `unwanted`:
pt_BR: Enquanto o `$GIT_DIR/info/sparse-checkout` é normalmente utilizado para definir quais arquivos estão nele, também é possível definir quais arquivos _não_ estão, utilizando padrões de negação. Como por exemplo, para remover o arquivo `indesejado`:

note: type: Plain text
en: Another tricky thing is fully repopulating the working directory when you no longer want sparse checkout. You cannot just disable "sparse checkout" because skip-worktree bits are still in the index and your working directory is still sparsely populated. You should re-populate the working directory with the `$GIT_DIR/info/sparse-checkout` file content as follows:
pt_BR: Outra coisa complicada é repovoar totalmente o diretório ativo quando você não quiser mais uma verificação esparsa. Você não pode simplesmente desativar a "verificação esparsa" porque os bits 'skip-worktree' ainda estão no índice e o seu diretório de trabalho ainda for escassamente preenchido. Você deve preencher novamente o diretório de trabalho com o conteúdo do arquivo `$GIT_DIR/info/sparse-checkout` da seguinte maneira:

note: type: Plain text
en: Then you can disable sparse checkout. Sparse checkout support in 'git read-tree' and similar commands is disabled by default. You need to turn `core.sparseCheckout` on in order to have sparse checkout support.
pt_BR: Em seguida você pode desativar a averiguação esparsa. A predefinição da compatibilidade à averiguação esparsa no 'git read-tree' e comandos similares é desativada. Você precisa ativar o `core.sparseCheckout` para ter uma compatibilidade escassa da averiguação.

note: type: Plain text
en: git-rebase - Reapply commits on top of another base tip
pt_BR: git-rebase - Reaplique os commits em cima do topo de outra base

note: type: Plain text
en: 'git rebase' [-i | --interactive] [<options>] [--exec <cmd>]
    	[--onto <newbase> | --keep-base] [<upstream> [<branch>]]
    'git rebase' [-i | --interactive] [<options>] [--exec <cmd>] [--onto <newbase>]
    	--root [<branch>]
    'git rebase' (--continue | --skip | --abort | --quit | --edit-todo | --show-current-patch)
pt_BR: 'git rebase' [-i | --interactive] [<opções>] [--exec <cmd>]
    	[--onto <nova-base> | --keep-base] [<upstream> [<ramo>]]
    'git rebase' [-i | --interactive] [<opções>] [--exec <cmd>] [--onto <nova-base>]
    	--root [<ramo>]
    'git rebase' (--continue | --skip | --abort | --quit | --edit-todo | --show-current-patch)

note: type: Plain text
en: If <branch> is specified, 'git rebase' will perform an automatic `git switch <branch>` before doing anything else.  Otherwise it remains on the current branch.
pt_BR: Caso o <ramo> seja utilizado, o comando 'git rebase' executará um `git switch <ramo>` automaticamente antes de fazer qualquer outra coisa.  Caso contrário, ele permanecerá no ramo atual.

note: type: Plain text
en: If <upstream> is not specified, the upstream configured in branch.<name>.remote and branch.<name>.merge options will be used (see linkgit:git-config[1] for details) and the `--fork-point` option is assumed.  If you are currently not on any branch or if the current branch does not have a configured upstream, the rebase will abort.
pt_BR: Caso o `<upstream>` não seja definido, as opções "upstream" configuradas em `branch.<nome>.remote` e no `branch.<nome>.merge` serão utilizadas (para mais detalhes consulte linkgit:git-config[1]), assim como será assumida a opção `--fork-point`.  Caso você não esteja atualmente em nenhuma ramificação ou se a ramificação atual não tiver um "upstream" configurado, o "rebase" será cancelado.

note: type: Plain text
en: All changes made by commits in the current branch but that are not in <upstream> are saved to a temporary area.  This is the same set of commits that would be shown by `git log <upstream>..HEAD`; or by `git log 'fork_point'..HEAD`, if `--fork-point` is active (see the description on `--fork-point` below); or by `git log HEAD`, if the `--root` option is specified.
pt_BR: Todas as alterações feitas através de commits no ramo atual, mas que não estão na <upstream>, são salvas em uma área temporária.  Este é o mesmo conjunto dos commits que seriam exibidos por `git log <upstream>..HEAD`; ou pelo comando `git log 'fork_point'..HEAD`, caso `--fork-point` esteja ativo (veja a descrição em `--fork-point` abaixo); ou através do `git log HEAD`, caso a opção `--root` for seja utilizada.

note: type: Plain text
en: The current branch is reset to <upstream>, or <newbase> if the --onto option was supplied.  This has the exact same effect as `git reset --hard <upstream>` (or <newbase>).  ORIG_HEAD is set to point at the tip of the branch before the reset.
pt_BR: A ramificação atual é redefinida para <upstream> ou <newbase> caso a opção `--onto` seja utilizada.  Isso tem exatamente o mesmo efeito que `git reset --hard <upstream>` (ou <newbase>).  O `ORIG_HEAD` está definido para apontar no cume do ramo antes da redefinição.

note: type: Plain text
en: The commits that were previously saved into the temporary area are then reapplied to the current branch, one by one, in order. Note that any commits in HEAD which introduce the same textual changes as a commit in HEAD..<upstream> are omitted (i.e., a patch already accepted upstream with a different commit message or timestamp will be skipped).
pt_BR: Os commits que foram salvos anteriormente na área temporária são reaplicadas no ramo atual, uma por uma e em ordem. Observe que quaisquer commits no `HEAD` que introduzam as mesmas alterações textuais que um commit no `HEAD`.. `<upstream>` são omitidas (ou seja, um patch já aceito na inicial com uma mensagem de commit ou carimbo de data e hora diferente, serão ignorados).

note: type: Plain text
en: It is possible that a merge failure will prevent this process from being completely automatic.  You will have to resolve any such merge failure and run `git rebase --continue`.  Another option is to bypass the commit that caused the merge failure with `git rebase --skip`.  To check out the original <branch> and remove the .git/rebase-apply working files, use the command `git rebase --abort` instead.
pt_BR: É possível que uma falha da mesclagem impeça que este processo seja completamente automático.  Você terá que resolver qualquer falha da mesclagem e executar o comando `git rebase --continue`.  Outra opção é ignorar o commit que causou a falha da mesclagem com o comando `git rebase --skip`.  Para verificar o <ramo> original e remover os arquivos de trabalho '.git/rebase-apply', utilize o comando `git rebase --abort`.

note: type: Plain text
en: Assume the following history exists and the current branch is "topic":
pt_BR: Suponha que o seguinte histórico exista e que o ramo atual seja "topic":

note: type: Plain text
en: From this point, the result of either of the following commands:
pt_BR: A partir deste ponto, o resultado de um dos seguintes comandos:

note: type: Plain text
en: would be:
pt_BR: seria:

note: type: Plain text
en: *NOTE:* The latter form is just a short-hand of `git checkout topic`
    followed by `git rebase master`. When rebase exits `topic` will
    remain the checked-out branch.
pt_BR: *OBSERVAÇÃO:* Este último formulário é apenas uma abreviação de `git checkout topic`
    seguido por `git rebase master`. Quando a reconstrução (rebase) sair do `topic` será
    mantido o ramo que foi averiguado.

note: type: Plain text
en: If the upstream branch already contains a change you have made (e.g., because you mailed a patch which was applied upstream), then that commit will be skipped. For example, running `git rebase master` on the following history (in which `A'` and `A` introduce the same set of changes, but have different committer information):
pt_BR: Caso a ramificação upstream já contiver uma alteração que você fez (porque você enviou um patch que foi aplicado na upstream por exemplo), então este commit será ignorado. Por exemplo, executando o comando `git rebase master` no histórico a seguir (onde `A'` e `A` introduzem o mesmo conjunto de alterações, mas possuem informações diferentes de quem fez o commit):

note: type: Plain text
en: will result in:
pt_BR: vai resultar em:

note: type: Plain text
en: Here is how you would transplant a topic branch based on one branch to another, to pretend that you forked the topic branch from the latter branch, using `rebase --onto`.
pt_BR: Aqui está como você transplantaria um ramo do tópico com base em um ramo para outro, para fingir que você bifurcou o ramo do tópico deste último ramo, utilizando `rebase --onto`.

note: type: Plain text
en: First let's assume your 'topic' is based on branch 'next'.  For example, a feature developed in 'topic' depends on some functionality which is found in 'next'.
pt_BR: Primeiro, vamos supor que o seu 'tópico' seja baseado no ramo 'next'.  Por exemplo, um recurso desenvolvido em 'topic' depende de algumas funcionalidades encontradas em 'next'.

note: type: Plain text
en: We want to make 'topic' forked from branch 'master'; for example, because the functionality on which 'topic' depends was merged into the more stable 'master' branch. We want our tree to look like this:
pt_BR: Queremos criar um 'tópico' bifurcado no ramo 'master'; porque a funcionalidade da qual o 'tópico' depende foi mesclado na ramificação 'master' mais estável. Queremos que a nossa árvore fique assim:

note: type: Plain text
en: We can get this using the following command:
pt_BR: Podemos conseguir isso utilizando o seguinte comando:

note: type: Plain text
en: Another example of --onto option is to rebase part of a branch.  If we have the following situation:
pt_BR: Um outro exemplo da opção `--onto` é reconstruir a fundação da parte de uma ramificação.  Se tivermos a seguinte situação:

note: type: Plain text
en: then the command
pt_BR: então o comando

note: type: Plain text
en: would result in:
pt_BR: resultaria em:

note: type: Plain text
en: This is useful when topicB does not depend on topicA.
pt_BR: É útil quando o 'topicB' não depender do 'topicA'.

note: type: Plain text
en: A range of commits could also be removed with rebase.  If we have the following situation:
pt_BR: Um intervalo dos commits também pode ser removido com a reconstrução 'rebase'.  Se tivermos a seguinte situação:

note: type: Plain text
en: would result in the removal of commits F and G:
pt_BR: resultaria na remoção dos commits 'F' e 'G':

note: type: Plain text
en: This is useful if F and G were flawed in some way, or should not be part of topicA.  Note that the argument to --onto and the <upstream> parameter can be any valid commit-ish.
pt_BR: É útil caso 'F' e 'G' estejam de alguma forma com defeitos ou não deveriam fazer parte do 'topicA'.  Observe que o argumento para '--onto' e o parâmetro '<upstream>' podem ser qualquer 'commit-ish' válido.

note: type: Plain text
en: In case of conflict, 'git rebase' will stop at the first problematic commit and leave conflict markers in the tree.  You can use 'git diff' to locate the markers (<<<<<<) and make edits to resolve the conflict.  For each file you edit, you need to tell Git that the conflict has been resolved, typically this would be done with
pt_BR: Em caso de conflito, o 'git rebase' irá parar no primeiro commit problemático e deixar os marcadores de conflito na árvore.  Você pode utilizar o 'git diff' para localizar os marcadores (<<<<<<) e fazer edições para resolver o conflito.  Para cada arquivo que você edita, é necessário informar ao Git que o conflito foi resolvido, normalmente isso seria feito com

note: type: Plain text
en:     git add <filename>
pt_BR:     git add <nome-do-arquivo>

note: type: Plain text
en: After resolving the conflict manually and updating the index with the desired resolution, you can continue the rebasing process with
pt_BR: Depois de resolver o conflito manualmente e atualizar o índice com a resolução desejada, você pode continuar o processo de reconstrução com o comando

note: type: Plain text
en: Alternatively, you can undo the 'git rebase' with
pt_BR: Como alternativa, você pode desfazer o 'git rebase' com

note: type: Labeled list
en: --onto <newbase>
pt_BR: --onto <nova-base>

note: type: Plain text
en: Starting point at which to create the new commits. If the --onto option is not specified, the starting point is <upstream>.  May be any valid commit, and not just an existing branch name.
pt_BR: Ponto de partida onde criar os novos commits. Caso a opção '--onto' não seja utilizada, o ponto inicial é <upstream>.  Pode ser qualquer commit válido e não apenas um nome de um ramo já existente.

note: type: Plain text
en: As a special case, you may use "A\...B" as a shortcut for the merge base of A and B if there is exactly one merge base. You can leave out at most one of A and B, in which case it defaults to HEAD.
pt_BR: Como um caso especial, você pode utilizar "A\...B" como um atalho para a base de mesclagem 'A' e 'B' caso haja exatamente uma base para mesclagem. Você pode deixar de fora no máximo um de 'A' e 'B'; nesse caso, a predefinição retorna para `HEAD`.

note: type: Plain text
en: Set the starting point at which to create the new commits to the merge base of <upstream> <branch>. Running 'git rebase --keep-base <upstream> <branch>' is equivalent to running 'git rebase --onto <upstream>... <upstream>'.
pt_BR: Defina o ponto de partida para criar os novos commits para a mesclagem base do <upstream> <ramo>. Executando o comando 'git rebase --keep-base <upstream> <ramo>' é o mesmo que executar o comando 'git rebase --onto <upstream>... <upstream>'.

note: type: Plain text
en: This option is useful in the case where one is developing a feature on top of an upstream branch. While the feature is being worked on, the upstream branch may advance and it may not be the best idea to keep rebasing on top of the upstream but to keep the base commit as-is.
pt_BR: Esta opção é útil no caso onde se está desenvolvendo um recurso em cima de um ramo 'upstream'. Enquanto o recurso está sendo trabalhado, o ramo 'upstream' pode avançar e talvez não seja a melhor ideia continuar reconstruindo no topo do 'upstream', porém manter a base do commit como está.

note: type: Plain text
en: Although both this option and --fork-point find the merge base between <upstream> and <branch>, this option uses the merge base as the _starting point_ on which new commits will be created, whereas --fork-point uses the merge base to determine the _set of commits_ which will be rebased.
pt_BR: Embora esta opção e o `--fork-point` encontrem a base da mesclagem entre <upstream> e <ramo>, esta opção utiliza a base da mesclagem como o _ponto inicial_ onde os novos commits serão criados, enquanto `--fork-point` utiliza a mesclagem da base para determinar o _conjunto dos commits_ que serão reconstruídos.

note: type: Plain text
en: See also INCOMPATIBLE OPTIONS below.
pt_BR: Consulte também a seção "OPÇÕES INCOMPATÍVEIS" logo abaixo.

note: type: Plain text
en: Upstream branch to compare against.  May be any valid commit, not just an existing branch name. Defaults to the configured upstream for the current branch.
pt_BR: Ramo upstream para fazer a comparação.  Pode ser qualquer commit válido, não apenas um nome de uma ramo já existente. A predefinição retorna para "upstream" configurada para o ramo atual.

note: type: Plain text
en: Restart the rebasing process after having resolved a merge conflict.
pt_BR: Reinicie o processo de reformulação após resolver um conflito de mesclagem.

note: type: Plain text
en: Abort the rebase operation and reset HEAD to the original branch. If <branch> was provided when the rebase operation was started, then HEAD will be reset to <branch>. Otherwise HEAD will be reset to where it was when the rebase operation was started.
pt_BR: Interrompa a operação de reconstrução da fundação e redefina o `HEAD` para o ramo original. Caso <ramo> seja informado quando a operação de reconstrução da fundação seja iniciada, o `HEAD` será redefinido para <ramo>. Caso contrário, o HEAD será redefinido para onde estava quando a operação de reconstrução foi iniciada.

note: type: Plain text
en: Abort the rebase operation but HEAD is not reset back to the original branch. The index and working tree are also left unchanged as a result. If a temporary stash entry was created using --autostash, it will be saved to the stash list.
pt_BR: Interrompa a operação de reconstrução, porém o `HEAD` não será redefinido para o ramo original. Como resultado, o índice e a árvore de trabalho também permanecem inalterados. Caso uma entrada temporária 'stash' seja criada utilizando `--autostash`, ela será salva na lista 'stash'.

note: type: Plain text
en: Use applying strategies to rebase (calling `git-am` internally).  This option may become a no-op in the future once the merge backend handles everything the apply one does.
pt_BR: Utilize estratégias para aplicar o "rebase" (invocando `git-am` internamente).  Esta opção poderá se tornar não operacional no futuro uma vez que o processo interno da mesclagem processe tudo o que a opção '--apply' fizer.

note: type: Plain text
en: How to handle commits that are not empty to start and are not clean cherry-picks of any upstream commit, but which become empty after rebasing (because they contain a subset of already upstream changes).  With drop (the default), commits that become empty are dropped.  With keep, such commits are kept.  With ask (implied by --interactive), the rebase will halt when an empty commit is applied allowing you to choose whether to drop it, edit files more, or just commit the empty changes.  Other options, like --exec, will use the default of drop unless -i/--interactive is explicitly specified.
pt_BR: Como lidar com commits que não estão vazias para iniciar e não são escolhas seletivas limpas de nenhum commit upstream, mas que ficam vazias após a reconstrução (porque elas já contêm um subconjunto de alterações na upstream).  Com drop (a predefinição), os commits que ficam vazias são descartadas.  Com keep, estes commits são mantidos.  Com o comando 'ask' (implícito através da opção `--interactive`), uma reconstrução 'rebase' será interrompida quando um commit vazia for aplicado, permitindo que você escolha se elimina, edita mais arquivos ou apenas faça o commit das alterações vazias.  Outras opções, como `--exec`, utilizarão a predefinição 'drop', a menos que a opção `-i/--interactive` seja informado de forma explicita.

note: type: Plain text
en: Note that commits which start empty are kept (unless --no-keep-empty is specified), and commits which are clean cherry-picks (as determined by `git log --cherry-mark ...`) are detected and dropped as a preliminary step (unless --reapply-cherry-picks is passed).
pt_BR: Observe que, os commits que começam vazios são mantidos (a menos que a opção `--no-keep-empty` seja utilizado) e os commits que são escolhas limpas (conforme determinado pelo comando `git log --cherry-mark ...`) são detectados e descartados como uma etapa preliminar (a menos que a opção `--reapply-cherry-picks seja utilizado).

note: type: Plain text
en: Do not keep commits that start empty before the rebase (i.e. that do not change anything from its parent) in the result.  The default is to keep commits which start empty, since creating such commits requires passing the --allow-empty override flag to `git commit`, signifying that a user is very intentionally creating such a commit and thus wants to keep it.
pt_BR: Não mantenha os commits que começam vazios antes da reconstrução (ou seja, que não alteram em nada a origem) no resultado.  A predefinição é manter os commits que começam vazios, pois a criação destes commits requer o encaminhamento da opção `--allow-empty override` para o comando `git commit`, significa que um usuário está criando intencionalmente tal commit e portanto, deseja mantê-lo.

note: type: Plain text
en: Usage of this flag will probably be rare, since you can get rid of commits that start empty by just firing up an interactive rebase and removing the lines corresponding to the commits you don't want.  This flag exists as a convenient shortcut, such as for cases where external tools generate many empty commits and you want them all removed.
pt_BR: A utilização desta opção é bem rara, já que você pode se livrar dos commits que iniciam vazios simplesmente executando uma reconstrução interativa e removendo as linhas correspondentes ao commit que você não quer.  Está opção existe como um atalho por mera conveniência, para casos onde as ferramentas externas gerem muitos commits vazios e você que todos eles sejam removidos.

note: type: Plain text
en: For commits which do not start empty but become empty after rebasing, see the --empty flag.
pt_BR: Para os commits que não começam vazios, mas ficam vazios após a reconstrução ('rebase'), consulte a opção `--empty`.

note: type: Plain text
en: Reapply all clean cherry-picks of any upstream commit instead of preemptively dropping them. (If these commits then become empty after rebasing, because they contain a subset of already upstream changes, the behavior towards them is controlled by the `--empty` flag.)
pt_BR: Reaplique todas as escolhas seletivas que estejam limpas de qualquer commit "upstream" em vez inviabilizá-los por completo. (Então, caso estes commits se tornem vazios depois da reconstrução, por conter um subconjunto de alterações da "upstream", o comportamento em direção à eles é controlado através da opção `--empty`.)

note: type: Plain text
en: By default (or if `--no-reapply-cherry-picks` is given), these commits will be automatically dropped.  Because this necessitates reading all upstream commits, this can be expensive in repos with a large number of upstream commits that need to be read.
pt_BR: É predefinido que (ou se `--no-reapply-cherry-picks 'for fornecido), estes commits serão automaticamente eliminados.  Como isso requer a leitura de todos os commits upstream, isso pode custar caro nos repositórios com uma grande quantidade de commits na upstream que precisam ser lidos.

note: type: Plain text
en: `--reapply-cherry-picks` allows rebase to forgo reading all upstream commits, potentially improving performance.
pt_BR: A opção `--reapply-cherry-picks` permite que a reconstrução anteceda a leitura de todos os commits "upstream", melhorando muito o desempenho.

note: type: Plain text
en: No-op.  Rebasing commits with an empty message used to fail and this option would override that behavior, allowing commits with empty messages to be rebased.  Now commits with an empty message do not cause rebasing to halt.
pt_BR: No-op.  A reconstrução dos commits com uma mensagem vazia costumava falhar, esta opção substitui este comportamento, permitindo que os commits com mensagens vazias sejam refeitas.  Agora os commits com uma mensagem vazia não causam mais a interrupção do "rebasing".

note: type: Plain text
en: Restart the rebasing process by skipping the current patch.
pt_BR: Reinicie o processo de reconstrução da fundação ignorando o patch atual.

note: type: Plain text
en: Edit the todo list during an interactive rebase.
pt_BR: Edite a lista de tarefas durante uma nova reconstrução interativa.

note: type: Plain text
en: Show the current patch in an interactive rebase or when rebase is stopped because of conflicts. This is the equivalent of `git show REBASE_HEAD`.
pt_BR: Exiba o patch atual em uma nova recuperação interativa ou quando a nova recuperação for interrompida por causa de conflitos. É o equivalente ao `git show REBASE_HEAD`.

note: type: Plain text
en: Use merging strategies to rebase.  When the recursive (default) merge strategy is used, this allows rebase to be aware of renames on the upstream side.  This is the default.
pt_BR: Utilize estratégias de mesclagem para fazer o `rebase`.  Quando a estratégia de mesclagem recursiva (predefinida) for utilizada, permite que o `rebase` esteja ciente das renomeações no lado upstream.  Esta é a predefinição.

note: type: Plain text
en: Note that a rebase merge works by replaying each commit from the working branch on top of the <upstream> branch.  Because of this, when a merge conflict happens, the side reported as 'ours' is the so-far rebased series, starting with <upstream>, and 'theirs' is the working branch.  In other words, the sides are swapped.
pt_BR: Observe que uma mesclagem de reconstrução (rebase) funciona repetindo cada commit da ramificação de trabalho na parte do topo <upstream>.  Por esse motivo, quando ocorre um conflito na mesclagem, o lado relatado como 'nosso' é a série até agora reformulada, começando com <upstream> e 'deles' é o ramo de trabalho.  Em outras palavras, os lados são trocados.

note: type: Plain text
en: Use the given merge strategy.  If there is no `-s` option 'git merge-recursive' is used instead.  This implies --merge.
pt_BR: Use a estratégia de mesclagem informada.  Caso não haja a opção `-s ', o git merge-recursive' será utilizado em seu lugar.  implica no uso da opção '--merge'.

note: type: Plain text
en: Because 'git rebase' replays each commit from the working branch on top of the <upstream> branch using the given strategy, using the 'ours' strategy simply empties all patches from the <branch>, which makes little sense.
pt_BR: Como o 'git rebase' repete cada commit do ramo de trabalho no cume do ramo <upstream> utilizando a estratégia informada, o uso da estratégia 'our' simplesmente esvazia todos os patches do <ramo>, que faz pouco sentido.

note: type: Labeled list
en: -X <strategy-option>
pt_BR: -X <opção-da-estratégia>

note: type: Labeled list
en: --strategy-option=<strategy-option>
pt_BR: --strategy-option=<opção-da-estratégia>

note: type: Plain text
en: Pass the <strategy-option> through to the merge strategy.  This implies `--merge` and, if no strategy has been specified, `-s recursive`.  Note the reversal of 'ours' and 'theirs' as noted above for the `-m` option.
pt_BR: Encaminhe a <opção-de-estratégia> para a estratégia da mesclagem.  implica no uso da opção `--merge` e, se nenhuma estratégia foi definida, `-s recursive`.  Observe a reversão do 'ours' (nossos) e 'theirs' (deles), conforme observado acima para a opção `-m`.

note: type: Plain text
en: Be quiet. Implies --no-stat.
pt_BR: Fique em silêncio Implies --no-stat.

note: type: Plain text
en: Be verbose. Implies --stat.
pt_BR: Seja loquaz. Implica no uso de `--stat`.

note: type: Plain text
en: Show a diffstat of what changed upstream since the last rebase. The diffstat is also controlled by the configuration option rebase.stat.
pt_BR: Exiba uma descrição do que mudou na upstream desde a última reconstrução (rebase). O diffstat também é controlado pela opção de configuração `rebase.stat`.

note: type: Plain text
en: Do not show a diffstat as part of the rebase process.
pt_BR: Não mostre um "diffstat" como parte do processo de reconstrução da fundação (rebase).

note: type: Plain text
en: This option bypasses the pre-rebase hook.  See also linkgit:githooks[5].
pt_BR: Este comando ignora o gancho "pre-rebase".  Consulte também linkgit:githooks[5].

note: type: Plain text
en: Allows the pre-rebase hook to run, which is the default.  This option can be used to override --no-verify.  See also linkgit:githooks[5].
pt_BR: É predefinido que seja permitido que o gancho "pre-rebase" seja executado.  Esta opção pode ser usada para substituir o comando ` --no-verify`.  Consulte também linkgit:githooks[5].

note: type: Plain text
en: Ensure at least <n> lines of surrounding context match before and after each change.  When fewer lines of surrounding context exist they all must match.  By default no context is ever ignored.  Implies --apply.
pt_BR: Assegure que pelo menos `<n>` linhas ao redor do contexto coincidente antes e depois de cada alteração.  Quando há menos linhas de contexto ao redor, todas elas devem coincidir.  É predefinido que nenhum contexto seja ignorado.  Implica no uso da opção --apply.

note: type: Plain text
en: Individually replay all rebased commits instead of fast-forwarding over the unchanged ones.  This ensures that the entire history of the rebased branch is composed of new commits.
pt_BR: Reproduza individualmente todos os commits reconstruídos em vez de avançar rapidamente sobre os que estejam inalterados.  Isso garante que todo o histórico do ramo reconstruído seja composto por novos commits.

note: type: Plain text
en: You may find this helpful after reverting a topic branch merge, as this option recreates the topic branch with fresh commits so it can be remerged successfully without needing to "revert the reversion" (see the link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for details).
pt_BR: Pode ser útil depois de reverter uma mesclagem do ramo "topic", pois esta opção recria o ramo "topic" com os novos commits, para que possa ser recuperado com êxito sem precisar "reverter a reversão" (para mais detalhes, consulte o link: howto/revert-a-fafe-merge.html [Como reverter uma falha da mesclagem]).

note: type: Plain text
en: Use reflog to find a better common ancestor between <upstream> and <branch> when calculating which commits have been introduced by <branch>.
pt_BR: Utilize reflog para encontrar um ancestral comum melhor entre a <upstream> e o <ramo> ao calcular quais os commits foram introduzidos pelo <ramo>.

note: type: Plain text
en: When --fork-point is active, 'fork_point' will be used instead of <upstream> to calculate the set of commits to rebase, where 'fork_point' is the result of `git merge-base --fork-point <upstream> <branch>` command (see linkgit:git-merge-base[1]).  If 'fork_point' ends up being empty, the <upstream> will be used as a fallback.
pt_BR: Quando "--fork-point" está ativo o 'fork_point' será utilizado em vez do `<upstream>` calcular o conjunto dos commits para fazer o "rebase" onde 'fork_point' é o resultado do comando `git merge-base --fork-point <upstream> <ramo>` (consulte linkgit:git-merge-base[1]).  Caso o 'fork_point' termine vazio, o `<upstream>` será utilizado como substituto.

note: type: Plain text
en: If <upstream> is given on the command line, then the default is `--no-fork-point`, otherwise the default is `--fork-point`.
pt_BR: Caso a <upstream> seja utilizada na linha de comando, a predefinição será `--no-fork-point`, caso contrário, a predefinição será `--fork-point`.

note: type: Plain text
en: If your branch was based on <upstream> but <upstream> was rewound and your branch contains commits which were dropped, this option can be used with `--keep-base` in order to drop those commits from your branch.
pt_BR: Caso o seu ramo teve como base no <upstream>, porém <upstream> foi retrocedido e o seu ramo contém commits que foram eliminados, esta opção pode ser utilizada com a opção `--keep-base` para eliminar estes commits do seu ramo.

note: type: Plain text
en: These flags are passed to the 'git apply' program (see linkgit:git-apply[1]) that applies the patch.  Implies --apply.
pt_BR: Estas opções são repassados para o comando 'git apply' que aplica o patch (consulte  linkgit:git-apply[1]).  Implica no uso da opção --apply.

note: type: Plain text
en: These flags are passed to 'git am' to easily change the dates of the rebased commits (see linkgit:git-am[1]).
pt_BR: Estas opções são passados para o comando 'git am' para alterar facilmente as datas dos commits onde o "rebase" foi feito (consulte linkgit:git-am[1]).

note: type: Plain text
en: Add a Signed-off-by: trailer to all the rebased commits. Note that if `--interactive` is given then only commits marked to be picked, edited or reworded will have the trailer added.
pt_BR: Adicione uma resposta Assinado-por: a todos os commits que tiveram a sua fundação reconstruída. Observe que caso a opção `--interactive` seja utilizada, apenas os commit marcados para serem selecionados, editados ou reformulados terão um caracteres de resposta adicionado.

note: type: Plain text
en: Make a list of the commits which are about to be rebased.  Let the user edit that list before rebasing.  This mode can also be used to split commits (see SPLITTING COMMITS below).
pt_BR: Faça uma lista dos commits que estão prestes a serem reconstruídos.  Deixe que o usuário edite esta lista antes da reconstrução.  Este modo também pode ser utilizado para dividir os commits (consulte 'DIVIDINDO OS COMMITS' abaixo).

note: type: Plain text
en: The commit list format can be changed by setting the configuration option rebase.instructionFormat.  A customized instruction format will automatically have the long commit hash prepended to the format.
pt_BR: O formato da lista dos commits pode ser alterado definindo a opção de configuração `rebase.instructionFormat`.  Um formato de instrução personalizado terá automaticamente o hash longo do commit anexado ao formato.

note: type: Plain text
en: By default, a rebase will simply drop merge commits from the todo list, and put the rebased commits into a single, linear branch.  With `--rebase-merges`, the rebase will instead try to preserve the branching structure within the commits that are to be rebased, by recreating the merge commits. Any resolved merge conflicts or manual amendments in these merge commits will have to be resolved/re-applied manually.
pt_BR: É predefinido que uma reconstrução simplesmente remova os commits mesclados da lista de tarefas e as coloca em uma única ramificação linear.  Com a opção `--rebase-merges`, a reconstrução tentará preservar a estrutura da ramificação dentro dos commits que serão reexaminadas, recriando a mesclagem dos commits. Quaisquer conflitos na mesclagem que forem resolvidos ou nas alterações manuais destes commits mesclados terão que ser resolvidos/reaplicados manualmente.

note: type: Plain text
en: By default, or when `no-rebase-cousins` was specified, commits which do not have `<upstream>` as direct ancestor will keep their original branch point, i.e. commits that would be excluded by linkgit:git-log[1]'s `--ancestry-path` option will keep their original ancestry by default. If the `rebase-cousins` mode is turned on, such commits are instead rebased onto `<upstream>` (or `<onto>`, if specified).
pt_BR: É predefinido que ou quando `no-rebase-cousins` seja utilizado, os commits que não possuam `<upstream>` como ancestral direto, manterão o seu ponto do ramo original, ou seja, os commits que seriam excluídos pela opção linkgit:git-log[1] `--ancestry-path`, por predefinição manterá a sua ancestralidade original. Caso o modo `rebase-cousins` esteja ativo, estes commits serão reconstruídos para a `<upstream>` (ou `<onto>`, caso seja utilizado).

note: type: Plain text
en: The `--rebase-merges` mode is similar in spirit to the deprecated `--preserve-merges` but works with interactive rebases, where commits can be reordered, inserted and dropped at will.
pt_BR: O modo `--rebase-merges` é semelhante (em espírito) a opção descontinuada `--preserve-merges` porém trabalha com reconstrução interativa (rebases), onde os commits possam ser reordenados, inseridos ou eliminados a vontade.

note: type: Plain text
en: It is currently only possible to recreate the merge commits using the `recursive` merge strategy; Different merge strategies can be used only via explicit `exec git merge -s <strategy> [...]` commands.
pt_BR: Atualmente, só é possível recriar a mesclagem dos commits utilizando a estratégia de mesclagem `recursive` (recursiva); Diferentes estratégias de mesclagem podem ser utilizada apenas através dos comandos explícitos como `exec git merge -s <strategy> [...]`.

note: type: Plain text
en: See also REBASING MERGES and INCOMPATIBLE OPTIONS below.
pt_BR: Consulte também 'RECONSTRUINDO AS MESCLAGENS' e 'OPÇÕES INCOMPATÍVEIS' abaixo.

note: type: Plain text
en: [DEPRECATED: use `--rebase-merges` instead] Recreate merge commits instead of flattening the history by replaying commits a merge commit introduces. Merge conflict resolutions or manual amendments to merge commits are not preserved.
pt_BR: [DESCONTINUADO: utilize `--rebase-merges`] Recrie os commits mesclados em vez de achatar o histórico, reproduzindo os commits introduzidos por uma mesclagem do commit. As resoluções dos conflitos da mesclagem ou das emendas manuais para mesclar os commits não são preservadas.

note: type: Plain text
en: This uses the `--interactive` machinery internally, but combining it with the `--interactive` option explicitly is generally not a good idea unless you know what you are doing (see BUGS below).
pt_BR: Utiliza o mecanismo `--interactive` internamente, porém ao combiná-lo com a opção `--interactive` de forma explícita, em geral não é uma boa ideia a menos que saiba o que está fazendo (consulte 'BUGS' abaixo).

note: type: Plain text
en: Append "exec <cmd>" after each line creating a commit in the final history. <cmd> will be interpreted as one or more shell commands. Any command that fails will interrupt the rebase, with exit code 1.
pt_BR: Anexe "exec <cmd>" após cada linha, criando um commit no final do histórico. O `<cmd>` será interpretado como um ou mais comandos do shell. Qualquer comando que falhar interromperá a reconstrução da fundação, com o código de encerramento igual a 1.

note: type: Plain text
en: You may execute several commands by either using one instance of `--exec` with several commands:
pt_BR: É possível executar vários comandos utilizando uma instância da opção `--exec` com vários comandos:

note: type: Plain text
en: or by giving more than one `--exec`:
pt_BR: ou utilizando mais de um `--exec`:

note: type: Plain text
en: If `--autosquash` is used, "exec" lines will not be appended for the intermediate commits, and will only appear at the end of each squash/fixup series.
pt_BR: Caso a opção `--autosquash` seja utilizado, as linhas "exec" não serão anexadas aos commits intermediários e aparecerão apenas no final de cada série de compressão/correção.

note: type: Plain text
en: This uses the `--interactive` machinery internally, but it can be run without an explicit `--interactive`.
pt_BR: Utiliza o mecanismo `--interactive` internamente, porém pode ser executado sem a opção `--interactive` de forma explicita.

note: type: Plain text
en: Rebase all commits reachable from <branch>, instead of limiting them with an <upstream>.  This allows you to rebase the root commit(s) on a branch.  When used with --onto, it will skip changes already contained in <newbase> (instead of <upstream>) whereas without --onto it will operate on every change.  When used together with both --onto and --preserve-merges, 'all' root commits will be rewritten to have <newbase> as parent instead.
pt_BR: Reconstrói todos os commits acessíveis a partir do <ramo>, em vez de limitá-los com a <upstream>.  Permite a reestruturação dos commit da raiz em um ramo.  Quando utilizado com a opção `--onto`, será ignorado as alterações já contidas em <newbase> (em vez de <upstream>) enquanto que sem a opção `--onto` a operação ocorrerá em todas as alterações.  Quando utilizado junto com ambas as opções `--onto` e `--preserve-merges`, 'todos' os commits das raízes serão reescritos para ter o <newbase> como a sua origem.

note: type: Plain text
en: When the commit log message begins with "squash! ..." (or "fixup! ..."), and there is already a commit in the todo list that matches the same `...`, automatically modify the todo list of rebase -i so that the commit marked for squashing comes right after the commit to be modified, and change the action of the moved commit from `pick` to `squash` (or `fixup`).  A commit matches the `...` if the commit subject matches, or if the `...` refers to the commit's hash. As a fall-back, partial matches of the commit subject work, too.  The recommended way to create fixup/squash commits is by using the `--fixup`/`--squash` options of linkgit:git-commit[1].
pt_BR: Quando a mensagem do registro log do commit começar com "squash! ..." (ou "fixup! ..."),e já existe um commit na lista de tarefas que coincidem com o mesmo `...`, altera a lista de tarefas automaticamente do 'rebase -i' para que o commit marcado para ser comprimido venha logo após o commit que será modificado e altere a ação do commit movido de `pick` para `squash` (ou `fixup`).  Um commit coincide com `...` caso haja a coincidência do assunto do commit ou se o `...` se referir ao hash do commit. Como alternativa, as coincidências que forem parciais ao assunto do commit, também funcionam.  A maneira recomendada para se criar os commits para correção/compressão é utilizando as opções `--fixup`/`--squash` do comando linkgit:git-commit[1].

note: type: Plain text
en: If the `--autosquash` option is enabled by default using the configuration variable `rebase.autoSquash`, this option can be used to override and disable this setting.
pt_BR: Caso a opção `--autosquash` esteja predefinitivamente ativada utilizando a variável de configuração `rebase.autoSquash`, esta opção poderá ser utilizada para substituir e desativar esta configuração.

note: type: Plain text
en: Automatically create a temporary stash entry before the operation begins, and apply it after the operation ends.  This means that you can run rebase on a dirty worktree.  However, use with care: the final stash application after a successful rebase might result in non-trivial conflicts.
pt_BR: Crie automaticamente uma entrada temporária 'stash' antes do início da operação e aplique-a ao finalizar.  Isso significa que é possível executar a reconstrução (rebase) em uma árvore de trabalho suja.  No entanto, use com cuidado: a aplicação 'stash' final após uma nova reconstrução bem-sucedida pode acabar em conflitos não triviais.

note: type: Plain text
en: Automatically reschedule `exec` commands that failed. This only makes sense in interactive mode (or when an `--exec` option was provided).
pt_BR: Reagende automaticamente os comandos `exec` que falharam. Isso só faz sentido no modo interativo (ou quando uma opção `--exec` for utilizada).

note: type: Title -
en: INCOMPATIBLE OPTIONS
pt_BR: OPÇÕES INCOMPATÍVEIS

note: type: Plain text
en: The following options:
pt_BR: As seguintes opções:

note: type: Plain text
en: are incompatible with the following options:
pt_BR: são incompatíveis com as seguintes opções:

note: type: Plain text
en: --root when used in combination with --onto
pt_BR: --root quando utilizado em conjunto com --onto

note: type: Plain text
en: In addition, the following pairs of options are incompatible:
pt_BR: Além disso, os seguintes pares de opções são incompatíveis:

note: type: Plain text
en: --preserve-merges and --interactive
pt_BR: --preserve-merges e --interactive

note: type: Plain text
en: --preserve-merges and --signoff
pt_BR: --preserve-merges e --signoff

note: type: Plain text
en: --preserve-merges and --rebase-merges
pt_BR: --preserve-merges e --rebase-merges

note: type: Plain text
en: --preserve-merges and --empty=
pt_BR: --preserve-merges e --empty=

note: type: Plain text
en: --keep-base and --onto
pt_BR: --keep-base e --onto

note: type: Plain text
en: --keep-base and --root
pt_BR: --keep-base e --root

note: type: Plain text
en: --fork-point and --root
pt_BR: --fork-point e --root

note: type: Plain text
en: BEHAVIORAL DIFFERENCES
pt_BR: DIFERENÇAS COMPORTAMENTAIS

note: type: delimited block -
en: git rebase has two primary backends: apply and merge.  (The apply
    backend used to be known as the 'am' backend, but the name led to
    confusion as it looks like a verb instead of a noun.  Also, the merge
    backend used to be known as the interactive backend, but it is now
    used for non-interactive cases as well.  Both were renamed based on
    lower-level functionality that underpinned each.) There are some
    subtle differences in how these two backends behave:
pt_BR: O git rebase possui duas estruturas primárias: `apply` e `merge`.  (A aplicação
    da estrutura era conhecido como 'am', porém o nome causava
    confusão já que parecia um verbo em vez de um substantivo.  Além disso, a estrutura
    `merge` era informada como 'interactive backend', porém agora
    também é usado para casos não interativos.  Ambos foram renomeados com base na
    funcionalidade de baixo nível que sustentava cada um.) Há algumas
    diferenças sutis em como estes dois processos internos se comportam:

note: type: delimited block -
en: Empty commits
    ~~~~~~~~~~~~~
pt_BR: Commits vazios
    ~~~~~~~~~~~~~

note: type: delimited block -
en: The apply backend unfortunately drops intentionally empty commits, i.e.
    commits that started empty, though these are rare in practice.  It
    also drops commits that become empty and has no option for controlling
    this behavior.
pt_BR: A estrutura aplicada infelizmente descarta os commits vazios de forma intencional, ou seja.
    Os commits que começaram vazios, contudo na prática, é algo raro.  Também
    descarta os commits que se tornam vazios e não há uma opção para controlar
    este comportamento.

note: type: delimited block -
en: The merge backend keeps intentionally empty commits by default (though
    with -i they are marked as empty in the todo list editor, or they can
    be dropped automatically with --no-keep-empty).
pt_BR: É predefinido que a estrutura da mesclagem mantenha os commits
    intencionalmente vazios (com `-i` são marcados como vazio no editor da lista de tarefas,
    ou podem ser descartados automaticamente com a opção `--no-keep-empty`).

note: type: delimited block -
en: Similar to the apply backend, by default the merge backend drops
    commits that become empty unless -i/--interactive is specified (in
    which case it stops and asks the user what to do).  The merge backend
    also has an --empty={drop,keep,ask} option for changing the behavior
    of handling commits that become empty.
pt_BR: Semelhante à estrutura aplicada, é predefinido que
    a estrutura da mesclagem derrube os commits que se tornaram vazios,
    a menos que as opções `-i` ou `--interactive` sejam definidas (nesse caso, ele
    para e pergunta ao usuário o que fazer).  A estrutura da mesclagem
    também possui uma opção --empty={drop,keep,ask} para alterar o comportamento
    da manipulação dos commits que ficam vazios.

note: type: delimited block -
en: Directory rename detection
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
pt_BR: Detecção da renomeação do diretório
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

note: type: delimited block -
en: Due to the lack of accurate tree information (arising from
    constructing fake ancestors with the limited information available in
    patches), directory rename detection is disabled in the apply backend.
    Disabled directory rename detection means that if one side of history
    renames a directory and the other adds new files to the old directory,
    then the new files will be left behind in the old directory without
    any warning at the time of rebasing that you may want to move these
    files into the new directory.
pt_BR: Devido à falta de informações precisas sobre as árvores (que surge de
    construções dos ancestrais falsos com informações limitadas disponíveis nos
    patches), a detecção da renomeação do diretório é desativado na estrutura da aplicação.
    A desativação da detecção da renomeação do diretório, significa que se um lado do histórico
    renomear um diretório e o outro adicionar novos arquivos no diretório antigo, então
    os novos arquivos serão deixados para trás no diretório antigo sem qualquer aviso, 
    durante a reconstrução onde você possa talvez querer mover estes arquivos, 
    para o novo diretório.

note: type: delimited block -
en: Directory rename detection works with the merge backend to provide you
    warnings in such cases.
pt_BR: A detecção da renomeação do diretório funciona com a estrutura da mesclagem,
    neste caso, fornecendo informações para você.

note: type: delimited block -
en: Context
    ~~~~~~~
pt_BR: Contexto
    ~~~~~~~~

note: type: delimited block -
en: The apply backend works by creating a sequence of patches (by calling
    `format-patch` internally), and then applying the patches in sequence
    (calling `am` internally).  Patches are composed of multiple hunks,
    each with line numbers, a context region, and the actual changes.  The
    line numbers have to be taken with some fuzz, since the other side
    will likely have inserted or deleted lines earlier in the file.  The
    context region is meant to help find how to adjust the line numbers in
    order to apply the changes to the right lines.  However, if multiple
    areas of the code have the same surrounding lines of context, the
    wrong one can be picked.  There are real-world cases where this has
    caused commits to be reapplied incorrectly with no conflicts reported.
    Setting diff.context to a larger value may prevent such types of
    problems, but increases the chance of spurious conflicts (since it
    will require more lines of matching context to apply).
pt_BR: A aplicação da estrutura funciona ao criar uma sequencia de patches (chamando
    o `format-patch` internalmente), então se aplicam os patches em sequência
    (invocando o `am` internamente).  Os patches são compostos de vários pedaços,
    cada um com linhas numeradas, o contexto da região, e as alterações atuais.  As
    linhas numeradas devem ser tomadas com alguma imprecisão, já que antes
    o outro lado provavelmente terá inserido ou terá excluído as linhas no arquivo.  O
    contexto da região destina-se no auxílio para encontrar como ajustar as linhas numeradas
    na ordem para aplicar as alterações nas linhas corretas.  No entanto, caso
    ao redor das várias áreas do código tenham as mesmas linhas de contexto, um
    código errado pode ser selecionado.  Existem casos no mundo real onde isso
    fez com que os commits fossem reaplicados de forma incorreta e nenhum conflito foi relatado.
    Definindo o `diff.context` para um valor maior, isso pode impedir que
    estes tipos de problemas ocorram, porém aumenta a chance de conflitos espúrios (uma vez que
    exigirá mais linhas que coincidam com o contexto para serem aplicados).

note: type: delimited block -
en: The merge backend works with a full copy of each relevant file,
    insulating it from these types of problems.
pt_BR: A estrutura da mesclagem trabalha com a cópia completa
    de casa arquivo relevante, isolando-os destes tipos de problemas.

note: type: delimited block -
en: Labelling of conflicts markers
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pt_BR: Rotulagem dos marcadores de conflitos
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

note: type: delimited block -
en: When there are content conflicts, the merge machinery tries to
    annotate each side's conflict markers with the commits where the
    content came from.  Since the apply backend drops the original
    information about the rebased commits and their parents (and instead
    generates new fake commits based off limited information in the
    generated patches), those commits cannot be identified; instead it has
    to fall back to a commit summary.  Also, when merge.conflictStyle is
    set to diff3, the apply backend will use "constructed merge base" to
    label the content from the merge base, and thus provide no information
    about the merge base commit whatsoever.
pt_BR: Quando há conteúdos conflitantes, o mecanismo da mesclagem tenta
    anotar os marcadores de conflito de cada lado com os commits
    de onde o conteúdo veio.  Como a estrutura descarta o original, as
    informações sobre os commits reconstruídos e seus pais (em vez disso,
    gera novos commits falsos com base nas informações limitadas no
    patches que foram gerados), estes commits não podem ser identificados;
    em vez disso tem que retornar para um resumo do commit.  Além disso, quando `merge.conflictStyle` é
    definido para 'diff3', a estrutura aplicada utilizará uma
    "mesclagem reconstruída da base" para rotular o conteúdo da base mesclada
    e portanto, não fornecer qualquer informações sobre o commit da base mesclada.

note: type: delimited block -
en: The merge backend works with the full commits on both sides of history
    and thus has no such limitations.
pt_BR: A estrutura da mesclagem funciona com commits completos nos dois
    lados da história e portanto, não tem tais limitações.

note: type: delimited block -
en: Hooks
    ~~~~~
pt_BR: Ganchos
    ~~~~~~~

note: type: delimited block -
en: The apply backend has not traditionally called the post-commit hook,
    while the merge backend has.  Both have called the post-checkout hook,
    though the merge backend has squelched its output.  Further, both
    backends only call the post-checkout hook with the starting point
    commit of the rebase, not the intermediate commits nor the final
    commit.  In each case, the calling of these hooks was by accident of
    implementation rather than by design (both backends were originally
    implemented as shell scripts and happened to invoke other commands
    like 'git checkout' or 'git commit' that would call the hooks).  Both
    backends should have the same behavior, though it is not entirely
    clear which, if any, is correct.  We will likely make rebase stop
    calling either of these hooks in the future.
pt_BR: A estrutura da aplicação não chama tradicionalmente o gancho pós-commit,
    enquanto a estrutura da mesclagem chama.  Ambos chamaram o gancho pós-averiguação,
    embora a estrutura da mesclagem reduza a sua saída.  Além disso, ambas
    as estruturas chamam apenas o gancho pós-averiguação com o ponto de partida
    para fazer o commit da reconstrução da fundação (rebase), nem o commit intermediário,
    nem o commit final.  Em cada caso, o chamado desses ganchos foi por acidente de
    implementação em vez de design (os dois processos internos eram originalmente
    implementados como scripts shell e passaram a chamar outros comandos
    como o 'git checkout' ou o 'git commit' que seriam chamados de ganchos).  Ambos
    os processos internos devem ter o mesmo comportamento, embora não seja inteiramente
    claro qual (caso existam), está correto.  Provavelmente faremos a reconstrução (rebase) parar
    chamando um destes ganchos no futuro.

note: type: delimited block -
en: Interruptability
    ~~~~~~~~~~~~~~~~
pt_BR: Interrupção
    ~~~~~~~~~~~

note: type: delimited block -
en: The apply backend has safety problems with an ill-timed interrupt; if
    the user presses Ctrl-C at the wrong time to try to abort the rebase,
    the rebase can enter a state where it cannot be aborted with a
    subsequent `git rebase --abort`.  The merge backend does not appear to
    suffer from the same shortcoming.  (See
    https://lore.kernel.org/git/20200207132152.GC2868@szeder.dev/ for
    details.)
pt_BR: A aplicação da estrutura possui problemas de segurança relacionada
    com interrupção de tempo; caso o usuário pressione Ctrl+C no momento errado
    ao tentar interromper o processo 'rebase' (reconstrução), o processo então pode entrar
    em uma condição ele não pode ser parado posteriormente com um comando `git rebase --abort`.  A estrutura da mesclagem não
    parece sofrer da mesma deficiência.  (Consulte
    https://lore.kernel.org/git/20200207132152.GC2868@szeder.dev/
    para obter mais detalhes.)

note: type: delimited block -
en: Commit Rewording
    ~~~~~~~~~~~~~~~~
pt_BR: Reformulando o Commit
    ~~~~~~~~~~~~~~~~~~~~~

note: type: delimited block -
en: When a conflict occurs while rebasing, rebase stops and asks the user
    to resolve.  Since the user may need to make notable changes while
    resolving conflicts, after conflicts are resolved and the user has run
    `git rebase --continue`, the rebase should open an editor and ask the
    user to update the commit message.  The merge backend does this, while
    the apply backend blindly applies the original commit message.
pt_BR: Quando ocorre um conflito durante o processo 'rebase', o processo
    para e pergunta ao usuário para resolver o problema.  Como o usuário pode precisar fazer muitas alterações enquanto
    resolve os conflitos, depois que os conflitos forem resolvidos e o
    usuário tenha executado o comando `git rebase --continue`, o 'rebase'
    deverá abrir o editor e perguntar ao usuário para atualizar a mensagem do commit.  A estrutura da mesclagem faz isso, enquanto
    a estrutura aplica cegamente a mensagem do commit original.

note: type: delimited block -
en: Miscellaneous differences
    ~~~~~~~~~~~~~~~~~~~~~~~~~
pt_BR: Diferenças diversas
    ~~~~~~~~~~~~~~~~~~~

note: type: delimited block -
en: There are a few more behavioral differences that most folks would
    probably consider inconsequential but which are mentioned for
    completeness:
pt_BR: Existem mais algumas diferenças comportamentais que a maioria das
    pessoas considerariam fazer de forma inconsequente, porém são mencionadas
    por questões de integridade:

note: type: delimited block -
en: * Reflog: The two backends will use different wording when describing
      the changes made in the reflog, though both will make use of the
      word "rebase".
pt_BR: * Reflog: As duas estruturas que utilizarão palavras diferentes durante a descrição
      das alterações feitas no reflog, embora ambos façam a utilização da
      palavra "rebase"

note: type: delimited block -
en: * Progress, informational, and error messages: The two backends
      provide slightly different progress and informational messages.
      Also, the apply backend writes error messages (such as "Your files
      would be overwritten...") to stdout, while the merge backend writes
      them to stderr.
pt_BR: * Mensagens de progresso, informacionais e de erro: As duas estruturas
      fornecem um progresso ligeiramente diferente das mensagens informantes.
      Além disso, a estrutura aplicada grava uma mensagens de erro (como "Os seus arquivos
      serão substituídos...") para o stdout, enquanto a mesclagem da estrutura escrevem
      eles no stderr.

note: type: delimited block -
en: * State directories: The two backends keep their state in different
      directories under .git/
pt_BR: * Diretórios de estado: As duas estruturas mantêm a sua condição em diferentes
      diretórios dentro do `.git/`

note: type: delimited block -
en: NOTES
pt_BR: OBSERVAÇÕES

note: type: Plain text
en: You should understand the implications of using 'git rebase' on a repository that you share.  See also RECOVERING FROM UPSTREAM REBASE below.
pt_BR: Você deve compreender as implicações da utilização do comando 'git rebase' em um repositório que você compartilha.  Consulte também SE RECUPERANDO DA RECONSTRUÇÃO DA FUNDAÇÃO INICIAL (UPSTREM REBASE) abaixo.

note: type: Plain text
en: When the git-rebase command is run, it will first execute a "pre-rebase" hook if one exists.  You can use this hook to do sanity checks and reject the rebase if it isn't appropriate.  Please see the template pre-rebase hook script for an example.
pt_BR: Quando o comando 'git rebase' é executado, ele primeiro executa um gancho "pre-rebase", caso exista.  Você pode usar este gancho para fazer as verificações de sanidade e rejeitar a nova reconstrução, caso não seja apropriado.  Consulte o modelo do script do gancho 'pre-rebase' para ter um exemplo.

note: type: Plain text
en: Upon completion, <branch> will be the current branch.
pt_BR: Após a conclusão, o <ramo> será o ramo atual.

note: type: Plain text
en: Rebasing interactively means that you have a chance to edit the commits which are rebased.  You can reorder the commits, and you can remove them (weeding out bad or otherwise unwanted patches).
pt_BR: Reconstruir de forma interativa significa ter a chance de editar os commits que são reconstruídos.  É possível reordenar os commits e removê-los (eliminando os patches ruins ou indesejados).

note: type: Plain text
en: The interactive mode is meant for this type of workflow:
pt_BR: O modo interativo é destinado para este tipo de fluxo de trabalho:

note: type: Plain text
en: have a wonderful idea
pt_BR: tenho uma ideia maravilhosa

note: type: Plain text
en: hack on the code
pt_BR: hackear o código

note: type: Plain text
en: prepare a series for submission
pt_BR: preparar uma série para envio

note: type: Plain text
en: submit
pt_BR: enviar

note: type: Plain text
en: where point 2. consists of several instances of
pt_BR: onde o ponto 2. consiste em várias instâncias do

note: type: Plain text
en: regular use
pt_BR: uso regular

note: type: Plain text
en: finish something worthy of a commit
pt_BR: termine algo digno de um commit

note: type: Plain text
en: independent fixup
pt_BR: correção independente

note: type: Plain text
en: realize that something does not work
pt_BR: perceber que algo não funciona

note: type: Plain text
en: fix that
pt_BR: conserte isso

note: type: Plain text
en: commit it
pt_BR: faça o commit

note: type: Plain text
en: Sometimes the thing fixed in b.2. cannot be amended to the not-quite perfect commit it fixes, because that commit is buried deeply in a patch series.  That is exactly what interactive rebase is for: use it after plenty of "a"s and "b"s, by rearranging and editing commits, and squashing multiple commits into one.
pt_BR: Às vezes, a coisa fixada em b.2. não pode ser alterado para o commit nem tão perfeito que ele corrige, porque este commit está enterrado profundamente em uma série de correções.  É exatamente para isso que a reconstrução interativa serve: use-o após muitos "a" e "b", reorganizando e editando os commits e comprimindo vários commits em um.

note: type: Plain text
en: Start it with the last commit you want to retain as-is:
pt_BR: Inicie-o com o último commit que você quer manter como está:

note: type: Plain text
en: 	git rebase -i <after-this-commit>
pt_BR: 	git rebase -i <após-este-commit>

note: type: Plain text
en: An editor will be fired up with all the commits in your current branch (ignoring merge commits), which come after the given commit.  You can reorder the commits in this list to your heart's content, and you can remove them.  The list looks more or less like this:
pt_BR: Um editor será acionado com todos os commits no seu ramo atual (ignorando a mesclagem dos commits), que vêm após o commit informado.  Você pode reordenar os commits nesta lista para o conteúdo do seu coração e pode removê-los.  A lista é mais ou menos assim:

note: type: delimited block -
en: pick deadbee The oneline of this commit
    pick fa1afe1 The oneline of the next commit
    ...
pt_BR: pick deadbee Uma linha deste commit
    pick fa1afe1 Uma linha do próximo commit
    ...

note: type: Plain text
en: The oneline descriptions are purely for your pleasure; 'git rebase' will not look at them but at the commit names ("deadbee" and "fa1afe1" in this example), so do not delete or edit the names.
pt_BR: As descrições on-line são puramente para o seu prazer; o comando 'git rebase' não examinará eles, porém os nomes dos commits ("deadbee" e "fa1afe1" neste exemplo), portanto, não exclua ou edite os nomes.

note: type: Plain text
en: By replacing the command "pick" with the command "edit", you can tell 'git rebase' to stop after applying that commit, so that you can edit the files and/or the commit message, amend the commit, and continue rebasing.
pt_BR: Ao substituir o comando "pick" pelo comando "edit", é possível dizer ao comando 'git rebase' para parar após aplicar este commit, para que seja possível editar os arquivos e/ou a mensagem do commit, alterar o commit e continuar com a reconstrução.

note: type: Plain text
en: To interrupt the rebase (just like an "edit" command would do, but without cherry-picking any commit first), use the "break" command.
pt_BR: Para interromper um "rebase" (exatamente como um comando "edit" faria, mas sem fazer uma escolha seletiva de nenhum commit primeiro), use o comando "break".

note: type: Plain text
en: If you just want to edit the commit message for a commit, replace the command "pick" with the command "reword".
pt_BR: Caso apenas queira editar a mensagem do commit para um commit, substitua o comando `pick` pelo comando `reword`.

note: type: Plain text
en: To drop a commit, replace the command "pick" with "drop", or just delete the matching line.
pt_BR: Para eliminar um commit, substitua o comando "pick" por "drop" ou apenas exclua a linha coincidente.

note: type: Plain text
en: If you want to fold two or more commits into one, replace the command "pick" for the second and subsequent commits with "squash" or "fixup".  If the commits had different authors, the folded commit will be attributed to the author of the first commit.  The suggested commit message for the folded commit is the concatenation of the commit messages of the first commit and of those with the "squash" command, but omits the commit messages of commits with the "fixup" command.
pt_BR: Caso queira dobrar dois ou mais commits em um, substitua o comando "pick" da segunda e os commits subsequentes por "squash" ou "fixup".  Caso os commits tenham autores diferentes, o commit dobrado será atribuído ao autor do primeiro commit.  A mensagem do commit sugerido para o commit que foi dobrado é a concatenação das mensagens dos commits do primeiro commit e daquelas feitas com o comando "squash", porém omite as mensagens dos commits feitas com o comando "fixup".

note: type: Plain text
en: 'git rebase' will stop when "pick" has been replaced with "edit" or when a command fails due to merge errors. When you are done editing and/or resolving conflicts you can continue with `git rebase --continue`.
pt_BR: O comando 'git rebase' será interrompido quando o "pick" for substituído por "edit" ou quando um comando falhar devido aos erros da mesclagem. Quando você terminar de editar e/ou resolver os conflitos, será possível continuar utilizando `git rebase --continue`.

note: type: Plain text
en: For example, if you want to reorder the last 5 commits, such that what was HEAD~4 becomes the new HEAD. To achieve that, you would call 'git rebase' like this:
pt_BR: Como por exemplo, caso você queira reordenar os últimos 5 commits de maneira onde o que era `HEAD~4` se torne o novo `HEAD`. Para conseguir isso, você chamaria o comando 'git rebase' assim:

note: type: Plain text
en: And move the first patch to the end of the list.
pt_BR: E mova o primeiro patch para o ramo da lista.

note: type: Plain text
en: You might want to recreate merge commits, e.g. if you have a history like this:
pt_BR: Convém recriar a mesclagem dos commits, por exemplo, caso tenha um histórico como este:

note: type: Plain text
en: Suppose you want to rebase the side branch starting at "A" to "Q". Make sure that the current HEAD is "B", and call
pt_BR: Suponha que queira reconstruir o lado do ramo ao lado começando em "A" para "Q". Verifique se o `HEAD` atual é "B" e chame

note: type: Plain text
en: Reordering and editing commits usually creates untested intermediate steps.  You may want to check that your history editing did not break anything by running a test, or at least recompiling at intermediate points in history by using the "exec" command (shortcut "x").  You may do so by creating a todo list like this one:
pt_BR: Reordenando e editando os commits geralmente cria etapas intermediárias não testadas.  Convém verificar se a edição do seu histórico não quebrou nada durante a execução de um teste ou, pelo menos, recompilando em pontos intermediários do histórico utilizando o comando "exec" (atalho "x").  Você pode fazer isso criando uma lista de tarefas como esta:

note: type: Plain text
en: The interactive rebase will stop when a command fails (i.e. exits with non-0 status) to give you an opportunity to fix the problem. You can continue with `git rebase --continue`.
pt_BR: A reconstrução interativa será interrompida quando um comando falhar (ou seja, encerra com uma condição diferente de 0) oferecendo uma oportunidade para a correção do problema. Você pode continuar com o comando `git rebase --continue`.

note: type: Plain text
en: The "exec" command launches the command in a shell (the one specified in `$SHELL`, or the default shell if `$SHELL` is not set), so you can use shell features (like "cd", ">", ";" ...). The command is run from the root of the working tree.
pt_BR: O comando "exec" inicia o comando em um shell (aquele definido em `$SHELL`, ou o shell predefinido caso `$SHELL` não esteja definido), para que você possa utilizar os recursos do shell (como "cd", ">", ";" ...). O comando é executado a partir da raiz da árvore de trabalho.

note: type: Plain text
en: This command lets you check that intermediate commits are compilable.  The todo list becomes like that:
pt_BR: Este comando permite verificar se os commits intermediários são compiláveis.  A lista de tarefas fica assim:

note: type: Title -
en: SPLITTING COMMITS
pt_BR: DIVIDINDO OS COMMITS

note: type: Plain text
en: In interactive mode, you can mark commits with the action "edit".  However, this does not necessarily mean that 'git rebase' expects the result of this edit to be exactly one commit.  Indeed, you can undo the commit, or you can add other commits.  This can be used to split a commit into two:
pt_BR: No modo interativo, é possível marcar os commits com a ação "editar".  No entanto, isso não significa necessariamente que o comando 'git rebase' espere que o resultado dessa edição seja exatamente um commit.  Na verdade, é possível desfazer o commit ou adicionar outros.  Isso pode ser utilizado para dividir um commit em dois:

note: type: Plain text
en: Start an interactive rebase with `git rebase -i <commit>^`, where <commit> is the commit you want to split.  In fact, any commit range will do, as long as it contains that commit.
pt_BR: Inicie uma reconstrução interativa com `git rebase -i <commit>^`, onde <commit> é o que você quer dividir.  De fato, qualquer intervalo do commit serve, desde que contenha aquele commit.

note: type: Plain text
en: Mark the commit you want to split with the action "edit".
pt_BR: Marque o commit que deseja dividir com a ação "edit".

note: type: Plain text
en: When it comes to editing that commit, execute `git reset HEAD^`.  The effect is that the HEAD is rewound by one, and the index follows suit.  However, the working tree stays the same.
pt_BR: Quando se trata de editar este commit, execute o comando `git reset HEAD^`.  O efeito é que o `HEAD` é retrocedido por um e o índice segue o conjunto.  No entanto, a árvore de trabalho permanece a mesma.

note: type: Plain text
en: Now add the changes to the index that you want to have in the first commit.  You can use `git add` (possibly interactively) or 'git gui' (or both) to do that.
pt_BR: Agora adicione as alterações ao índice que você queira ter no primeiro commit.  Você pode utilizar o comando `git add` (possivelmente de forma interativa) ou o comando 'git gui' (ou ambos) para fazer isso.

note: type: Plain text
en: Commit the now-current index with whatever commit message is appropriate now.
pt_BR: Faça o commit do índice agora atual com qualquer mensagem do commit que seja apropriada.

note: type: Plain text
en: Repeat the last two steps until your working tree is clean.
pt_BR: Repita as duas últimas etapas até que a sua árvore de trabalho esteja limpa.

note: type: Plain text
en: Continue the rebase with `git rebase --continue`.
pt_BR: Continue a reconstrução com `git rebase --continue`.

note: type: Plain text
en: If you are not absolutely sure that the intermediate revisions are consistent (they compile, pass the testsuite, etc.) you should use 'git stash' to stash away the not-yet-committed changes after each commit, test, and amend the commit if fixes are necessary.
pt_BR: Caso não tenha certeza absoluta que as revisões intermediárias são consistentes (elas compilam, passam no conjunto de testes, etc.), você deve usar o `git stash` para ocultar o commit das alterações que ainda não foram feitas após cada commit, teste e a alteração do commit caso as correções sejam necessárias.

note: type: Title -
en: RECOVERING FROM UPSTREAM REBASE
pt_BR: SE RECUPERANDO DA RECONSTRUÇÃO DA FUNDAÇÃO INICIAL (UPSTREM REBASE)

note: type: Plain text
en: Rebasing (or any other form of rewriting) a branch that others have based work on is a bad idea: anyone downstream of it is forced to manually fix their history.  This section explains how to do the fix from the downstream's point of view.  The real fix, however, would be to avoid rebasing the upstream in the first place.
pt_BR: Fazer a reconstrução da fundação (ou qualquer outra forma de reescrita) de um ramo onde outras pessoas tem a base de trabalho é uma péssima ideia: qualquer um que baixe dela é forçado a corrigir manualmente o seu histórico.  Esta seção explica como fazer a correção do ponto de vista de quem baixou.  A solução real, no entanto em primeiro lugar, seria evitar fazer a reconstrução da fundação de quem subiu (upstream).

note: type: Plain text
en: To illustrate, suppose you are in a situation where someone develops a 'subsystem' branch, and you are working on a 'topic' that is dependent on this 'subsystem'.  You might end up with a history like the following:
pt_BR: Para ilustrar, suponha que esteja em uma situação onde alguém desenvolva um ramo de um 'subsystem' e esteja trabalhando em um 'topic' que depende desse 'subsistema'.  Você pode acabar com um histórico como este:

note: type: Plain text
en: If 'subsystem' is rebased against 'master', the following happens:
pt_BR: Caso a reconstrução da fundação do 'subsystem' seja realizada contra o 'master', o seguinte acontece:

note: type: Plain text
en: If you now continue development as usual, and eventually merge 'topic' to 'subsystem', the commits from 'subsystem' will remain duplicated forever:
pt_BR: Caso agora continue o desenvolvimento normalmente e eventualmente mescle o 'topic' para 'subsystem', os commits do 'subsystem' permanecerão duplicados para sempre:

note: type: Plain text
en: Such duplicates are generally frowned upon because they clutter up history, making it harder to follow.  To clean things up, you need to transplant the commits on 'topic' to the new 'subsystem' tip, i.e., rebase 'topic'.  This becomes a ripple effect: anyone downstream from 'topic' is forced to rebase too, and so on!
pt_BR: Geralmente, essas duplicatas são desaprovadas porque desordenam a história, dificultando o acompanhamento.  Para organizar as coisas, é necessário transplantar os commits no 'topic' para o novo cume do 'subsystem', ou seja, reconstruir (rebase) o 'topic'.  Isso se torna um efeito cascata: qualquer um que baixe do 'topic' é forçado a reconstruir (rebase) também e por aí vai!

note: type: Plain text
en: There are two kinds of fixes, discussed in the following subsections:
pt_BR: Existem dois tipos de correções, discutidos nas seguintes subseções:

note: type: Labeled list
en: Easy case: The changes are literally the same.
pt_BR: Caso fácil: as alterações são literalmente as mesmas.

note: type: Plain text
en: This happens if the 'subsystem' rebase was a simple rebase and had no conflicts.
pt_BR: Isso acontece caso a reconstrução do 'subsystem' foi uma reconstrução simples e não houve conflitos.

note: type: Labeled list
en: Hard case: The changes are not the same.
pt_BR: Caso difícil: as alterações não são as mesmas.

note: type: Plain text
en: This happens if the 'subsystem' rebase had conflicts, or used `--interactive` to omit, edit, squash, or fixup commits; or if the upstream used one of `commit --amend`, `reset`, or a full history rewriting command like https://github.com/newren/git-filter-repo[`filter-repo`].
pt_BR: Isso acontece caso a reconstrução da fundação (rebase) do 'subsistema' tiver conflitos ou utilizar o `--interactive` para omitir, editar, esmagar ou consertar consertos; ou se a inicial utilizou um dos comandos `commit --amend`, `reset` ou um histórico completo da reescrita como https://github.com/newren/git-filter-repo[`filter-repo`].

note: type: Title ~
en: The easy case
pt_BR: O caso fácil

note: type: Plain text
en: Only works if the changes (patch IDs based on the diff contents) on 'subsystem' are literally the same before and after the rebase 'subsystem' did.
pt_BR: Funciona apenas se as alterações (IDs do patch com base no conteúdo do diff) no 'subsystem' que forem literalmente as mesmas antes e depois da reconstrução do 'subsystem'.

note: type: Plain text
en: In that case, the fix is easy because 'git rebase' knows to skip changes that are already present in the new upstream (unless `--reapply-cherry-picks` is given). So if you say (assuming you're on 'topic')
pt_BR: Nesse caso, a correção é fácil porque o comando 'git rebase' sabe ignorar as alterações que já estão presentes no novo 'upstream' (a menos que `--reapply-cherry-picks` seja utilizada). Então, se você diz (supondo que você esteja no 'topic')

note: type: Plain text
en: you will end up with the fixed history
pt_BR: você vai acabar com o histórico fixo

note: type: Title ~
en: The hard case
pt_BR: O caso difícil

note: type: Plain text
en: Things get more complicated if the 'subsystem' changes do not exactly correspond to the ones before the rebase.
pt_BR: As coisas ficam mais complicadas caso as alterações do "subsistema" não coincidam de forma exata aquelas antes da reconstrução.

note: type: Plain text
en: While an "easy case recovery" sometimes appears to be successful
          even in the hard case, it may have unintended consequences.  For
          example, a commit that was removed via `git rebase
          --interactive` will be **resurrected**!
pt_BR: Embora uma "recuperação fácil dos casos" às vezes pareça ser bem-sucedida
          mesmo no caso difícil, pode haver consequências não intencionais.  Para
          Por exemplo, um commit que foi removido através do comando `git rebase
          --interactive` será **ressuscitado**!

note: type: Plain text
en: The idea is to manually tell 'git rebase' "where the old 'subsystem' ended and your 'topic' began", that is, what the old merge base between them was.  You will have to find a way to name the last commit of the old 'subsystem', for example:
pt_BR: A ideia é dizer manualmente ao comando 'git rebase' "onde o 'subsistema' antigo terminou e o seu 'tópico' começou", ou seja, qual era a base da mesclagem antiga entre eles.  Você precisará encontrar uma maneira de nomear o último commit do antigo 'subsistema', por exemplo:

note: type: Plain text
en: With the 'subsystem' reflog: after 'git fetch', the old tip of 'subsystem' is at `subsystem@{1}`.  Subsequent fetches will increase the number.  (See linkgit:git-reflog[1].)
pt_BR: Com o 'subsistema' reflog: depois de 'git fetch', o antigo cume do 'subsistema' fica em `subsystem@{1}`.  As capturas subsequentes aumentarão este número.  (Consulte linkgit:git-reflog[1].)

note: type: Plain text
en: Relative to the tip of 'topic': knowing that your 'topic' has three commits, the old tip of 'subsystem' must be `topic~3`.
pt_BR: Em relação ao cume do 'topic': sabendo que o seu 'topic' tem três commits, o cume antigo do 'subsystem' deve ser `topic~3`.

note: type: Plain text
en: You can then transplant the old `subsystem..topic` to the new tip by saying (for the reflog case, and assuming you are on 'topic' already):
pt_BR: Você pode então transplantar o antigo `subsystem..topic` para o novo cume dizendo (para o caso do reflog e supondo que você já esteja no 'topic'):

note: type: Plain text
en: The ripple effect of a "hard case" recovery is especially bad: 'everyone' downstream from 'topic' will now have to perform a "hard case" recovery too!
pt_BR: O efeito cascata de uma recuperação "difícil" (hard case) é especialmente ruim: 'todos' baixaram do 'topic' e agora terão que executar também uma reconstrução "difícil"!

note: type: Title -
en: REBASING MERGES
pt_BR: RECONSTRUINDO AS MESCLAGENS

note: type: Plain text
en: The interactive rebase command was originally designed to handle individual patch series. As such, it makes sense to exclude merge commits from the todo list, as the developer may have merged the then-current `master` while working on the branch, only to rebase all the commits onto `master` eventually (skipping the merge commits).
pt_BR: O comando de reconstrução interativa foi originalmente projetado para lidar com séries de patches individuais. Como tal, faz sentido excluir a mesclagem dos commits da lista de tarefas, pois o desenvolvedor pode ter mesclado o `master` atual enquanto trabalhava no ramo, apenas para redefinir todos os commits para `master` eventualmente (ignorando a mesclagem dos commits).

note: type: Plain text
en: However, there are legitimate reasons why a developer may want to recreate merge commits: to keep the branch structure (or "commit topology") when working on multiple, inter-related branches.
pt_BR: No entanto, existem razões legítimas pelas quais um desenvolvedor pode querer recriar as mesclagens dos commits: para manter a estrutura do ramo (ou a "topologia do commit") ao trabalhar em diversos ramos inter-relacionadas.

note: type: Plain text
en: In the following example, the developer works on a topic branch that refactors the way buttons are defined, and on another topic branch that uses that refactoring to implement a "Report a bug" button. The output of `git log --graph --format=%s -5` may look like this:
pt_BR: No exemplo a seguir, o desenvolvedor trabalha em um tópico no ramo que refatora a maneira como os botões são definidos, em outro tópico do ramo que utilize esta refatoração para implementar um botão "Relatar um bug". A saída do `git log --graph --format=%s -5` pode ficar assim:

note: type: delimited block -
en: *   Merge branch 'report-a-bug'
    |\
    | * Add the feedback button
    * | Merge branch 'refactor-button'
    |\ \
    | |/
    | * Use the Button class for all buttons
    | * Extract a generic Button class from the DownloadButton one
pt_BR: *   Mescla o ramo 'report-a-bug'
    |\
    | * Adiciona o botão de feedback
    * | Mescla o ramo 'refactor-button'
    |\ \
    | |/
    | * Utiliza a classe do Botão para todos os botões
    | * Extrai o botão genérico do DownloadButton

note: type: Plain text
en: The developer might want to rebase those commits to a newer `master` while keeping the branch topology, for example when the first topic branch is expected to be integrated into `master` much earlier than the second one, say, to resolve merge conflicts with changes to the DownloadButton class that made it into `master`.
pt_BR: O desenvolvedor pode querer redefinir estes commits para um novo `master` enquanto mantém a topologia da ramificação. Quando se espera que o primeiro tópico do ramo que seja integrado ao` master` muito antes do segundo por exemplo. Para resolver os conflitos da mesclagem com as alterações para a classe `DownloadButton` que a transformou em `master` por exemplo.

note: type: Plain text
en: This rebase can be performed using the `--rebase-merges` option.  It will generate a todo list looking like this:
pt_BR: Esta reconstrução pode ser realizada utilizando a opção `--rebase-merges`.  Ele irá gerar uma lista de tarefas, assim:

note: type: delimited block -
en: label onto
pt_BR: rotular para

note: type: delimited block -
en: # Branch: refactor-button
    reset onto
    pick 123456 Extract a generic Button class from the DownloadButton one
    pick 654321 Use the Button class for all buttons
    label refactor-button
pt_BR: # Branch: refactor-button
    reset onto
    pick 123456 Extrai o botão genérico do DownloadButton
    pick 654321 Utiliza a classe do Botão para todos os botões
    label refactor-button

note: type: delimited block -
en: # Branch: report-a-bug
    reset refactor-button # Use the Button class for all buttons
    pick abcdef Add the feedback button
    label report-a-bug
pt_BR: # Branch: report-a-bug
    reset refactor-button # Utiliza a classe do Botão para todos os botões
    pick abcdef Adiciona o botão de feedback
    label report-a-bug

note: type: delimited block -
en: reset onto
    merge -C a1b2c3 refactor-button # Merge 'refactor-button'
    merge -C 6f5e4d report-a-bug # Merge 'report-a-bug'
pt_BR: reset onto
    merge -C a1b2c3 refactor-button # Mescla o 'refactor-button'
    merge -C 6f5e4d report-a-bug # Mescla o 'report-a-bug'

note: type: Plain text
en: In contrast to a regular interactive rebase, there are `label`, `reset` and `merge` commands in addition to `pick` ones.
pt_BR: Ao contrário de uma reconstrução interativa regular, existem os comandos `label`, `reset` e `merge` além dos comandos `pick`.

note: type: Plain text
en: The `label` command associates a label with the current HEAD when that command is executed. These labels are created as worktree-local refs (`refs/rewritten/<label>`) that will be deleted when the rebase finishes. That way, rebase operations in multiple worktrees linked to the same repository do not interfere with one another. If the `label` command fails, it is rescheduled immediately, with a helpful message how to proceed.
pt_BR: O comando `label` associa um rótulo ao `HEAD` atual quando este comando for executado. Estes rótulos são criados como refs locais da árvore de trabalho (`refs/rewritten/<label>`) que serão excluídos quando a reconstrução terminar. Dessa forma, as operações da reconstrução em várias árvores de trabalho vinculadas ao mesmo repositório não interferem entre si. Caso o comando `label` falhe, este é imediatamente reagendado, com uma mensagem útil sobre como proceder.

note: type: Plain text
en: The `reset` command resets the HEAD, index and worktree to the specified revision. It is similar to an `exec git reset --hard <label>`, but refuses to overwrite untracked files. If the `reset` command fails, it is rescheduled immediately, with a helpful message how to edit the todo list (this typically happens when a `reset` command was inserted into the todo list manually and contains a typo).
pt_BR: O comando `reset` redefine o `HEAD`, o índice e a árvore de trabalho para a revisão específica. É semelhante a um comando `exec git reset --hard <label>`, porém se recusa a sobrescrever os arquivos que não sejam monitorados. Se o comando `reset` falhar, ele será imediatamente reagendado, com uma mensagem útil sobre como editar a lista de tarefas (normalmente acontece quando um comando `reset` foi inserido manualmente na lista de tarefas e contém um erro de digitação).

note: type: Plain text
en: The `merge` command will merge the specified revision(s) into whatever is HEAD at that time. With `-C <original-commit>`, the commit message of the specified merge commit will be used. When the `-C` is changed to a lower-case `-c`, the message will be opened in an editor after a successful merge so that the user can edit the message.
pt_BR: O comando `merge` mesclará revisões especificadas no que seja `HEAD` naquele momento. Com `-C <original-commit>`, a mensagem do commit de um determinada mesclagem será usada. Quando o `C` é alterado para minúsculo `-c`, a mensagem será aberta em um editor após uma mesclagem bem-sucedida, para que o usuário possa edita-lá.

note: type: Plain text
en: If a `merge` command fails for any reason other than merge conflicts (i.e.  when the merge operation did not even start), it is rescheduled immediately.
pt_BR: Caso um comando `merge` falhar por qualquer motivo que não seja um conflito da mesclagem (ou seja, quando a operação da mesclagem sequer iniciou), ele será reagendado imediatamente.

note: type: Plain text
en: At this time, the `merge` command will *always* use the `recursive` merge strategy for regular merges, and `octopus` for octopus merges, with no way to choose a different one. To work around this, an `exec` command can be used to call `git merge` explicitly, using the fact that the labels are worktree-local refs (the ref `refs/rewritten/onto` would correspond to the label `onto`, for example).
pt_BR: Neste momento, o comando `merge` *sempre* utilizará a estratégia da mesclagem `recursiva` para as mesclagens regulares, e `octopus` para mesclagens "polvo", sem nenhuma maneira de escolher uma diferente. Para contornar isso, um comando `exec` pode ser utilizado para chamar o comando `git merge` de forma explicita, utilizando o fato onde os rótulos são as 'refs' locais da área de trabalho (o ref `refs/rewritten/onto` corresponderia ao rótulo `onto` , por exemplo).

note: type: Plain text
en: Note: the first command (`label onto`) labels the revision onto which the commits are rebased; The name `onto` is just a convention, as a nod to the `--onto` option.
pt_BR: Observação: o primeiro comando (`label onto`) rotula a revisão onde os commits são refeitos; O nome `onto` é apenas uma convenção, como um aceno para a opção `--onto`.

note: type: Plain text
en: It is also possible to introduce completely new merge commits from scratch by adding a command of the form `merge <merge-head>`. This form will generate a tentative commit message and always open an editor to let the user edit it. This can be useful e.g. when a topic branch turns out to address more than a single concern and wants to be split into two or even more topic branches. Consider this todo list:
pt_BR: Também é possível introduzir commits para mesclagem completamente novos, adicionando um comando no formato `merge <merge-head>`. Este formulário gera uma mensagem de commit provisória e sempre abre um editor para permitir que o usuário a edite. Pode ser útil quando por exemplo, um ramo de um tópico acaba resolvendo mais de um problema e quer ser dividido em dois ou mais ramos de tópico. Considere esta lista de tarefas:

note: type: delimited block -
en: pick 192837 Switch from GNU Makefiles to CMake
    pick 5a6c7e Document the switch to CMake
    pick 918273 Fix detection of OpenSSL in CMake
    pick afbecd http: add support for TLS v1.3
    pick fdbaec Fix detection of cURL in CMake on Windows
pt_BR: pick 192837 Alterna do GNU Makefiles para o CMake
    pick 5a6c7e Documente a alteração para o CMake
    pick 918273 Corrija a detecção do OpenSSL no CMake
    pick afbecd http: adicione a compatibilidade com o TLS v1.3
    pick fdbaec Corrija a detecção da cURL no CMake no Windows

note: type: Plain text
en: The one commit in this list that is not related to CMake may very well have been motivated by working on fixing all those bugs introduced by switching to CMake, but it addresses a different concern. To split this branch into two topic branches, the todo list could be edited like this:
pt_BR: O único commit nesta lista que não está relacionado ao CMake pode muito bem ter sido motivado ao trabalhar na correção de todos os erros introduzidos durante a mudança para o CMake, porém ele lida com um interesse diferente. Para dividir esse ramo em dois tópicos, a lista de tarefas pode ser editada desta maneira:

note: type: delimited block -
en: pick afbecd http: add support for TLS v1.3
    label tlsv1.3
pt_BR: escolha afbecd http: adicione a compatibilidade para o TLS v1.3
    label tlsv1.3

note: type: delimited block -
en: reset onto
    pick 192837 Switch from GNU Makefiles to CMake
    pick 918273 Fix detection of OpenSSL in CMake
    pick fdbaec Fix detection of cURL in CMake on Windows
    pick 5a6c7e Document the switch to CMake
    label cmake
pt_BR: redefinir para
    pick 192837 Alterna do GNU Makefiles para o CMake
    pick 918273 Corrija a detecção do OpenSSL no CMake
    pick fdbaec Corrija a detecção da cURL no CMake no Windows
    pick 5a6c7e Documente a alteração para o CMake
    label cmake

note: type: Plain text
en: The todo list presented by the deprecated `--preserve-merges --interactive` does not represent the topology of the revision graph (use `--rebase-merges` instead).  Editing commits and rewording their commit messages should work fine, but attempts to reorder commits tend to produce counterintuitive results.  Use `--rebase-merges` in such scenarios instead.
pt_BR: A lista de tarefas apresentada pela opção descontinuada `--preserve-merges --interactive` não representa a topologia do grafo da revisão (em vez disso use a opção `--rebase-merges`).  A edição dos commits e a reformulação das suas mensagens devem funcionar bem, porém as tentativas de reordenar os commits tendem a produzir resultados contra-intuitivos.  Em vez disso, use a opção `--rebase-merges` em tais cenários.

note: type: Plain text
en: For example, an attempt to rearrange
pt_BR: Por exemplo, uma tentativa para reorganizar

note: type: Plain text
en: by moving the "pick 4" line will result in the following history:
pt_BR: movendo a linha "pick 4" resultará no seguinte histórico:

note: type: Plain text
en: git-receive-pack - Receive what is pushed into the repository
pt_BR: git-receive-pack - Recebe o que for impulsionado para o repositório

note: type: Plain text
en: 'git-receive-pack' <directory>
pt_BR: 'git-receive-pack' <diretório>

note: type: Plain text
en: Invoked by 'git send-pack' and updates the repository with the information fed from the remote end.
pt_BR: Chamado através do comando 'git send-pack' e atualiza o repositório com as informações fornecidas pelo terminal remoto.

note: type: Plain text
en: This command is usually not invoked directly by the end user.  The UI for the protocol is on the 'git send-pack' side, and the program pair is meant to be used to push updates to remote repository.  For pull operations, see linkgit:git-fetch-pack[1].
pt_BR: Este comando geralmente não é invocado diretamente pelo usuário final.  O protocolo da interface do usuário está no lado 'git send pack', e o par de programas deve ser utilizado para enviar atualizações para o repositório remoto.  Para as operações "pull", veja see linkgit:git-fetch-pack[1].

note: type: Plain text
en: The command allows for creation and fast-forwarding of sha1 refs (heads/tags) on the remote end (strictly speaking, it is the local end 'git-receive-pack' runs, but to the user who is sitting at the send-pack end, it is updating the remote.  Confused?)
pt_BR: O comando permite a criação e o encaminhamento rápido dos sha1 das refs (heads/tags) na extremidade remota (falando estritamente, é a extremidade local do comando 'git receive pack' executado, porém, para o usuário que está sentado na outra extremidade do pacote de envio, é atualizando o ramo remoto.  Confundiu?)

note: type: Plain text
en: There are other real-world examples of using update and post-update hooks found in the Documentation/howto directory.
pt_BR: Existem outros exemplos no mundo real da utilização dos ganchos de atualização e pós-atualização encontrados no diretório 'Documentation/howto'.

note: type: Plain text
en: 'git-receive-pack' honours the receive.denyNonFastForwards config option, which tells it if updates to a ref should be denied if they are not fast-forwards.
pt_BR: O coamndo 'git-receive-pack' respeita a opção de configuração `receive.denyNonFastForwards`, que informa se as atualizações de uma "ref" devem ser negadas caso não sejam rápidas.

note: type: Plain text
en: A number of other receive.* config options are available to tweak its behavior, see linkgit:git-config[1].
pt_BR: Uma quantidade de outras opções de configurações receive.* estão disponíveis para ajustar o seu comportamento, consulte linkgit:git-config[1].

note: type: Plain text
en: The repository to sync into.
pt_BR: O repositório para sincronizar.

note: type: Title -
en: PRE-RECEIVE HOOK
pt_BR: O GANCHO DE PRÉ-RECEBIMENTO

note: type: Plain text
en: Before any ref is updated, if $GIT_DIR/hooks/pre-receive file exists and is executable, it will be invoked once with no parameters.  The standard input of the hook will be one line per ref to be updated:
pt_BR: Antes de qualquer "ref" ser atualizada, caso o arquivo '$GIT_DIR/hooks/pre-receive' existir e for executável, ele será chamado uma vez e sem parâmetros.  A entrada predefinido do gancho será uma linha por referência que será atualizada:

note: type: Plain text
en: The refname value is relative to $GIT_DIR; e.g. for the master head this is "refs/heads/master".  The two sha1 values before each refname are the object names for the refname before and after the update.  Refs to be created will have sha1-old equal to 0\{40}, while refs to be deleted will have sha1-new equal to 0\{40}, otherwise sha1-old and sha1-new should be valid objects in the repository.
pt_BR: O valor do 'refname' é relativo ao `$GIT_DIR`; como por exemplo, para a cabeçalho principal, isto é "refs/heads/master".  Os dois valores sha1 antes de cada 'refname' são os nomes dos objetos para o 'refname' antes e depois da atualização.  As refs que serão criadas terão um sha1 antigo igual a '0\{40}', enquanto as refs que serão excluídas terão um sha1 novo igual a 0\{40}, caso contrário, tanto o sha1 novo quanto o sha1 antigo devem ser objetos válidos no repositório.

note: type: Plain text
en: When accepting a signed push (see linkgit:git-push[1]), the signed push certificate is stored in a blob and an environment variable `GIT_PUSH_CERT` can be consulted for its object name.  See the description of `post-receive` hook for an example.  In addition, the certificate is verified using GPG and the result is exported with the following environment variables:
pt_BR: Ao aceitar um impulsionamento assinado (consulte linkgit:git-push[1]), o certificado deste impulsionamento assinado é armazenado em uma bolha e em uma variável `GIT_PUSH_CERT` do ambiente onde o seu nome do objeto pode ser consultado.  Um exemplo pode ser visto consultando a descrição do gancho `post-receive`.  Além disso, o certificado é verificado utilizando o GPG e seu resultado é exportado com as seguintes variáveis de ambiente:

note: type: Plain text
en: The name and the e-mail address of the owner of the key that signed the push certificate.
pt_BR: O nome e o endereço do e-mail do proprietário da chave que assinou o certificado push.

note: type: Plain text
en: The GPG key ID of the key that signed the push certificate.
pt_BR: O ID da chave GPG da chave que assinou o certificado "push".

note: type: Plain text
en: The status of GPG verification of the push certificate, using the same mnemonic as used in `%G?` format of `git log` family of commands (see linkgit:git-log[1]).
pt_BR: A condição da verificação do certificado GPG do impulsionamento utiliza o mesmo processo mnemônico de como é utilizado em `%G?`, formato da família de comandos `git log` (consulte linkgit:git-log[1]).

note: type: Plain text
en: The nonce string the process asked the signer to include in the push certificate.  If this does not match the value recorded on the "nonce" header in the push certificate, it may indicate that the certificate is a valid one that is being replayed from a separate "git push" session.
pt_BR: A sequência nonce que o processo solicitou ao assinante para incluir no certificado "push".  Caso isso não corresponda ao valor registrado no cabeçalho "nonce" no certificado "push", isso pode indicar que o certificado é válido e está sendo reproduzido em uma sessão separada do comando "git push".

note: type: Plain text
en: "git push --signed" sent a nonce when we did not ask it to send one.
pt_BR: O comando "git push --signed" enviou um nonce quando não pedimos para enviar um.

note: type: Plain text
en: "git push --signed" did not send any nonce header.
pt_BR: O comando "git push --signed" não enviou nenhum cabeçalho nonce.

note: type: Plain text
en: "git push --signed" sent a bogus nonce.
pt_BR: O comando "git push --signed" enviou um falso nonce.

note: type: Plain text
en: "git push --signed" sent the nonce we asked it to send.
pt_BR: O comando "git push --signed" enviou o nonce que pedimos para ser enviado.

note: type: Plain text
en: "git push --signed" sent a nonce different from what we asked it to send now, but in a previous session.  See `GIT_PUSH_CERT_NONCE_SLOP` environment variable.
pt_BR: O comando "git push --signed" enviou um nonce diferente do que foi pedido para enviar agora, porém em uma sessão anterior.  Consulte a variável de ambiente `GIT_PUSH_CERT_NONCE_SLOP`.

note: type: Plain text
en: "git push --signed" sent a nonce different from what we asked it to send now, but in a different session whose starting time is different by this many seconds from the current session.  Only meaningful when `GIT_PUSH_CERT_NONCE_STATUS` says `SLOP`.  Also read about `receive.certNonceSlop` variable in linkgit:git-config[1].
pt_BR: O comando "git push --signed" enviou um nonce diferente do que foi pedido agora, porém em uma sessão diferente, cujo horário do início e é diferente em muitos segundos da sessão atual.  So faz sentido quando `GIT_PUSH_CERT_NONCE_STATUS` diz `SLOP`.  Leia também sobre a variável `receive.certNonceSlop` no linkgit:git-config[1].

note: type: Plain text
en: This hook is called before any refname is updated and before any fast-forward checks are performed.
pt_BR: Este gancho é chamado antes que qualquer "refname" seja atualizado e antes que qualquer verificação de avanço rápido seja executada.

note: type: Plain text
en: If the pre-receive hook exits with a non-zero exit status no updates will be performed, and the update, post-receive and post-update hooks will not be invoked either.  This can be useful to quickly bail out if the update is not to be supported.
pt_BR: Caso o gancho 'pre-receive' termine com uma condição diferente de zero, nenhuma atualização será executada, a atualização, os ganchos 'pre-receive' e 'post-update' também não serão invocados.  Isso pode ser útil para o resgate rápido caso a atualização não seja compatível.

note: type: Plain text
en: See the notes on the quarantine environment below.
pt_BR: Veja as notas sobre o ambiente de quarentena abaixo.

note: type: Title -
en: UPDATE HOOK
pt_BR: GANCHO DE ATUALIZAÇÃO

note: type: Plain text
en: Before each ref is updated, if $GIT_DIR/hooks/update file exists and is executable, it is invoked once per ref, with three parameters:
pt_BR: Antes de cada "ref" que será atualizada, caso o arquivo '$GIT_DIR/hooks/update' existir e for executável, ele será chamado uma vez por referência, com três parâmetros:

note: type: Plain text
en: The refname parameter is relative to $GIT_DIR; e.g. for the master head this is "refs/heads/master".  The two sha1 arguments are the object names for the refname before and after the update.  Note that the hook is called before the refname is updated, so either sha1-old is 0\{40} (meaning there is no such ref yet), or it should match what is recorded in refname.
pt_BR: O parâmetro "refname" é relativo ao `$GIT_DIR`; como por exemplo, para a cabeçalho principal, isto é "refs/heads/master".  Os dois argumentos sha1 são os nomes dos objetos para o "refname" antes e depois da atualização.  Observe que o gancho é chamado antes que o "refname" seja atualizado; portanto, o sha1 antigo é 0\{40} (o que significa que essa "ref" ainda não existe) ou deve coincidir ao que está registrado no "refname".

note: type: Plain text
en: The hook should exit with non-zero status if it wants to disallow updating the named ref.  Otherwise it should exit with zero.
pt_BR: O gancho deve encerrar com uma condição diferente de zero caso queira impedir a atualização da "ref" informada.  Caso contrário, ele deve encerrar com zero.

note: type: Plain text
en: Successful execution (a zero exit status) of this hook does not ensure the ref will actually be updated, it is only a prerequisite.  As such it is not a good idea to send notices (e.g. email) from this hook.  Consider using the post-receive hook instead.
pt_BR: Uma execução bem-sucedida (uma condição de encerramento com zero) deste gancho não garante que a "ref" seja realmente atualizada; é apenas um pré-requisito.  Como tal, não é uma boa ideia enviar avisos (por email por exemplo) deste gancho.  Em vez disso, considere utilizar o gancho pós-recebimento.

note: type: Title -
en: POST-RECEIVE HOOK
pt_BR: O GANCHO DO PÓS-RECEBIMENTO

note: type: Plain text
en: After all refs were updated (or attempted to be updated), if any ref update was successful, and if $GIT_DIR/hooks/post-receive file exists and is executable, it will be invoked once with no parameters.  The standard input of the hook will be one line for each successfully updated ref:
pt_BR: Depois da atualização de todas as refs (ou que tentaram ser atualizadas), caso alguma atualização seja bem-sucedida e se o arquivo '$GIT_DIR/hooks/post-receive' existir e for executável, ele será chamado uma vez sem parâmetros.  A entrada padrão do gancho será uma linha para cada 'ref' atualizada com êxito:

note: type: Plain text
en: The refname value is relative to $GIT_DIR; e.g. for the master head this is "refs/heads/master".  The two sha1 values before each refname are the object names for the refname before and after the update.  Refs that were created will have sha1-old equal to 0\{40}, while refs that were deleted will have sha1-new equal to 0\{40}, otherwise sha1-old and sha1-new should be valid objects in the repository.
pt_BR: O valor do 'refname' é relativo ao `$GIT_DIR`; como por exemplo, para a cabeçalho principal, isto é "refs/heads/master".  Os dois valores sha1 antes de cada 'refname' são os nomes dos objetos para o 'refname' antes e depois da atualização.  As refs que serão criadas terão um sha1 antigo igual a '0\{40}', enquanto as refs que serão excluídas terão um sha1 novo igual a 0\{40}, caso contrário, tanto o sha1 novo quanto o sha1 antigo devem ser objetos válidos no repositório.

note: type: Plain text
en: The `GIT_PUSH_CERT*` environment variables can be inspected, just as in `pre-receive` hook, after accepting a signed push.
pt_BR: As variáveis de ambiente `GIT_PUSH_CERT*` podem ser inspecionadas, assim como no gancho de `pré-recebimento`, após aceitar um "push" assinado.

note: type: Plain text
en: Using this hook, it is easy to generate mails describing the updates to the repository.  This example script sends one mail message per ref listing the commits pushed to the repository, and logs the push certificates of signed pushes with good signatures to a logger service:
pt_BR: Com a utilização deste gancho, é fácil gerar e-mails descrevendo as atualizações no repositório.  Este script de demonstração envia uma mensagem de e-mail listando cada "ref" dos commits impulsionados ao repositório e faz o registro dos certificados dos impulsionamentos assinados com boas assinaturas em um serviço para o registro dos eventos:

note: type: delimited block -
en: #!/bin/sh
    # mail out commit update information.
    while read oval nval ref
    do
    	if expr "$oval" : '0*$' >/dev/null
    	then
    		echo "Created a new ref, with the following commits:"
    		git rev-list --pretty "$nval"
    	else
    		echo "New commits:"
    		git rev-list --pretty "$nval" "^$oval"
    	fi |
    	mail -s "Changes to ref $ref" commit-list@mydomain
    done
    # log signed push certificate, if any
    if test -n "${GIT_PUSH_CERT-}" && test ${GIT_PUSH_CERT_STATUS} = G
    then
    	(
    		echo expected nonce is ${GIT_PUSH_NONCE}
    		git cat-file blob ${GIT_PUSH_CERT}
    	) | mail -s "push certificate from $GIT_PUSH_CERT_SIGNER" push-log@mydomain
    fi
    exit 0
pt_BR: #!/bin/sh
    # envie as informações das atualizações dos commits por e-mail.
    while read oval nval ref
    do
    	if expr "$oval" : '0*$' >/dev/null
    	then
    		echo "Foi criado uma nova ref, com os seguintes commits:"
    		git rev-list --pretty "$nval"
    	else
    		echo "Novos commits:"
    		git rev-list --pretty "$nval" "^$oval"
    	fi |
    	mail -s "As alterações para a ref $ref" commit-list@mydomain
    done
    # registre o certificado da assinatura push, caso exista
    if test -n "${GIT_PUSH_CERT-}" && test ${GIT_PUSH_CERT_STATUS} = G
    then
    	(
    		echo expected nonce is ${GIT_PUSH_NONCE}
    		git cat-file blob ${GIT_PUSH_CERT}
    	) | mail -s "certificado push do $GIT_PUSH_CERT_SIGNER" push-log@mydomain
    fi
    exit 0

note: type: Plain text
en: The exit code from this hook invocation is ignored, however a non-zero exit code will generate an error message.
pt_BR: O código de encerramento vindo desta invocação do gancho é ignorado; no entanto, um código de encerramento diferente de zero gera uma mensagem de erro.

note: type: Plain text
en: Note that it is possible for refname to not have sha1-new when this hook runs.  This can easily occur if another user modifies the ref after it was updated by 'git-receive-pack', but before the hook was able to evaluate it.  It is recommended that hooks rely on sha1-new rather than the current value of refname.
pt_BR: Observe que é possível para o "refname" não ter um sha1 novo durante a execução deste gancho.  Isso pode ocorrer facilmente caso outro usuário modifique a "ref" após a atualização do 'git receive pack', porém antes que o gancho possa avaliá-lo.  Recomenda-se que os ganchos confiem no sha1 novo ao invés do valor atual do "refname".

note: type: Title -
en: POST-UPDATE HOOK
pt_BR: O GANCHO DE PÓS-ATUALIZAÇÃO

note: type: Plain text
en: After all other processing, if at least one ref was updated, and if $GIT_DIR/hooks/post-update file exists and is executable, then post-update will be called with the list of refs that have been updated.  This can be used to implement any repository wide cleanup tasks.
pt_BR: Após todos os outros processamentos, se pelo menos uma 'ref' foi atualizada e caso o arquivo '$GIT_DIR/hooks/post-update' existe e é executável, então o "post-update" (pós-atualização) será chamada com a lista das 'refs' que foram atualizadas.  Isso pode ser utilizado para implementar qualquer outra tarefa de limpeza em todo o repositório.

note: type: Plain text
en: The exit code from this hook invocation is ignored; the only thing left for 'git-receive-pack' to do at that point is to exit itself anyway.
pt_BR: O código de saída deste gancho de chamada é ignorado; a única coisa que resta para o 'git receive pack' nesse ponto é encerrar de qualquer maneira.

note: type: Plain text
en: This hook can be used, for example, to run `git update-server-info` if the repository is packed and is served via a dumb transport.
pt_BR: Este gancho pode ser utilizado, como por exemplo, para executar `git update server info` caso o repositório esteja empacotado e seja servido através de um transporte burro.

note: type: Title -
en: QUARANTINE ENVIRONMENT
pt_BR: AMBIENTE DE QUARENTENA

note: type: Plain text
en: When `receive-pack` takes in objects, they are placed into a temporary "quarantine" directory within the `$GIT_DIR/objects` directory and migrated into the main object store only after the `pre-receive` hook has completed. If the push fails before then, the temporary directory is removed entirely.
pt_BR: Quando o `receive-pack` recebe os objetos, eles são colocados em um diretório temporário de "quarentena" dentro do diretório `$GIT_DIR/objects` e migrados para o armazenamento dos objetos principais somente após a conclusão do gancho `pré-recebimento`. Caso o envio falhe antes, o diretório temporário será removido completamente.

note: type: Plain text
en: This has a few user-visible effects and caveats:
pt_BR: Isso tem alguns efeitos e advertências visíveis ao usuário:

note: type: Plain text
en: Pushes which fail due to problems with the incoming pack, missing objects, or due to the `pre-receive` hook will not leave any on-disk data. This is usually helpful to prevent repeated failed pushes from filling up your disk, but can make debugging more challenging.
pt_BR: Os impulsionamentos que falharem devido aos problemas com o pacote recebido, os objetos ausentes ou devido ao gancho do `pré-recebimento` não deixarão nenhum dado no disco. Geralmente é útil para impedir que impulsionamentos sem sucesso e de forma repetida preencham o seu disco, porém podem tornar a depuração muito mais desafiadora.

note: type: Plain text
en: Any objects created by the `pre-receive` hook will be created in the quarantine directory (and migrated only if it succeeds).
pt_BR: Quaisquer objetos criados pelo gancho `pre-receive` (recebimento prévio) serão criados no diretório de quarentena (e migrados apenas caso sejam bem-sucedidos).

note: type: Plain text
en: The `pre-receive` hook MUST NOT update any refs to point to quarantined objects. Other programs accessing the repository will not be able to see the objects (and if the pre-receive hook fails, those refs would become corrupted). For safety, any ref updates from within `pre-receive` are automatically rejected.
pt_BR: O gancho `pre-receive` NÃO DEVE atualizar nenhuma refs para apontar para os objetos em quarentena. Outros programas que acessam o repositório não poderão ver os objetos (e se o gancho do "pre-receive" falhar, estes refs serão corrompidos). Por questões de segurança, qualquer atualização do "ref" dento do `pre-receive` são rejeitadas automaticamente.

note: type: Plain text
en: git-reflog - Manage reflog information
pt_BR: git-reflog - Gerencie informações do reflog

note: type: Plain text
en: 'git reflog' <subcommand> <options>
pt_BR: 'git reflog' <subcomando> <opções>

note: type: Plain text
en: Reference logs, or "reflogs", record when the tips of branches and other references were updated in the local repository. Reflogs are useful in various Git commands, to specify the old value of a reference. For example, `HEAD@{2}` means "where HEAD used to be two moves ago", `master@{one.week.ago}` means "where master used to point to one week ago in this local repository", and so on. See linkgit:gitrevisions[7] for more details.
pt_BR: Os registros log de referência ou "reflogs", registram quando o cume dos ramos, assim como, quais as outras referências que foram atualizadas no repositório local. Os "reflogs" são úteis para especificar o valor antigo de uma referência em vários comandos Git. Por exemplo, `HEAD@{2}` quer dizer "para onde HEAD costumava estar há dois movimentos atrás", `master@{one.week.ago}` quer dizer "para onde o "master" costumava apontar uma semana atrás neste repositório local" e assim por diante. Para mais detalhes consulte linkgit:gitrevisions[7].

note: type: Plain text
en: This command manages the information recorded in the reflogs.
pt_BR: Este comando gerencia as informações registradas nos "reflogs".

note: type: Plain text
en: The "show" subcommand (which is also the default, in the absence of any subcommands) shows the log of the reference provided in the command-line (or `HEAD`, by default). The reflog covers all recent actions, and in addition the `HEAD` reflog records branch switching.  `git reflog show` is an alias for `git log -g --abbrev-commit --pretty=oneline`; see linkgit:git-log[1] for more information.
pt_BR: O subcomando "show" (que também é o valor predefinido na ausência dos subcomandos) exibe o registro log da referência informada através da linha de comando (ou pela predefinição, `HEAD`). O "reflog" cobre todas as ações recentes assim como, o reflog `HEAD` registra a alternância do ramo.  O comando `git reflog show` é um apelido para `git log -g --abbrev-commit --pretty=oneline`; Para mais informações consulte linkgit:git-log[1].

note: type: Plain text
en: The "expire" subcommand prunes older reflog entries. Entries older than `expire` time, or entries older than `expire-unreachable` time and not reachable from the current tip, are removed from the reflog.  This is typically not used directly by end users -- instead, see linkgit:git-gc[1].
pt_BR: O subcomando "expire" remove as entradas mais antigas do "reflog". As entradas serão removidas do "reflog" caso tenham o tempo anterior ao 'expire' ou `expire-unreachable`, assim como aquelas que estiverem inacessíveis.  Normalmente, isso não é utilizado de forma direta pelos usuários finais -- em vez disso, consulte linkgit:git-gc[1].

note: type: Plain text
en: The "delete" subcommand deletes single entries from the reflog. Its argument must be an _exact_ entry (e.g. "`git reflog delete master@{2}`"). This subcommand is also typically not used directly by end users.
pt_BR: O subcomando "delete" exclui as entradas únicas do reflog. O seu argumento deve ser uma entrada _exata_ (como por exemplo, "`git reflog delete master@{2}`"). Este subcomando também não é utilizado diretamente pelos usuários finais.

note: type: Plain text
en: The "exists" subcommand checks whether a ref has a reflog.  It exits with zero status if the reflog exists, and non-zero status if it does not.
pt_BR: O subcomando "existe" verifica se uma "ref" tem um reflog.  Encerra com a condição zero, caso o "reflog" exista, e a condição seja diferente de zero caso não exista.

note: type: Title ~
en: Options for `show`
pt_BR: Opções para `show`

note: type: Plain text
en: `git reflog show` accepts any of the options accepted by `git log`.
pt_BR: O `git reflog show` aceita qualquer uma das opções aceitas pelo` git log`.

note: type: Title ~
en: Options for `expire`
pt_BR: Opções para `expire`

note: type: Plain text
en: Process the reflogs of all references.
pt_BR: Processe os reflogs de todas as referências.

note: type: Plain text
en: By default when `--all` is specified, reflogs from all working trees are processed. This option limits the processing to reflogs from the current working tree only.
pt_BR: É predefinido que quando `--all` seja utilizado, os reflogs de todas as árvores de trabalho sejam processadas. Esta opção limita o processamento da reflogs apenas na árvore de trabalho atual.

note: type: Labeled list
en: --expire=<time>
pt_BR: --expire=<tempo>

note: type: Plain text
en: Prune entries older than the specified time. If this option is not specified, the expiration time is taken from the configuration setting `gc.reflogExpire`, which in turn defaults to 90 days. `--expire=all` prunes entries regardless of their age; `--expire=never` turns off pruning of reachable entries (but see `--expire-unreachable`).
pt_BR: Remova os lançamentos mais antigos que o tempo informado. Caso esta opção não seja definida, o tempo da expiração será obtido com a opção de configuração `gc.reflogExpire`, que por sua vez a sua predefinição retorna para 90 dias. A opção `--expire=all` remove as entradas independentemente da idade; `--expire=never` desativa a remoção dos lançamentos acessíveis (porém consulte `--expire-unreachable`).

note: type: Labeled list
en: --expire-unreachable=<time>
pt_BR: --expire-unreachable=<tempo>

note: type: Plain text
en: Prune entries older than `<time>` that are not reachable from the current tip of the branch. If this option is not specified, the expiration time is taken from the configuration setting `gc.reflogExpireUnreachable`, which in turn defaults to 30 days. `--expire-unreachable=all` prunes unreachable entries regardless of their age; `--expire-unreachable=never` turns off early pruning of unreachable entries (but see `--expire`).
pt_BR: Remova os lançamentos mais antigos que o `<tempo>` que não sejam acessíveis através do cume atual do ramo. Caso esta opção não seja definida, o tempo da expiração será obtido com a opção de configuração `gc.reflogExpire`, que por sua vez a sua predefinição retorna para 90 dias. A opção `--expire-unreachable=all` remove as entradas não acessíveis independentemente da sua idade; `--expire-unreachable=never` desativa a remoção prévia dos lançamentos não acessíveis (porém consulte `--expire`).

note: type: Plain text
en: Update the reference to the value of the top reflog entry (i.e.  <ref>@\{0\}) if the previous top entry was pruned.  (This option is ignored for symbolic references.)
pt_BR: Atualize a referência ao valor da entrada do topo do "reflog" (como por exemplo, <ref>@\{0\}) caso o topo do lançamento anterior tenha sido removido.  (Esta opção é ignorada para referências simbólicas.)

note: type: Plain text
en: If a reflog entry's predecessor is pruned, adjust its "old" SHA-1 to be equal to the "new" SHA-1 field of the entry that now precedes it.
pt_BR: Caso o antecessor de uma entrada reflog seja removido, ajuste o seu SHA-1 "antigo" para ser igual ao "novo" campo SHA-1 da entrada que agora o precede.

note: type: Plain text
en: Prune any reflog entries that point to "broken commits". A broken commit is a commit that is not reachable from any of the reference tips and that refers, directly or indirectly, to a missing commit, tree, or blob object.
pt_BR: Elimine qualquer entradas no reflog que apontem para "commits com problemas". Um commit com problema (broken commit) é um commit que não pode ser acessado por nenhum topo de referência e que se tenha referência, direta ou indiretamente, a um objeto commit, árvore ou bolha ausente.

note: type: Plain text
en: This computation involves traversing all the reachable objects, i.e. it has the same cost as 'git prune'.  It is primarily intended to fix corruption caused by garbage collecting using older versions of Git, which didn't protect objects referred to by reflogs.
pt_BR: Este cálculo envolve percorrer todos os objetos acessíveis, ou seja, tem o mesmo custo que o comando 'git prune'.  Ele se destina principalmente para corrigir a corrupção causada pela coleta de lixo usando as versões mais antigas do Git, que não protegiam os objetos referidos através dos "reflogs".

note: type: Plain text
en: Do not actually prune any entries; just show what would have been pruned.
pt_BR: Na verdade, não faça a poda de nenhuma entrada; apenas exiba o que teria sido podado.

note: type: Plain text
en: Print extra information on screen.
pt_BR: Imprima informações extras na tela.

note: type: Title ~
en: Options for `delete`
pt_BR: Opções para o `delete`

note: type: Plain text
en: `git reflog delete` accepts options `--updateref`, `--rewrite`, `-n`, `--dry-run`, and `--verbose`, with the same meanings as when they are used with `expire`.
pt_BR: O `git reflog delete` aceita as opções `--updateref`, `--rewrite`, `-n`, `--dry-run`, e `--verbose`, com os mesmos significados de quando são utilizadas com `expirar`.

note: type: Plain text
en: git-remote-ext - Bridge smart transport to external command.
pt_BR: git-remote-ext - Ponte de transporte inteligente para um comando externo.

note: type: Plain text
en: git remote add <nick> "ext::<command>[ <arguments>...]"
pt_BR: git remote e <nick> "ext::<comando>[ <argumentos>...]"

note: type: Plain text
en: This remote helper uses the specified '<command>' to connect to a remote Git server.
pt_BR: Este auxiliar remoto utiliza o '<comando>' informado para se conectar em um servidor Git remoto.

note: type: Plain text
en: Data written to stdin of the specified '<command>' is assumed to be sent to a git:// server, git-upload-pack, git-receive-pack or git-upload-archive (depending on situation), and data read from stdout of <command> is assumed to be received from the same service.
pt_BR: Assume-se que os dados gravados no stdin do '<comando>' informado sejam encaminhados para um servidor `git://`, `git-upload-pack`, `git-receive-pack`, `git-receive-pack` ou `git-upload-archive` (dependendo da situação) e os dados lidos do stdout do <comando> assume-se ter sido recebido do mesmo serviço.

note: type: Plain text
en: Command and arguments are separated by an unescaped space.
pt_BR: O comando e os argumentos são separados por um espaço sem escape.

note: type: Plain text
en: The following sequences have a special meaning:
pt_BR: As seguintes sequências têm um significado especial:

note: type: Plain text
en: Literal space in command or argument.
pt_BR: Espaço literal em comando ou argumento.

note: type: Plain text
en: Literal percent sign.
pt_BR: Sinal de porcentagem literal.

note: type: Plain text
en: Replaced with name (receive-pack, upload-pack, or upload-archive) of the service Git wants to invoke.
pt_BR: Substituído pelo nome (`receive-pack` (pacote de recebimento), `upload-pack` (pacote de upload), ou `upload-archive` (arquivo de upload)) do serviço que o Git deseja invocar.

note: type: Plain text
en: Replaced with long name (git-receive-pack, git-upload-pack, or git-upload-archive) of the service Git wants to invoke.
pt_BR: Substituído pelo longo nome (`git-receive-pack`, `git-upload-pack`, ou `git-upload-archive`) do serviço que o Git deseja invocar.

note: type: Labeled list
en: '%G' (must be the first characters in an argument)
pt_BR: '%G' (devem ser os primeiros caracteres em um argumento)

note: type: Plain text
en: This argument will not be passed to '<command>'. Instead, it will cause the helper to start by sending git:// service requests to the remote side with the service field set to an appropriate value and the repository field set to rest of the argument. Default is not to send such a request.
pt_BR: Este argumento não será encaminhado para '<comando>'. Instead, it will cause the helper to start by sending git:// service requests to the remote side with the service field set to an appropriate value and the repository field set to rest of the argument. Default is not to send such a request.

note: type: Plain text
en: This is useful if remote side is git:// server accessed over some tunnel.
pt_BR: É útil caso o lado remoto seja um servidor git:// acessado por algum túnel.

note: type: Labeled list
en: '%V' (must be first characters in argument)
pt_BR: '%V' (deve ser o primeiro caractere no argumento)

note: type: Plain text
en: This argument will not be passed to '<command>'. Instead it sets the vhost field in the git:// service request (to rest of the argument).  Default is not to send vhost in such request (if sent).
pt_BR: Este argumento não será encaminhado para '<comando>'. Em vez disso, define o campo vhost na solicitação do serviço 'git://' (para o restante do argumento).  A predefinição é não enviar o vhost em tal solicitação (caso seja enviada).

note: type: Title -
en: ENVIRONMENT VARIABLES
pt_BR: VARIÁVEIS DO AMBIENTE

note: type: Plain text
en: If set, prints debugging information about various reads/writes.
pt_BR: Se definido, imprime as informações de depuração sobre várias leituras/gravações.

note: type: Title -
en: ENVIRONMENT VARIABLES PASSED TO COMMAND
pt_BR: VARIÁVEIS DO AMBIENTE ENCAMINHADA AO COMANDO

note: type: Plain text
en: Set to long name (git-upload-pack, etc...) of service helper needs to invoke.
pt_BR: Defina como um nome longo (git-upload-pack, etc...) do assistente de serviço que precisa ser invocado.

note: type: Plain text
en: Set to long name (upload-pack, etc...) of service helper needs to invoke.
pt_BR: Defina como um nome longo (upload-pack, etc...) do assistente de serviço que precisa ser invocado.

note: type: Plain text
en: This remote helper is transparently used by Git when you use commands such as "git fetch <URL>", "git clone <URL>", , "git push <URL>" or "git remote add <nick> <URL>", where <URL> begins with `ext::`.  Examples:
pt_BR: Este ajudante remoto é usado de forma transparente pelo Git quando você usa comandos como "git fetch <URL>", "git clone <URL>", "git push <URL>" ou "git remote add <nick><URL>", onde <URL>começa com `ext::`.  Exemplos:

note: type: Plain text
en: Like host.example:foo/repo, but use /home/foo/.ssh/somekey as keypair and user as user on remote side. This avoids needing to edit .ssh/config.
pt_BR: Como 'host.example:foo/repo', porém utilize '/home/foo/.ssh/somekey' como um par de chaves e usuário como usuário no lado remoto. Isso evita a necessidade de se editar o '.ssh/config'.

note: type: Plain text
en: Represents repository with path /somerepo accessible over git protocol at abstract namespace address /git-server.
pt_BR: Representa o repositório com o caminho '/algumrepo' acessível através do protocolo git no endereço do espaço de nomes abstrato '/git-server'.

note: type: Plain text
en: Represents a repository with path /repo accessed using the helper program "git-server-alias foo".  The path to the repository and type of request are not passed on the command line but as part of the protocol stream, as usual with git:// protocol.
pt_BR: Representa um repositório com o caminho '/repo' acessado utilizando o programa auxiliar "git-server-alias foo".  O caminho para o repositório e o tipo da solicitação que não são encaminhados na linha de comando, porém como parte do fluxo do protocolo, como de costume, com o protocolo git://.

note: type: Plain text
en: Represents a repository with path /repo accessed using the helper program "git-server-alias foo".  The hostname for the remote server passed in the protocol stream will be "foo" (this allows multiple virtual Git servers to share a link-level address).
pt_BR: Represents a repository with path /repo accessed using the helper program "git-server-alias foo".  O nome do host do servidor remoto passado no fluxo do protocolo será "foo" (permite que vários servidores Git virtuais compartilhem um endereço no nível do link).

note: type: Plain text
en: Represents a repository with path `/repo with spaces` accessed using the helper program "git-server-alias foo".  The hostname for the remote server passed in the protocol stream will be "foo" (this allows multiple virtual Git servers to share a link-level address).
pt_BR: Representa um repositório com o caminho `/repo com espaços` acessado utilizando o programa auxiliar "git-server-alias foo".  O nome do host do servidor remoto passado no fluxo do protocolo será "foo" (permite que vários servidores Git virtuais compartilhem um endereço no nível do link).

note: type: Labeled list
en: "ext::git-ssl foo.example /bar"
pt_BR: "ext::git-ssl foo.examplo /bar"

note: type: Plain text
en: Represents a repository accessed using the helper program "git-ssl foo.example /bar".  The type of request can be determined by the helper using environment variables (see above).
pt_BR: Representa um repositório acessado utilizando o programa auxiliar "git-ssl foo.example /bar".  O tipo de solicitação pode ser determinado através do auxiliar utilizando as variáveis do ambiente (veja acima).

note: type: Plain text
en: git-remote-fd - Reflect smart transport stream back to caller
pt_BR: git remote-fd - Reflita o fluxo de transporte inteligente de volta para quem chamou

note: type: Plain text
en: This helper uses specified file descriptors to connect to a remote Git server.  This is not meant for end users but for programs and scripts calling git fetch, push or archive.
pt_BR: Este auxiliar utiliza os descritores do arquivo definidos para se conectar em um servidor Git remoto.  Isso não é para usuários finais, porém para programas e scripts que chamam `git fetch`, `push` ou `archive`.

note: type: Plain text
en: If only <infd> is given, it is assumed to be a bidirectional socket connected to remote Git server (git-upload-pack, git-receive-pack or git-upload-archive). If both <infd> and <outfd> are given, they are assumed to be pipes connected to a remote Git server (<infd> being the inbound pipe and <outfd> being the outbound pipe.
pt_BR: Caso apenas o <infd> seja informado, será considerado um soquete bidirecional conectado com o servidor Git remoto (`git-upload-pack`, `git-receive-pack` ou `git-receive-pack` ou `git-upload-archive`). Caso ambos os <infd> e o <outfd> sejam informados, eles serão pipes conectados em um servidor Git remoto (o <infd> sendo o pipe da entrada e o <outfd> sendo o da saída.

note: type: Plain text
en: It is assumed that any handshaking procedures have already been completed (such as sending service request for git://) before this helper is started.
pt_BR: Supõe-se que qualquer procedimento de acordo (handshake) que já tenha sido concluído (como o envio da solicitação do serviço para o 'git://') antes da inicialização deste assistente.

note: type: Plain text
en: <anything> can be any string. It is ignored. It is meant for providing information to user in the URL in case that URL is displayed in some context.
pt_BR: <anything> pode ser qualquer texto. É ignorado. Destina-se a prover informações ao usuário na URL, caso esta URL seja exibida em algum contexto.

note: type: Plain text
en: Fetch master, using file descriptor #17 to communicate with git-upload-pack.
pt_BR: Busque o mestre, utilizando o descritor do arquivo nº 17 para se comunicar com o 'git-upload-pack'.

note: type: Plain text
en: Push master, using file descriptor #7 to read data from git-receive-pack and file descriptor #8 to write data to same service.
pt_BR: O 'push master', usando o descritor do arquivo #7 para ler os dados do 'git-receive-pack' e o descritor de arquivo #8 para gravar os dados no mesmo serviço.

note: type: Plain text
en: git-remote - Manage set of tracked repositories
pt_BR: git-remote - Gerencie o conjunto dos repositórios monitorados

note: type: Plain text
en: 'git remote' [-v | --verbose]
    'git remote add' [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>
    'git remote rename' <old> <new>
    'git remote remove' <name>
    'git remote set-head' <name> (-a | --auto | -d | --delete | <branch>)
    'git remote set-branches' [--add] <name> <branch>...
    'git remote get-url' [--push] [--all] <name>
    'git remote set-url' [--push] <name> <newurl> [<oldurl>]
    'git remote set-url --add' [--push] <name> <newurl>
    'git remote set-url --delete' [--push] <name> <url>
    'git remote' [-v | --verbose] 'show' [-n] <name>...
    'git remote prune' [-n | --dry-run] <name>...
    'git remote' [-v | --verbose] 'update' [-p | --prune] [(<group> | <remote>)...]
pt_BR: 'git remote' [-v | --verbose]
    'git remote add' [-t <ramo>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <nome> <url>
    'git remote rename' <antigo> <novo>
    'git remote remove' <nome>
    'git remote set-head' <nome> (-a | --auto | -d | --delete | <ramo>)
    'git remote set-branches' [--add] <nome> <ramo>...
    'git remote get-url' [--push] [--all] <nome>
    'git remote set-url' [--push] <nome> <newurl> [<oldurl>]
    'git remote set-url --add' [--push] <nome> <newurl>
    'git remote set-url --delete' [--push] <nome> <url>
    'git remote' [-v | --verbose] 'show' [-n] <nome>...
    'git remote prune' [-n | --dry-run] <nome>...
    'git remote' [-v | --verbose] 'update' [-p | --prune] [(<grupo> | <remoto>)...]

note: type: Plain text
en: Manage the set of repositories ("remotes") whose branches you track.
pt_BR: Gerencie o conjunto de repositórios ("remotos") cujos ramos você monitora.

note: type: Plain text
en: Be a little more verbose and show remote url after name.  NOTE: This must be placed between `remote` and `subcommand`.
pt_BR: Seja um pouco mais detalhado e exiba o endereço URL remoto após o nome.  OBSERVAÇÃO: Este deve ser colocado entre `remote` e `subcommand`.

note: type: Plain text
en: With no arguments, shows a list of existing remotes.  Several subcommands are available to perform operations on the remotes.
pt_BR: Sem argumentos, exibe uma lista dos ramos remotos existentes.  Vários subcomandos estão disponíveis para executar as operações nos ramos remotos.

note: type: Plain text
en: Adds a remote named <name> for the repository at <url>.  The command `git fetch <name>` can then be used to create and update remote-tracking branches <name>/<branch>.
pt_BR: Adiciona um ramo remoto chamado <nome> para o repositório na <url>.  O comando `git fetch <nome>` pode ser utilizado para criar e atualizar os ramos monitorados remotamente <nome>/<ramo>.

note: type: Plain text
en: With `-f` option, `git fetch <name>` is run immediately after the remote information is set up.
pt_BR: Com a opção `-f`, o comando `git fetch <nome>` é executado imediatamente a informação remota seja configurada.

note: type: Plain text
en: With `--tags` option, `git fetch <name>` imports every tag from the remote repository.
pt_BR: Com a opção `--tags`, o `git fetch <nome>` importa cada tag do repositório remoto.

note: type: Plain text
en: With `--no-tags` option, `git fetch <name>` does not import tags from the remote repository.
pt_BR: Com a opção `--no-tags`, o `git fetch <nome>` não importa as tags do repositório remoto.

note: type: Plain text
en: By default, only tags on fetched branches are imported (see linkgit:git-fetch[1]).
pt_BR: É predefinido que apenas as tags recolhidas dos ramos são importadas (consulte linkgit:git-fetch[1]).

note: type: Plain text
en: With `-t <branch>` option, instead of the default glob refspec for the remote to track all branches under the `refs/remotes/<name>/` namespace, a refspec to track only `<branch>` is created.  You can give more than one `-t <branch>` to track multiple branches without grabbing all branches.
pt_BR: Com a opção `-t <ramo>`, em vez do 'glob refspec' predefinido para que o ramo remoto monitore todos os ramos sob o espaço de nomes `refs/remotes/<nome>/`, um "refspec" para monitorar apenas o `<ramo>` que foi criado.  Você pode utilizar mais de um `-t <ramo>` para monitorar várias ramificações sem monitorar todas.

note: type: Plain text
en: With `-m <master>` option, a symbolic-ref `refs/remotes/<name>/HEAD` is set up to point at remote's `<master>` branch. See also the set-head command.
pt_BR: Com a opção `-m <master>`, uma "ref" simbólica `refs/remotes/<nome>/HEAD` é configurado para apontar para o ramo `<master>` do ramo remoto. Veja também o comando `set-head`.

note: type: Plain text
en: When a fetch mirror is created with `--mirror=fetch`, the refs will not be stored in the 'refs/remotes/' namespace, but rather everything in 'refs/' on the remote will be directly mirrored into 'refs/' in the local repository. This option only makes sense in bare repositories, because a fetch would overwrite any local commits.
pt_BR: Quando um espelho de busca é criado com a opção `--mirror=fetch`, as refs não serão armazenados no espaço de nomes 'refs/remotes/', porém tudo nas 'refs/' no ramo remoto será espelhado diretamente na 'refs/' em o repositório local. Esta opção faz sentido apenas nos repositórios vazios, porque uma busca substituirá quaisquer commits locais.

note: type: Plain text
en: When a push mirror is created with `--mirror=push`, then `git push` will always behave as if `--mirror` was passed.
pt_BR: Quando um espelho "push" é criado com a opção `--mirror=push`, então o comando `git push` sempre se comportará como se o `--mirror` fosse utilizado.

note: type: Plain text
en: Rename the remote named <old> to <new>. All remote-tracking branches and configuration settings for the remote are updated.
pt_BR: Renomeie o ramo remoto chamado `<old>` para `<novo>`. Todos os ramos monitorados remotamente e as suas definições de configuração para o ramo remoto são atualizados.

note: type: Plain text
en: In case <old> and <new> are the same, and <old> is a file under `$GIT_DIR/remotes` or `$GIT_DIR/branches`, the remote is converted to the configuration file format.
pt_BR: Caso <antigo> e <novo> sejam iguais, e <old> seja um arquivo existente no `$GIT_DIR/remotes` ou `$GIT_DIR/branches`, o ramo remoto será convertido para o formato do arquivo de configuração.

note: type: Plain text
en: Remove the remote named <name>. All remote-tracking branches and configuration settings for the remote are removed.
pt_BR: Remova o ramo remoto chamado `<nome>`. Todos os ramos monitorados remotamente e as suas definições de configuração para o ramo remoto são atualizados.

note: type: Plain text
en: Sets or deletes the default branch (i.e. the target of the symbolic-ref `refs/remotes/<name>/HEAD`) for the named remote. Having a default branch for a remote is not required, but allows the name of the remote to be specified in lieu of a specific branch. For example, if the default branch for `origin` is set to `master`, then `origin` may be specified wherever you would normally specify `origin/master`.
pt_BR: Define ou exclui o ramo predefinido (ou seja, o destino da ref simbólica `refs/remotes/<nome>/HEAD`) do ramo remoto informado. Não é necessário ter um ramo remoto predefinido para o ramo remoto, porém permite que o nome do ramo remoto seja utilizado no lugar de um ramo específico. Como por exemplo, caso o ramo predefinido para `origin` estiver definido como `master`, então `origin` poderá ser definido onde quer que você normalmente definiria `origin/master`.

note: type: Plain text
en: With `-d` or `--delete`, the symbolic ref `refs/remotes/<name>/HEAD` is deleted.
pt_BR: Com `-d` ou `--delete`, a referência simbólica `refs/remotes/<nome>/HEAD` é excluída.

note: type: Plain text
en: With `-a` or `--auto`, the remote is queried to determine its `HEAD`, then the symbolic-ref `refs/remotes/<name>/HEAD` is set to the same branch. e.g., if the remote `HEAD` is pointed at `next`, "`git remote set-head origin -a`" will set the symbolic-ref `refs/remotes/origin/HEAD` to `refs/remotes/origin/next`. This will only work if `refs/remotes/origin/next` already exists; if not it must be fetched first.
pt_BR: Com `-a` ou `--auto`, o ramo remoto é consultado para determinar o seu `HEAD`, então a referência simbólica `refs/remotes/<nome>/HEAD` é definida no mesmo ramo. Como por exemplo, caso o `HEAD` remoto aponte para `next`, o comando "`git remote set-head origin -a`" definirá a referência remota `refs/remotes/origin/HEAD` para `refs/remotes/origin/next`. Isso só funcionará caso o `refs/remotes/origin/next` já existir; caso contrário, deve ser buscado (fetched) primeiro.

note: type: Plain text
en: Use `<branch>` to set the symbolic-ref `refs/remotes/<name>/HEAD` explicitly. e.g., "git remote set-head origin master" will set the symbolic-ref `refs/remotes/origin/HEAD` to `refs/remotes/origin/master`. This will only work if `refs/remotes/origin/master` already exists; if not it must be fetched first.
pt_BR: Utilize o `<ramo>` para definir explicitamente a referência simbólica `refs/remotes/<nome>/HEAD`. Como por exemplo, o comando "git remote set-head origin master" definirá a referência remota `refs/remotes/origin/HEAD` para `refs/remotes/origin/master`. Isso só funcionará caso o `refs/remotes/origin/master` já existir; caso contrário, deve ser buscado (fetched) primeiro.

note: type: Plain text
en: Changes the list of branches tracked by the named remote.  This can be used to track a subset of the available remote branches after the initial setup for a remote.
pt_BR: Altera a lista das ramificações monitoradas pelo ramo remoto informado.  Pode ser utilizado para monitorar um subconjunto das ramificações remotas disponíveis após a configuração inicial de um ramo remoto.

note: type: Plain text
en: The named branches will be interpreted as if specified with the `-t` option on the 'git remote add' command line.
pt_BR: Os ramos informados serão interpretados como se fossem definidos com a opção `-t` na linha de comando 'git remote add'.

note: type: Plain text
en: With `--add`, instead of replacing the list of currently tracked branches, adds to that list.
pt_BR: Com `--add`, em vez de substituir a lista das ramificações monitoradas no momento, será adicionada a lista.

note: type: Plain text
en: Retrieves the URLs for a remote. Configurations for `insteadOf` and `pushInsteadOf` are expanded here. By default, only the first URL is listed.
pt_BR: Recupera as URLs para um ramo remoto. As configurações para o `ratherOf` e `pushInsteadOf` são expandidas aqui. É predefinido que, apenas a primeira URL é listada.

note: type: Plain text
en: With `--push`, push URLs are queried rather than fetch URLs.
pt_BR: Com o `--push`, as URLs 'push' são apenas consultadas em vez de buscar as URLs.

note: type: Plain text
en: With `--all`, all URLs for the remote will be listed.
pt_BR: Com `--all`, todas as URLs para o ramo remoto serão listadas.

note: type: Plain text
en: Changes URLs for the remote. Sets first URL for remote <name> that matches regex <oldurl> (first URL if no <oldurl> is given) to <newurl>. If <oldurl> doesn't match any URL, an error occurs and nothing is changed.
pt_BR: Altera as URLs para o ramo remoto. Define a primeira URL para o <nome> remoto que coincida com à regex <oldurl> (primeira URL caso nenhuma <oldurl> seja informada) como <newurl>. Caso <oldurl> não coincida com nenhuma URL, ocorrerá um erro e nada será alterado.

note: type: Plain text
en: With `--push`, push URLs are manipulated instead of fetch URLs.
pt_BR: Com o `--push`, as URLs 'push' são manipuladas em vez de buscar as URLs.

note: type: Plain text
en: With `--add`, instead of changing existing URLs, new URL is added.
pt_BR: Com `--add`, em vez de alterar as URLs existentes, uma nova URL é adicionada.

note: type: Plain text
en: With `--delete`, instead of changing existing URLs, all URLs matching regex <url> are deleted for remote <name>.  Trying to delete all non-push URLs is an error.
pt_BR: Com `--delete`, em vez de alterar as URLs existentes, todas as URLs coincidentes à expressão regular <url> são excluídas para o ramo remoto <nome>.  Tentar excluir todas as URLs 'não push' é um erro.

note: type: Plain text
en: Note that the push URL and the fetch URL, even though they can be set differently, must still refer to the same place.  What you pushed to the push URL should be what you would see if you immediately fetched from the fetch URL.  If you are trying to fetch from one place (e.g. your upstream) and push to another (e.g.  your publishing repository), use two separate remotes.
pt_BR: Observe que a URL de envio e a URL de busca, mesmo que possam ser definidos de maneira diferente, ainda devem se referir ao mesmo local.  O que você impulsionou para a URL de envio deve ser o que você veria se buscasse imediatamente a URL de busca.  Caso esteja tentando buscar de um lugar (como por exemplo, a sua "upstream") e enviar para outro (como por exemplo, o seu repositório de publicação), utilize dois ramos remotos separados.

note: type: Plain text
en: Gives some information about the remote <name>.
pt_BR: Fornece algumas informações sobre o ramo remoto <nome>.

note: type: Plain text
en: With `-n` option, the remote heads are not queried first with `git ls-remote <name>`; cached information is used instead.
pt_BR: Com a opção `-n`, os cabeçalhos remotos não são consultadas primeiro com o comando `git ls remote`; as informações em cache são utilizadas em vez disso.

note: type: Plain text
en: Deletes stale references associated with <name>. By default, stale remote-tracking branches under <name> are deleted, but depending on global configuration and the configuration of the remote we might even prune local tags that haven't been pushed there. Equivalent to `git fetch --prune <name>`, except that no new references will be fetched.
pt_BR: Exclui as referências antigas associadas com <nome>. É predefinido que as ramificações antigas monitoradas remotamente sob <nome> são excluídas, porém, dependendo da configuração global e da configuração do ramo remoto, podemos até remover as tags locais que não foram enviadas para lá. É o equivalente ao comando `git fetch --prune <nome>`, exceto que nenhuma nova referência será buscada.

note: type: Plain text
en: See the PRUNING section of linkgit:git-fetch[1] for what it'll prune depending on various configuration.
pt_BR: Veja a seção 'PRUNING' do linkgit:git-fetch[1] para saber o que será removido dependendo das várias configurações.

note: type: Plain text
en: With `--dry-run` option, report what branches will be pruned, but do not actually prune them.
pt_BR: Com a opção `--dry-run`, relate quais os ramos serão eliminados, mas na verdade não os eliminem.

note: type: Plain text
en: Fetch updates for remotes or remote groups in the repository as defined by remotes.<group>.  If neither group nor remote is specified on the command line, the configuration parameter remotes.default will be used; if remotes.default is not defined, all remotes which do not have the configuration parameter remote.<name>.skipDefaultUpdate set to true will be updated.  (See linkgit:git-config[1]).
pt_BR: A captura das atualizações remoras ou em grupos remotos no repositório como definido em remotes.<grupo>.  Caso nenhum grupo local ou remoto seja especificado na linha de comandos, o parâmetro `remotes.default` será utilizado; caso `remotes.default` não esteja definido, todos os remotos que não possuem o parâmetro da configuração `remote.<nome>.skipDefaultUpdate` definido como `true` serão atualizados.  (Consulte linkgit:git-config[1]).

note: type: Plain text
en: With `--prune` option, run pruning against all the remotes that are updated.
pt_BR: Com a opção `--prune`, execute a poda em todos os ramos remotos que estão atualizados.

note: type: Plain text
en: The remote configuration is achieved using the `remote.origin.url` and `remote.origin.fetch` configuration variables.  (See linkgit:git-config[1]).
pt_BR: A configuração remota é arquivada utilizando as configurações das variáveis `remote.origin.url` e `remote.origin.fetch`. (Consulte linkgit:git-config[1]).

note: type: Plain text
en: Add a new remote, fetch, and check out a branch from it
pt_BR: Adicione um novo ramo remoto, busque e averigue um ramo dele

note: type: delimited block -
en: $ git remote
    origin
    $ git branch -r
      origin/HEAD -> origin/master
      origin/master
    $ git remote add staging git://git.kernel.org/.../gregkh/staging.git
    $ git remote
    origin
    staging
    $ git fetch staging
    ...
    From git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
     * [new branch]      master     -> staging/master
     * [new branch]      staging-linus -> staging/staging-linus
     * [new branch]      staging-next -> staging/staging-next
    $ git branch -r
      origin/HEAD -> origin/master
      origin/master
      staging/master
      staging/staging-linus
      staging/staging-next
    $ git switch -c staging staging/master
    ...
pt_BR: $ git remote
    origin
    $ git branch -r
      origin/HEAD -> origin/master
      origin/master
    $ git remote add staging git://git.kernel.org/.../gregkh/staging.git
    $ git remote
    origin
    staging
    $ git fetch staging
    ...
    Do git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
     * [new branch]      master     -> staging/master
     * [new branch]      staging-linus -> staging/staging-linus
     * [new branch]      staging-next -> staging/staging-next
    $ git branch -r
      origin/HEAD -> origin/master
      origin/master
      staging/master
      staging/staging-linus
      staging/staging-next
    $ git switch -c staging staging/master
    ...

note: type: Plain text
en: Imitate 'git clone' but track only selected branches
pt_BR: Imite o comando `git clone`, porém monitore apenas os ramos selecionados

note: type: Plain text
en: git-repack - Pack unpacked objects in a repository
pt_BR: git-repack - Empacota os objetos descompactados em um repositório

note: type: Plain text
en: 'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [--window=<n>] [--depth=<n>] [--threads=<n>] [--keep-pack=<pack-name>]
pt_BR: 'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [--window=<n>] [--depth=<n>] [--threads=<n>] [--keep-pack=<nome-do-pacote>]

note: type: Plain text
en: This command is used to combine all objects that do not currently reside in a "pack", into a pack.  It can also be used to re-organize existing packs into a single, more efficient pack.
pt_BR: Este comando é utilizado para combinar todos os objetos que atualmente não residem em um "pacote", em um pacote.  Também pode ser utilizado para reorganizar os pacotes existentes, em um único pacote mais eficiente.

note: type: Plain text
en: Instead of incrementally packing the unpacked objects, pack everything referenced into a single pack.  Especially useful when packing a repository that is used for private development. Use with `-d`.  This will clean up the objects that `git prune` leaves behind, but `git fsck --full --dangling` shows as dangling.
pt_BR: Em vez de empacotar de forma incremental os objetos que foram descompactados, empacote tudo em um único pacote.  É especialmente útil ao compactar um repositório utilizado para o desenvolvimento privado. Utilize com `-d`.  Isso limpará os objetos que o `git prune` deixa para trás, porém o `git fsck --full --dangling` será exibido como se estivesse pendurado.

note: type: Plain text
en: Note that users fetching over dumb protocols will have to fetch the whole new pack in order to get any contained object, no matter how many other objects in that pack they already have locally.
pt_BR: Observe que os usuários que buscam protocolos "burros" terão que buscar todo o novo pacote para obter o conteúdo de qualquer objeto, não importa quantos outros objetos nesse pacote eles já tenham localmente.

note: type: Plain text
en: Promisor packfiles are repacked separately: if there are packfiles that have an associated ".promisor" file, these packfiles will be repacked into another separate pack, and an empty ".promisor" file corresponding to the new separate pack will be written.
pt_BR: Os arquivos de pacotes "promisor" são empacotados separadamente, caso haja arquivos de pacote que tenham um arquivo ".promisor" associado, estes arquivos de pacote serão reempacotados em outro pacote separado e um arquivo ".promisor" vazio correspondente será gravado em um novo pacote separado.

note: type: Plain text
en: Same as `-a`, unless `-d` is used.  Then any unreachable objects in a previous pack become loose, unpacked objects, instead of being left in the old pack.  Unreachable objects are never intentionally added to a pack, even when repacking.  This option prevents unreachable objects from being immediately deleted by way of being left in the old pack and then removed.  Instead, the loose unreachable objects will be pruned according to normal expiry rules with the next 'git gc' invocation. See linkgit:git-gc[1].
pt_BR: O mesmo que `-a`, a menos que`-d` seja utilizado.  Em seguida todos os objetos inacessíveis em um pacote anterior tornam-se objetos soltos e descompactados em vez de serem deixados no pacote antigo.  Objetos inacessíveis nunca são adicionados intencionalmente a um pacote, mesmo quando reempacotados.  Essa opção previne que os objetos inacessíveis sejam excluídos imediatamente por terem sido deixados no pacote antigo e então removidos.  Em vez disso, os objetos inacessíveis soltos serão removidos de acordo com as regras normais de expiração com a próxima invocação 'git gc'. Consulte linkgit:git-gc[1].

note: type: Plain text
en: After packing, if the newly created packs make some existing packs redundant, remove the redundant packs.  Also run 'git prune-packed' to remove redundant loose object files.
pt_BR: Após o empacotamento, caso os pacotes recém-criados recriem pacotes redundantes dos pacotes já existentes, remova os pacotes redundantes.  Execute também o comando 'git prune-packed' para remover os arquivos redundantes dos objetos soltos.

note: type: Plain text
en: Pass the `--local` option to 'git pack-objects'. See linkgit:git-pack-objects[1].
pt_BR: Encaminha a opção `--local` para 'git pack-objects'. Consulte linkgit:git-pack-objects[1].

note: type: Plain text
en: Pass the `--no-reuse-delta` option to `git-pack-objects`, see linkgit:git-pack-objects[1].
pt_BR: Encaminha a opção `--no-reuse-delta` para `git-pack-objects`, consulte linkgit:git-pack-objects[1].

note: type: Plain text
en: Pass the `--no-reuse-object` option to `git-pack-objects`, see linkgit:git-pack-objects[1].
pt_BR: Encaminha a opção `--no-reuse-object` para `git-pack-objects`, consulte linkgit:git-pack-objects[1].

note: type: Plain text
en: Pass the `-q` option to 'git pack-objects'. See linkgit:git-pack-objects[1].
pt_BR: Encaminha a opção `-q` para 'git pack-objects'. Consulte linkgit:git-pack-objects[1].

note: type: Plain text
en: Do not update the server information with 'git update-server-info'.  This option skips updating local catalog files needed to publish this repository (or a direct copy of it)  over HTTP or FTP.  See linkgit:git-update-server-info[1].
pt_BR: Não atualize a informação do servidor com 'git update-server-info'.  Esta opção ignora a atualização dos arquivos de catálogo local necessários para publicar neste repositório (ou uma cópia direta do mesmo) por HTTP ou FTP.  Consulte linkgit:git-update-server-info[1].

note: type: Plain text
en: These two options affect how the objects contained in the pack are stored using delta compression. The objects are first internally sorted by type, size and optionally names and compared against the other objects within `--window` to see if using delta compression saves space. `--depth` limits the maximum delta depth; making it too deep affects the performance on the unpacker side, because delta data needs to be applied that many times to get to the necessary object.
pt_BR: Essas duas opções afetam como os objetos existentes no pacote são armazenados utilizando a compactação delta. Primeiramente os objetos são classificados internamente pelo tipo, tamanho e opcionalmente pelos nomes e comparados com os outros objetos existentes na opção `--window` para ver se a utilização da compactação delta economiza espaço. A opção `--depth` limita a profundidade delta máxima; torná-la muito profunda afeta o desempenho do lado do desempacotador, porque os dados delta precisam ser aplicados várias vezes para chegar ao objeto necessário.

note: type: Plain text
en: This option is passed through to `git pack-objects`.
pt_BR: Esta opção é encaminhada para o comando `git pack-objects`.

note: type: Plain text
en: This option provides an additional limit on top of `--window`; the window size will dynamically scale down so as to not take up more than '<n>' bytes in memory.  This is useful in repositories with a mix of large and small objects to not run out of memory with a large window, but still be able to take advantage of the large window for the smaller objects.  The size can be suffixed with "k", "m", or "g".  `--window-memory=0` makes memory usage unlimited.  The default is taken from the `pack.windowMemory` configuration variable.  Note that the actual memory usage will be the limit multiplied by the number of threads used by linkgit:git-pack-objects[1].
pt_BR: Esta opção oferece um limite adicional em cima da opção `--window`; o tamanho da janela será reduzido dinamicamente para não ocupar mais do que '<n>' bytes na memória.  É útil nos repositórios com uma mistura de objetos grandes e pequenos para não ficar sem memória com uma janela grande, mas ainda assim pode tirar proveito da janela grande para os objetos menores.  O tamanho pode ter o sufixo "k", "m" ou "g".  A opção `--window-memory=0` torna o uso da memória ilimitado.  A predefinição é obtido da variável de configuração `pack.windowMemory`.  Observe que a utilização atual da memória será o limite multiplicado pela quantidade de threads utilizados pelo linkgit:git-pack-objects[1].

note: type: Plain text
en: Maximum size of each output pack file. The size can be suffixed with "k", "m", or "g". The minimum size allowed is limited to 1 MiB.  If specified, multiple packfiles may be created, which also prevents the creation of a bitmap index.  The default is unlimited, unless the config variable `pack.packSizeLimit` is set.
pt_BR: O Tamanho máximo de cada arquivo do pacote que foi gerado. O tamanho pode ter o sufixo "k", "m" ou "g". O tamanho mínimo permitido é limitado a 1 MiB.  Caso seja definido, vários pacotes poderão ser criados, o que também previne a criação de um índice do bitmap.  A predefinição é ilimitada, a menos que a variável de configuração `pack.packSizeLimit` esteja definida.

note: type: Plain text
en: Write a reachability bitmap index as part of the repack. This only makes sense when used with `-a` or `-A`, as the bitmaps must be able to refer to all reachable objects. This option overrides the setting of `repack.writeBitmaps`.  This option has no effect if multiple packfiles are created.
pt_BR: Escreva um índice bitmap de acessibilidade como parte do reempacotamento. Isso só faz sentido quando utilizado com `-a` ou `-A`, pois os bitmaps devem poder se referir para todos os objetos que sejam acessíveis. Esta opção substitui a configuração da variável de ambiente `GIT_CURL_VERBOSE`.  Esta opção não tem efeito caso vários arquivos de pacotes sejam criados.

note: type: Plain text
en: Include objects in `.keep` files when repacking.  Note that we still do not delete `.keep` packs after `pack-objects` finishes.  This means that we may duplicate objects, but this makes the option safe to use when there are concurrent pushes or fetches.  This option is generally only useful if you are writing bitmaps with `-b` or `repack.writeBitmaps`, as it ensures that the bitmapped packfile has the necessary objects.
pt_BR: Inclua os objetos no arquivo `.keep` durante o reempacotamento.  Observe que nós anda não excluímos os pacotes `.keep` depois da finalização dos objetos empacotados (`pack-objects`).  Significa que podemos duplicar os objetos, porém isso torna a opção segura para ser utilizada quando existem impulsionamentos ou buscas simultâneos.  Esta opção geralmente é útil apenas caso esteja escrevendo bitmaps com `-b` ou `repack.writeBitmaps`, pois garante que o pacote de bitmap tenha os objetos necessários.

note: type: Plain text
en: Exclude the given pack from repacking. This is the equivalent of having `.keep` file on the pack. `<pack-name>` is the pack file name without leading directory (e.g. `pack-123.pack`).  The option could be specified multiple times to keep multiple packs.
pt_BR: Exclua o pacote informado do reempacotamento. Isso equivale a ter o arquivo `.keep` no pacote. O `<nome-do-pacote>` é o nome do arquivo do pacote sem o diretório principal (como por exemplo, `pack-123.pack`).  A opção pode ser utilizada várias vezes para manter os vários pacotes.

note: type: Labeled list
en: --unpack-unreachable=<when>
pt_BR: --unpack-unreachable=<quando>

note: type: Plain text
en: When loosening unreachable objects, do not bother loosening any objects older than `<when>`. This can be used to optimize out the write of any objects that would be immediately pruned by a follow-up `git prune`.
pt_BR: Ao afrouxar os objetos inacessíveis, não se preocupe em afrouxar os objetos anteriores a `<quando>`. Pode ser utilizado para otimizar a gravação de quaisquer objetos que seriam removidos imediatamente através de um comando de acompanhamento `git prune`.

note: type: Plain text
en: When used with `-ad`, any unreachable objects from existing packs will be appended to the end of the packfile instead of being removed. In addition, any unreachable loose objects will be packed (and their loose counterparts removed).
pt_BR: Quando utilizado com `-ad`, todos os objetos inacessíveis dos pacotes existentes serão anexados ao final do arquivo de pacotes em vez de serem removidos. Além disso, todos os objetos soltos inacessíveis serão empacotados (e as suas contrapartes soltas removidas).

note: type: Plain text
en: Pass the `--delta-islands` option to `git-pack-objects`, see linkgit:git-pack-objects[1].
pt_BR: Encaminha a opção `--delta-islands` para `git-pack-objects`, consulte linkgit:git-pack-objects[1].

note: type: Title -
en: Configuration
pt_BR: Configuração

note: type: Plain text
en: By default, the command passes `--delta-base-offset` option to 'git pack-objects'; this typically results in slightly smaller packs, but the generated packs are incompatible with versions of Git older than version 1.4.4. If you need to share your repository with such ancient Git versions, either directly or via the dumb http protocol, then you need to set the configuration variable `repack.UseDeltaBaseOffset` to "false" and repack. Access from old Git versions over the native protocol is unaffected by this option as the conversion is performed on the fly as needed in that case.
pt_BR: É predefinido que o comando passe a opção `--delta-base-offset` para o comando 'git pack-objects'; isso normalmente resulta em pacotes um pouco menores, porém os pacotes gerados são incompatíveis com as versões do Git anteriores à versão 1.4.4. Caso precise compartilhar o seu repositório com as versões mais antigas do Git de forma direta ou através do protocolo http burro, será necessário definir a variável de configuração `repack.UseDeltaBaseOffset` como 'false' e fazer o reempacotamento. O acesso das versões antigas do Git pelo protocolo nativo não é afetado por esta opção, pois a conversão é realizada em tempo real, conforme seja necessário.

note: type: Plain text
en: git-replace - Create, list, delete refs to replace objects
pt_BR: git-replace - Crie, liste, exclua as refs para substituir os objetos

note: type: Plain text
en: 'git replace' [-f] <object> <replacement>
    'git replace' [-f] --edit <object>
    'git replace' [-f] --graft <commit> [<parent>...]
    'git replace' [-f] --convert-graft-file
    'git replace' -d <object>...
    'git replace' [--format=<format>] [-l [<pattern>]]
pt_BR: 'git replace' [-f] <objeto> <rearranjo>
    'git replace' [-f] --edit <objeto>
    'git replace' [-f] --graft <commit> [<origem >...]
    'git replace' [-f] --convert-graft-file
    'git replace' -d <objeto>...
    'git replace' [--format=<formato>] [-l [<padrão>]]

note: type: Plain text
en: Adds a 'replace' reference in `refs/replace/` namespace.
pt_BR: Adiciona uma referência 'replace' (substituir) no espaço de nomes `refs/replace/`.

note: type: Plain text
en: The name of the 'replace' reference is the SHA-1 of the object that is replaced. The content of the 'replace' reference is the SHA-1 of the replacement object.
pt_BR: O nome da referência 'replace' é o SHA-1 do objeto que é substituído. O conteúdo da referência 'replace' é o SHA-1 do objeto de reposição.

note: type: Plain text
en: The replaced object and the replacement object must be of the same type.  This restriction can be bypassed using `-f`.
pt_BR: O objeto substituído e o objeto de reposição devem ser do mesmo tipo.  Esta restrição pode ser contornada utilizando a opção `-f`.

note: type: Plain text
en: Unless `-f` is given, the 'replace' reference must not yet exist.
pt_BR: A menos que '-f' seja utilizado, a referência 'replace' ainda não deve existir.

note: type: Plain text
en: There is no other restriction on the replaced and replacement objects.  Merge commits can be replaced by non-merge commits and vice versa.
pt_BR: Não há outra restrição nos objetos substituídos e os objetos de reposição.  Os commits mesclados podem ser substituídos por commits sem mesclagem e vice-versa.

note: type: Plain text
en: Replacement references will be used by default by all Git commands except those doing reachability traversal (prune, pack transfer and fsck).
pt_BR: É predefinido que as referências de reposição seja utilizadas por todos os comandos do Git, exceto aqueles que executem o percurso de acessibilidade (remoção "prune", transferência de pacotes "pack transfer" e "fsck").

note: type: Plain text
en: It is possible to disable use of replacement references for any command using the `--no-replace-objects` option just after 'git'.
pt_BR: É possível desativar o uso do rearranjo das referências para qualquer comando utilizando a opção `--no-replace-objects` logo após o 'git'.

note: type: Plain text
en: For example if commit 'foo' has been replaced by commit 'bar':
pt_BR: Como por exemplo, caso o commit 'foo' foi substituído pelo commit 'bar':

note: type: Plain text
en: shows information about commit 'foo', while:
pt_BR: exibe as informações sobre o commit 'foo', enquanto:

note: type: Plain text
en: shows information about commit 'bar'.
pt_BR: exibe as informações sobre o commit 'bar'.

note: type: Plain text
en: The `GIT_NO_REPLACE_OBJECTS` environment variable can be set to achieve the same effect as the `--no-replace-objects` option.
pt_BR: A variável de ambiente `GIT_NO_REPLACE_OBJECTS` pode ser configurada para obter o mesmo efeito que a opção `--no-replace-objects`.

note: type: Plain text
en: If an existing replace ref for the same object exists, it will be overwritten (instead of failing).
pt_BR: Caso exista uma "ref" de reposição existente para o mesmo objeto, ela será substituída (em vez de falhar).

note: type: Plain text
en: Delete existing replace refs for the given objects.
pt_BR: Exclua as refs de reposição existentes para os objetos informados.

note: type: Labeled list
en: --edit <object>
pt_BR: --edit <objeto>

note: type: Plain text
en: Edit an object's content interactively. The existing content for <object> is pretty-printed into a temporary file, an editor is launched on the file, and the result is parsed to create a new object of the same type as <object>. A replacement ref is then created to replace <object> with the newly created object. See linkgit:git-var[1] for details about how the editor will be chosen.
pt_BR: Edita o conteúdo de um objeto interativamente. O conteúdo existente para `<objeto>` é impresso em um arquivo temporário, um editor é iniciado no arquivo e o resultado é analisado para criar um novo objeto do mesmo tipo que `<objeto>`. Um `ref` de reposição é criado para substituir `<objeto>` com um objeto recém-criado. Para mais detalhes de como o editor será selecionado, consulte linkgit:git-var[1].

note: type: Plain text
en: When editing, provide the raw object contents rather than pretty-printed ones. Currently this only affects trees, which will be shown in their binary form. This is harder to work with, but can help when repairing a tree that is so corrupted it cannot be pretty-printed. Note that you may need to configure your editor to cleanly read and write binary data.
pt_BR: Ao editar, forneça o conteúdo do objeto bruto, em vez do impresso bonito. Atualmente afeta apenas as árvores que serão exibidas na sua forma binária. É mais difícil trabalhar com isso, porém pode ajudar durante o reparo de uma árvore que está tão corrompida que não pode ser bem impressa. Observe que pode ser necessário configurar o seu editor para ler e gravar os dados binários de forma limpa.

note: type: Labeled list
en: --graft <commit> [<parent>...]
pt_BR: --graft <commit> [<origem>...]

note: type: Plain text
en: Create a graft commit. A new commit is created with the same content as <commit> except that its parents will be [<parent>...] instead of <commit>'s parents. A replacement ref is then created to replace <commit> with the newly created commit. Use `--convert-graft-file` to convert a `$GIT_DIR/info/grafts` file and use replace refs instead.
pt_BR: Cria um commit com enxerto. Um novo commit é criado com o mesmo conteúdo de `<commit>` exceto que as suas origens serão [<origem>...] em vez do <commit> das origens. Uma ref de reposição é então criada para substituir o `<commit>` pelo commit recém-criado. Utilize `--convert-graft-file` para converter um arquivo `$GIT_DIR/info/grafts` e utilize as refs de reposição em seu lugar.

note: type: Plain text
en: Creates graft commits for all entries in `$GIT_DIR/info/grafts` and deletes that file upon success. The purpose is to help users with transitioning off of the now-deprecated graft file.
pt_BR: Cria commits com enxertos para todas as entradas em `$GIT_DIR/info/grafts` e exclui este arquivo quando for bem sucedido. O objetivo é ajudar os usuários a fazer a transição do arquivo de enxerto agora, obsoleto.

note: type: Labeled list
en: -l <pattern>
pt_BR: -l <padrão>

note: type: Labeled list
en: --list <pattern>
pt_BR: --list <padrão>

note: type: Plain text
en: List replace refs for objects that match the given pattern (or all if no pattern is given).  Typing "git replace" without arguments, also lists all replace refs.
pt_BR: A lista substitui as refs para os objetos que coincidam ao padrão informado (ou todos caso nenhum seja informado).  Digitar "git replace" sem argumentos, também lista todos as refs de reposição.

note: type: Plain text
en: When listing, use the specified <format>, which can be one of 'short', 'medium' and 'long'. When omitted, the format defaults to 'short'.
pt_BR: Ao listar, utilize o <formato> informado, que pode ser 'short' (curto), 'medium' (médio) e 'long' (longo). Quando omitido, a predefinição retorna para o formato 'short'.

note: type: Title -
en: FORMATS
pt_BR: FORMATOS

note: type: Plain text
en: The following format are available:
pt_BR: O seguinte formato está disponível:

note: type: Plain text
en: <replaced sha1> (<replaced type>) -> <replacement sha1> (<replacement type>)
pt_BR: <sha1 substituído> (<tipo substituído>) -> <sha1 substituído> (<tipo substituído>)

note: type: Title -
en: CREATING REPLACEMENT OBJECTS
pt_BR: CRIANDO OBJETOS DE SUBSTITUIÇÃO

note: type: Plain text
en: linkgit:git-hash-object[1], linkgit:git-rebase[1], and https://github.com/newren/git-filter-repo[git-filter-repo], among other git commands, can be used to create replacement objects from existing objects. The `--edit` option can also be used with 'git replace' to create a replacement object by editing an existing object.
pt_BR: O linkgit:git-hash-object[1], linkgit:git-rebase[1], e https://github.com/newren/git-filter-repo[git-filter-repo], dentre outros comandos git podem ser utilizados para criar a reposição dos objetos a partir dos objetos já existentes. A opção `--edit` também pode ser usada com 'git replace' para criar a reposição de um objeto editando um objeto já existente.

note: type: Plain text
en: If you want to replace many blobs, trees or commits that are part of a string of commits, you may just want to create a replacement string of commits and then only replace the commit at the tip of the target string of commits with the commit at the tip of the replacement string of commits.
pt_BR: Caso queira substituir várias bolhas, árvores ou commits que fazem parte de uma cadência de commits, você pode apenas criar uma cadência de reposição dos commits e então substituir apenas o commit no topo da cadeia alvo dos commits pelos commits do topo da cadência de substituições dos commits.

note: type: Plain text
en: Comparing blobs or trees that have been replaced with those that replace them will not work properly. And using `git reset --hard` to go back to a replaced commit will move the branch to the replacement commit instead of the replaced commit.
pt_BR: Comparando as bolhas ou as árvores que foram substituídos por aqueles que os substituem, não funcionará de forma correta. E utilizar o comando `git reset --hard` para voltar para um commit que foi reposto, moverá o ramo para o commit que foi substituído em vez do commit que foi resposto.

note: type: Plain text
en: There may be other problems when using 'git rev-list' related to pending objects.
pt_BR: Pode haver outros problemas durante a utilização do comando 'git rev-list' relacionadas com objetos pendentes.

note: type: Plain text
en: git-request-pull - Generates a summary of pending changes
pt_BR: git-request-pull - Gera um resumo das alterações que ainda estão pendentes

note: type: Plain text
en: 'git request-pull' [-p] <start> <url> [<end>]
pt_BR: 'git request-pull' [-p] <início> <url> [<fim>]

note: type: Plain text
en: Generate a request asking your upstream project to pull changes into their tree.  The request, printed to the standard output, begins with the branch description, summarizes the changes and indicates from where they can be pulled.
pt_BR: Gere um pedido solicitando ao seu projeto na upstream que capture as alterações na árvore deles.  A solicitação, é impressa na saída padrão, começa com o descritivo do ramo, resume as alterações e indica de onde elas podem ser extraídas.

note: type: Plain text
en: The upstream project is expected to have the commit named by `<start>` and the output asks it to integrate the changes you made since that commit, up to the commit named by `<end>`, by visiting the repository named by `<url>`.
pt_BR: Espera-se que o projeto "upstream" tenha o commit nomeado pelo `<inicio>` e a saída solicite a integração das alterações feitas até este commit, até o commit nomeado por `<fim>`, visitando o repositório nomeado por `<url>`.

note: type: Plain text
en: Include patch text in the output.
pt_BR: Inclua o texto do patch na saída.

note: type: Labeled list
en: <start>
pt_BR: <inicio>

note: type: Plain text
en: Commit to start at.  This names a commit that is already in the upstream history.
pt_BR: Faça o commit para iniciar em.  Isso informa um commit que já está no histórico upstream.

note: type: Plain text
en: The repository URL to be pulled from.
pt_BR: A URL do repositório a ser extraída.

note: type: Labeled list
en: <end>
pt_BR: <fim>

note: type: Plain text
en: Commit to end at (defaults to HEAD).  This names the commit at the tip of the history you are asking to be pulled.
pt_BR: Faça o commit para terminar em (a predefinição retorna para `HEAD`).  Isso informa o commit no topo do histórico que você está pedindo para ser capturado.

note: type: Plain text
en: When the repository named by `<url>` has the commit at a tip of a ref that is different from the ref you have locally, you can use the `<local>:<remote>` syntax, to have its local name, a colon `:`, and its remote name.
pt_BR: Quando o repositório nomeado por `<url>` tem o commit no cume de uma "ref" diferente da "ref" que você possui localmente, é possíve utilizar a sintaxe `<local>:<remoto>`, para ter o seu nome local, dois pontos `:` e o nome do seu ramo remoto.

note: type: Plain text
en: Imagine that you built your work on your `master` branch on top of the `v1.0` release, and want it to be integrated to the project.  First you push that change to your public repository for others to see:
pt_BR: Imagine que você construiu o seu trabalho no seu ramo `master` em cima da versão `v1.0` e queira que ele seja integrado ao projeto.  Primeiro, você envia esta alteração ao seu repositório público para que as outras pessoas vejam:

note: type: Plain text
en: Then, you run this command:
pt_BR: Então, execute este comando:

note: type: Plain text
en: which will produce a request to the upstream, summarizing the changes between the `v1.0` release and your `master`, to pull it from your public repository.
pt_BR: que produzirá uma solicitação para o "upstream", resumindo as alterações entre o "release" `v1.0` e o seu `master`, para retirá-lo do seu repositório público.

note: type: Plain text
en: If you pushed your change to a branch whose name is different from the one you have locally, e.g.
pt_BR: Caso impulsione a sua alteração para um ramo cujo nome seja diferente daquele que você possui localmente, por exemplo.

note: type: Plain text
en: then you can ask that to be pulled with
pt_BR: então é possível pedir para ser capturado com

note: type: Plain text
en: git-rerere - Reuse recorded resolution of conflicted merges
pt_BR: git-rerere - Reutilize a resolução registrada das mesclagens conflitantes

note: type: Plain text
en: In a workflow employing relatively long lived topic branches, the developer sometimes needs to resolve the same conflicts over and over again until the topic branches are done (either merged to the "release" branch, or sent out and accepted upstream).
pt_BR: Em um fluxo de trabalho que utiliza ramificações do tópico com vida útil relativamente longa, o desenvolvedor às vezes precisa resolver os mesmos conflitos de forma repetida até que o tópico das ramificações sejam concluídas (entre mesclagem no ramo "release" ou enviadas e aceitas na upstream).

note: type: Plain text
en: This command assists the developer in this process by recording conflicted automerge results and corresponding hand resolve results on the initial manual merge, and applying previously recorded hand resolutions to their corresponding automerge results.
pt_BR: Este comando auxilia o desenvolvedor neste processo, registrando os resultados conflitantes do "automerge" e os resultados correspondentes da resolução manual na mesclagem manual inicial e aplicando as resoluções práticas gravadas anteriormente aos resultados correspondentes do "automerge".

note: type: Plain text
en: You need to set the configuration variable `rerere.enabled` in order to enable this command.
pt_BR: Você precisa definir a variável de configuração `rerere.enabled` para ativar este comando.

note: type: Plain text
en: Normally, 'git rerere' is run without arguments or user-intervention.  However, it has several commands that allow it to interact with its working state.
pt_BR: Normalmente, o comando 'git rerere' é executado sem argumentos ou sem a intervenção do usuário.  No entanto, ele possui vários comandos que permitem interagir com a sua condição de trabalho.

note: type: Plain text
en: Reset the metadata used by rerere if a merge resolution is to be aborted.  Calling 'git am [--skip|--abort]' or 'git rebase [--skip|--abort]' will automatically invoke this command.
pt_BR: Redefina os metadados utilizados pela "rerere" caso uma resolução da mesclagem seja interrompida.  Executando o comando 'git am [--skip|--abort]' ou 'git rebase [--skip|--abort]' automaticamente invocará este comando.

note: type: Plain text
en: Reset the conflict resolutions which rerere has recorded for the current conflict in <pathspec>.
pt_BR: Redefina as resoluções de conflito que a rerere registrou para o conflito atual em <pathspec>.

note: type: Plain text
en: Display diffs for the current state of the resolution.  It is useful for tracking what has changed while the user is resolving conflicts.  Additional arguments are passed directly to the system 'diff' command installed in PATH.
pt_BR: Exibe os diffs para a condição atual da resolução.  É útil para monitorar o que mudou enquanto o usuário está resolvendo os conflitos.  Os argumentos adicionais são passados diretamente para o comando 'diff' do sistema instalado no PATH.

note: type: Plain text
en: Print paths with conflicts whose merge resolution rerere will record.
pt_BR: Imprima os caminhos com conflitos cuja resolução da mesclagem "rerere" será registrada novamente.

note: type: Plain text
en: Print paths with conflicts that have not been autoresolved by rerere.  This includes paths whose resolutions cannot be tracked by rerere, such as conflicting submodules.
pt_BR: Imprima os caminhos com conflitos que ainda não foram resolvidos automaticamente pela "rerere".  Isso inclui os caminhos cujas resoluções não podem ser rastreadas por "rerere", como os submódulos conflitantes.

note: type: Plain text
en: Prune records of conflicted merges that occurred a long time ago.  By default, unresolved conflicts older than 15 days and resolved conflicts older than 60 days are pruned.  These defaults are controlled via the `gc.rerereUnresolved` and `gc.rerereResolved` configuration variables respectively.
pt_BR: Remova os registros das mesclagens conflitantes que ocorreram há muito tempo.  É predefinido que, serão removidos todos os conflitos não resolvidos com mais que 15 dias e os conflitos que já foram resolvidos com mais de 60 dias.  Estas predefinições são controlados pelas variáveis de configuração `gc.rerereUnresolved` e `gc.rerereResolved`, respectivamente.

note: type: Plain text
en: When your topic branch modifies an overlapping area that your master branch (or upstream) touched since your topic branch forked from it, you may want to test it with the latest master, even before your topic branch is ready to be pushed upstream:
pt_BR: Quando o tópico do seu ramo altera uma área sobreposta onde o ramo principal (ou "upstream") tocou desde que o tópico do ramo foi extraído, é possível testá-lo com o "master" mais recente, mesmo antes do tópico do ramo estar pronto para ser impulsionado na "upstream":

note: type: Plain text
en: For such a test, you need to merge master and topic somehow.  One way to do it is to pull master into the topic branch:
pt_BR: Para tal teste, é necessário mesclar o 'master' (mestre) e o 'topic' (tópico) de alguma maneira.  Uma maneira de fazer isso é capturar o 'master' para o ramo 'topic':

note: type: Plain text
en: The commits marked with `*` touch the same area in the same file; you need to resolve the conflicts when creating the commit marked with `+`.  Then you can test the result to make sure your work-in-progress still works with what is in the latest master.
pt_BR: Os commits marcados com `*` tocam na mesma área no mesmo arquivo; é preciso resolver os conflitos durante a criação do commit marcado com `+`.  Em seguida, é possível testar o resultado garantindo que o seu trabalho em andamento ainda funcione com o que está no "master" mais recente.

note: type: Plain text
en: After this test merge, there are two ways to continue your work on the topic.  The easiest is to build on top of the test merge commit `+`, and when your work in the topic branch is finally ready, pull the topic branch into master, and/or ask the upstream to pull from you.  By that time, however, the master or the upstream might have been advanced since the test merge `+`, in which case the final commit graph would look like this:
pt_BR: Após a mesclagem deste teste, há duas maneiras de continuar o tópico do seu trabalho.  A mais fácil é construir sobre o commit da mesclagem de teste `+`, quando o seu trabalho no ramo dos tópicos estiver finalmente pronto, capture o tópico do ramo no 'master' e/ou solicite que a upstream retire você.  Naquele momento no entanto, o 'master' ou a upstream poderiam ter sido avançadas desde a mesclagem do teste `+`; nesse caso, o grafo do commit final ficaria assim:

note: type: delimited block -
en: 	$ git switch topic
    	$ git merge master
    	$ ... work on both topic and master branches
    	$ git switch master
    	$ git merge topic
pt_BR: 	$ git switch topic
    	$ git merge master
    	$ ... trabalha ambos os ramos topic e master
    	$ git switch master
    	$ git merge topic

note: type: Plain text
en: When your topic branch is long-lived, however, your topic branch would end up having many such "Merge from master" commits on it, which would unnecessarily clutter the development history.  Readers of the Linux kernel mailing list may remember that Linus complained about such too frequent test merges when a subsystem maintainer asked to pull from a branch full of "useless merges".
pt_BR: Quando o tópico do ramo é longo, no entanto, o seu tópico do ramo acabaria com muitos commits como "Mesclar do mestre" nele, o que desorganizaria de forma desnecessária o histórico de desenvolvimento.  Os leitores da lista de discussão do kernel do Linux podem se lembrar que Linus se queixou das mesclagens de teste tão frequentes quando um mantenedor do subsistema pediu para capturar de um ramo cheio de "mesclagens inúteis".

note: type: Plain text
en: As an alternative, to keep the topic branch clean of test merges, you could blow away the test merge, and keep building on top of the tip before the test merge:
pt_BR: Como uma alternativa, para manter o tópico do ramo limpo das mesclagens de teste, você pode afastar a mesclagem de teste e continuar construindo sobre o cume antes da mesclagem de teste:

note: type: delimited block -
en: 	$ git switch topic
    	$ git merge master
    	$ git reset --hard HEAD^ ;# rewind the test merge
    	$ ... work on both topic and master branches
    	$ git switch master
    	$ git merge topic
pt_BR: 	$ git switch topic
    	$ git merge master
    	$ git reset --hard HEAD^ ;# retrocede a mesclagem test
    	$ ... trabalha ambos os ramos topic e master
    	$ git switch master
    	$ git merge topic

note: type: Plain text
en: This would leave only one merge commit when your topic branch is finally ready and merged into the master branch.  This merge would require you to resolve the conflict, introduced by the commits marked with `*`.  However, this conflict is often the same conflict you resolved when you created the test merge you blew away.  'git rerere' helps you resolve this final conflicted merge using the information from your earlier hand resolve.
pt_BR: Isso deixaria apenas um commit mesclado quando o ramo do tópico estiver finalmente pronto e mesclado no ramo "master".  Esta mesclagem exigiria que você resolvesse o conflito, introduzido pelos commits marcados com `*`.  No entanto, este conflito geralmente é o mesmo que você resolveu quando criou a mesclagem de teste que desapareceu.  O comando 'git rerere' ajuda a resolver esta mesclagem conflitante final usando as informações da sua resolução manual anterior.

note: type: Plain text
en: Running the 'git rerere' command immediately after a conflicted automerge records the conflicted working tree files, with the usual conflict markers `<<<<<<<`, `=======`, and `>>>>>>>` in them.  Later, after you are done resolving the conflicts, running 'git rerere' again will record the resolved state of these files.  Suppose you did this when you created the test merge of master into the topic branch.
pt_BR: A execução do comando 'git rerere' imediatamente após um conflito de mesclagem automática, registra os arquivos da árvore de trabalho em conflito, com os marcadores de conflito usuais `<<<<<<<`, `=======`, e `>>>>>>>` neles.  Mais tarde, depois de ter terminado de resolver os conflitos, executando o comando 'git rerere' novamente registrará o a condição resolvida destes arquivos.  Suponha que tenha sido feito isso ao criar o teste de mesclagem do "master" no tópico do ramo.

note: type: Plain text
en: Next time, after seeing the same conflicted automerge, running 'git rerere' will perform a three-way merge between the earlier conflicted automerge, the earlier manual resolution, and the current conflicted automerge.  If this three-way merge resolves cleanly, the result is written out to your working tree file, so you do not have to manually resolve it.  Note that 'git rerere' leaves the index file alone, so you still need to do the final sanity checks with `git diff` (or `git diff -c`) and 'git add' when you are satisfied.
pt_BR: Da próxima vez, depois de ver o mesmo surgimento automático dos conflitos, a execução do comando 'git rerere' executará uma mesclagem de três vias entre o surgimento automático dos conflitos anterior, a resolução manual anterior e o surgimento dos conflitos atuais.  Caso essa mesclagem de três vias for resolvida corretamente, o resultado será gravado no arquivo da árvore de trabalho, para que você não precise resolvê-lo manualmente.  Note que o comando 'git rerere' não altera o arquivo do índice, então ainda é preciso fazer as verificações finais de sanidade com o comando `git diff` (ou `git diff -c`) e o 'git add' quando estiver satisfeito.

note: type: Plain text
en: As a convenience measure, 'git merge' automatically invokes 'git rerere' upon exiting with a failed automerge and 'git rerere' records the hand resolve when it is a new conflict, or reuses the earlier hand resolve when it is not.  'git commit' also invokes 'git rerere' when committing a merge result.  What this means is that you do not have to do anything special yourself (besides enabling the rerere.enabled config variable).
pt_BR: Como medida de pura conveniência, o comando 'git merge' invoca automaticamente o 'git rerere' ao encerrar com uma falha automática e o 'git rerere' registra a solução quando se trata de um novo conflito ou reutiliza a solução anterior quando não for.  O comando 'git commit' também invoca o 'git rerere' quando o commit feito resultar numa mesclagem.  Isso significa que você não precisa fazer nada de especial (além de ativar a variável de configuração `rerere.enabled`).

note: type: Plain text
en: In our example, when you do the test merge, the manual resolution is recorded, and it will be reused when you do the actual merge later with the updated master and topic branch, as long as the recorded resolution is still applicable.
pt_BR: No nosso exemplo, quando você faz a mesclagem de teste, a resolução manual é gravada e será reutilizada quando fizer a mesclagem real posteriormente com 'master' e o tópico do ramo atualizados, desde que a resolução gravada ainda seja aplicável.

note: type: Plain text
en: The information 'git rerere' records is also used when running 'git rebase'.  After blowing away the test merge and continuing development on the topic branch:
pt_BR: As informações 'git rerere' também são usadas ao executar 'git rebase'.  Depois de acabar com a mesclagem de teste e o desenvolvimento contínuo no ramo do tópico:

note: type: Plain text
en: you could run `git rebase master topic`, to bring yourself up to date before your topic is ready to be sent upstream.  This would result in falling back to a three-way merge, and it would conflict the same way as the test merge you resolved earlier.  'git rerere' will be run by 'git rebase' to help you resolve this conflict.
pt_BR: você pode executar o comando `git rebase master topic`, para se atualizar antes que o seu tópico esteja pronto para ser enviado para a upstream.  Isso resultaria no retorno para uma mesclagem de três vias e entraria em conflito da mesma maneira que o teste de mesclagem que você resolveu anteriormente.  O comando 'git rerere' será executado através do 'git rebase' para ajudá-lo a resolver este conflito.

note: type: Plain text
en: [NOTE] 'git rerere' relies on the conflict markers in the file to detect the conflict.  If the file already contains lines that look the same as lines with conflict markers, 'git rerere' may fail to record a conflict resolution.  To work around this, the `conflict-marker-size` setting in linkgit:gitattributes[5] can be used.
pt_BR: [Observação] o comando 'git rerere' conta com os marcadores de conflito no arquivo para detectar o conflito.  Caso o arquivo já contenha as linhas que parecem iguais às linhas dos marcadores de conflito, o comando 'git rerere' pode falhar durante o registro de uma resolução de conflito.  Para contornar isso, a configuração `conflict-marker-size` no linkgit:gitattributes[5] pode ser utilizada.

note: type: Plain text
en: git-reset - Reset current HEAD to the specified state
pt_BR: git-reset - Redefine o `HEAD` atual para a condição especificada

note: type: Plain text
en: 'git reset' [-q] [<tree-ish>] [--] <pathspec>...
    'git reset' [-q] [--pathspec-from-file=<file> [--pathspec-file-nul]] [<tree-ish>]
    'git reset' (--patch | -p) [<tree-ish>] [--] [<pathspec>...]
    'git reset' [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
pt_BR: 'git reset' [-q] [<tree-ish>] [--] <pathspec>...
    'git reset' [-q] [--pathspec-from-file=<arquivo> [--pathspec-file-nul]] [<tree-ish>]
    'git reset' (--patch | -p) [<tree-ish>] [--] [<pathspec>...]
    'git reset' [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]

note: type: Plain text
en: In the first three forms, copy entries from `<tree-ish>` to the index.  In the last form, set the current branch head (`HEAD`) to `<commit>`, optionally modifying index and working tree to match.  The `<tree-ish>`/`<commit>` defaults to `HEAD` in all forms.
pt_BR: Nos três primeiros formulários, copie as entradas de `<tree-ish>` para o índice.  No último formulário, defina o cabeçalho do ramo atual (`HEAD`) como `<commit>`, opcionalmente modificando o índice e a árvore de trabalho para que coincidam.  A predefinição `<tree-ish>`/`<commit>` retorna para `HEAD` em todas as formas.

note: type: Labeled list
en: 'git reset' [-q] [--pathspec-from-file=<file> [--pathspec-file-nul]] [<tree-ish>]
pt_BR: 'git reset' [-q] [--pathspec-from-file=<arquivo> [--pathspec-file-nul]] [<tree-ish>]

note: type: Plain text
en: These forms reset the index entries for all paths that match the `<pathspec>` to their state at `<tree-ish>`.  (It does not affect the working tree or the current branch.)
pt_BR: Esses formulários redefinem as entradas do índice para todos os caminhos correspondentes ao `<pathspec>` à sua condição em `<tree-ish>`.  (Isso não afeta a árvore de trabalho ou a ramificação atual.)

note: type: Plain text
en: This means that `git reset <pathspec>` is the opposite of `git add <pathspec>`. This command is equivalent to `git restore [--source=<tree-ish>] --staged <pathspec>...`.
pt_BR: Isto significa que `git reset <pathspec>` é o oposto de `git add <pathspec>`. Este comando é equivalente a `git restore [--source=<tree-ish>] --staged <pathspec>...`.

note: type: Plain text
en: After running `git reset <pathspec>` to update the index entry, you can use linkgit:git-restore[1] to check the contents out of the index to the working tree. Alternatively, using linkgit:git-restore[1] and specifying a commit with `--source`, you can copy the contents of a path out of a commit to the index and to the working tree in one go.
pt_BR: Depois de executar o `git reset <pathspec>` para atualizar a entrada do índice, você pode usar o linkgit:git-restore[1] para verificar o conteúdo do índice para a árvore de trabalho. Como alternativa, utilizando linkgit:git-restore[1] e especificando um commit com `--source`, você pode copiar o conteúdo de um caminho de um commit para o índice e a árvore de trabalho de uma vez só.

note: type: Plain text
en: Interactively select hunks in the difference between the index and `<tree-ish>` (defaults to `HEAD`).  The chosen hunks are applied in reverse to the index.
pt_BR: Interativamente, selecione os pedaços na diferença entre o índice e o `<tree-ish>` (a predefinição retorna para `HEAD`).  Os pedaços selecionados são aplicados no sentido inverso ao índice.

note: type: Plain text
en: This means that `git reset -p` is the opposite of `git add -p`, i.e.  you can use it to selectively reset hunks. See the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
pt_BR: Isso significa que `git reset -p` é o oposto de `git add -p`, ou seja, você pode usá-lo para redefinir seletivamente os blocos. Consulte a seção ``Modo Interativo'' do linkgit:git-add[1] para aprender como operar o modo `--patch`.

note: type: Labeled list
en: 'git reset' [<mode>] [<commit>]
pt_BR: 'git reset' [<modo>] [<commit>]

note: type: Plain text
en: This form resets the current branch head to `<commit>` and possibly updates the index (resetting it to the tree of `<commit>`) and the working tree depending on `<mode>`. If `<mode>` is omitted, defaults to `--mixed`. The `<mode>` must be one of the following:
pt_BR: Esse formulário redefine o cabeçalho de ramificação atual para `<commit>` e possivelmente atualiza o índice (redefinindo-o para a árvore de `<commit>`) e a árvore de trabalho, dependendo do `<modo>`. Caso o `<modo>` seja omitido, a predefinição retorna para a opção `--mixed`. O `<modo>` deve ser um dos seguintes:

note: type: Plain text
en: Does not touch the index file or the working tree at all (but resets the head to `<commit>`, just like all modes do). This leaves all your changed files "Changes to be committed", as `git status` would put it.
pt_BR: Não toca no arquivo de índice ou na árvore de trabalho (mas redefine o cabeçalho para `<commit>`, assim como todos os modos fazem). Isso deixa todos os seus arquivos alterados como "Changes to be committe" (Alterações onde serão realizados os commits), como o `git status` colocaria.

note: type: Plain text
en: Resets the index but not the working tree (i.e., the changed files are preserved but not marked for commit) and reports what has not been updated. This is the default action.
pt_BR: Redefine o índice, mas não a árvore de trabalho (ou seja, os arquivos alterados são preservados, mas não marcados para um commit) e relata o que não foi atualizado. Esta é a ação predefinida.

note: type: Plain text
en: If `-N` is specified, removed paths are marked as intent-to-add (see linkgit:git-add[1]).
pt_BR: Caso `-N` seja especificado, os caminhos removidos serão marcados como uma intenção de adicionar (consulte linkgit:git-add[1]).

note: type: Plain text
en: Resets the index and working tree. Any changes to tracked files in the working tree since `<commit>` are discarded.
pt_BR: Redefine o índice e a árvore de trabalho. Quaisquer alterações nos arquivos rastreados na árvore de trabalho desde `<commit>` serão descartados.

note: type: Plain text
en: Resets the index and updates the files in the working tree that are different between `<commit>` and `HEAD`, but keeps those which are different between the index and working tree (i.e. which have changes which have not been added).  If a file that is different between `<commit>` and the index has unstaged changes, reset is aborted.
pt_BR: Redefine o índice e atualiza os arquivos na árvore de trabalho que sejam diferentes entre o `<commit>` e o `HEAD`, mas mantém aqueles que são diferentes entre o índice e a árvore de trabalho (ou seja, que têm alterações que não foram adicionadas).  Caso haja um arquivo diferente entre `<commit>` e o índice tiver alterações sem etapas, a redefinição será abortada.

note: type: Plain text
en: In other words, `--merge` does something like a `git read-tree -u -m <commit>`, but carries forward unmerged index entries.
pt_BR: Em outras palavras, `--merge` faz algo como um `git read-tree -u -m <commit>`, mas carrega as entradas do índice não mescladas adiante.

note: type: Plain text
en: Resets index entries and updates files in the working tree that are different between `<commit>` and `HEAD`.  If a file that is different between `<commit>` and `HEAD` has local changes, reset is aborted.
pt_BR: Redefine as entradas do índice e atualiza os arquivos na árvore de trabalho que sejam diferentes entre `<commit>` e `HEAD`.  Caso haja uma diferença entre `<commit>` e `HEAD`, assim como houver alterações locais, a redefinição será abortada.

note: type: Plain text
en: When the working tree is updated, using --recurse-submodules will also recursively reset the working tree of all active submodules according to the commit recorded in the superproject, also setting the submodules' HEAD to be detached at that commit.
pt_BR: Quando a árvore de trabalho é atualizada, utilizando a opção `--recurse-submodules` também redefinirá recursivamente a árvore de trabalho de todos os submódulos ativos de acordo com o commit registrado no superprojeto, também configurando o `HEAD` do submódulo a ser desanexado neste commit.

note: type: Plain text
en: See "Reset, restore and revert" in linkgit:git[1] for the differences between the three commands.
pt_BR: Para as diferenças entre os três comandos consulte "Redefinir, restaurar e reverter" em linkgit:git[1].

note: type: Plain text
en: Be quiet, only report errors. The default behavior is set by the `reset.quiet` config option. `--quiet` and `--no-quiet` will override the default behavior.
pt_BR: Relate apenas os erros. A predefinição deste comportamento é definido pela opção da configuração `reset.quiet`. As opções`--quiet` e `--no-quiet` substituirão este comportamento predefinido.

note: type: Labeled list
en: Undo add
pt_BR: Desfazendo um "add" (adicionar)

note: type: delimited block -
en: $ edit                                     <1>
    $ git add frotz.c filfre.c
    $ mailx                                    <2>
    $ git reset                                <3>
    $ git pull git://info.example.com/ nitfol  <4>
pt_BR: $ edit                                     <1>
    $ git add frotz.c filfre.c
    $ mailx                                    <2>
    $ git reset                                <3>
    $ git pull git://info.exemplo.com/ nitfol  <4>

note: type: Plain text
en: You are happily working on something, and find the changes in these files are in good order.  You do not want to see them when you run `git diff`, because you plan to work on other files and changes with these files are distracting.
pt_BR: Você está trabalhando alegre e feliz em algo e encontra as alterações nesses arquivos em boas condições.  Você não deseja vê-los quando executar o comando `git diff`, porque planeja trabalhar em outros arquivos e as alterações nesses arquivos são uma distração.

note: type: Plain text
en: Somebody asks you to pull, and the changes sound worthy of merging.
pt_BR: Alguém pede para você fazer um `pull`, e as mudanças parecem dignas de serem mescladas.

note: type: Plain text
en: However, you already dirtied the index (i.e. your index does not match the `HEAD` commit).  But you know the pull you are going to make does not affect `frotz.c` or `filfre.c`, so you revert the index changes for these two files.  Your changes in working tree remain there.
pt_BR: No entanto, você já sujou o índice (ou seja, o seu índice não corresponde ao commit `HEAD`).  Mas você sabe que o `pull` que você fará não afeta o arquivo `frotz.c` ou o arquivo `filfre.c`, portanto, você reverte as alterações no índice destes dois arquivos.  As suas alterações na árvore de trabalho permanecem lá.

note: type: Plain text
en: Then you can pull and merge, leaving `frotz.c` and `filfre.c` changes still in the working tree.
pt_BR: Então você pode fazer o `pull` e mesclar deixando as alterações nos arquivo `frotz.c` e` filfre.c` ainda na árvore de trabalho.

note: type: Labeled list
en: Undo a commit and redo
pt_BR: Desfazer um commit e refazendo-o

note: type: Plain text
en: This is most often done when you remembered what you just committed is incomplete, or you misspelled your commit message, or both.  Leaves working tree as it was before "reset".
pt_BR: Isso geralmente é feito quando você se lembra que o commit que acabou de fazer está incorreto ou errou algo na sua mensagem do commit, ou ambos.  Deixa a árvore de trabalho como estava antes de "redefinir".

note: type: Plain text
en: Make corrections to working tree files.
pt_BR: Faça as correções nos arquivos da árvore de trabalho.

note: type: Plain text
en: "reset" copies the old head to `.git/ORIG_HEAD`; redo the commit by starting with its log message.  If you do not need to edit the message further, you can give `-C` option instead.
pt_BR: "reset" copia o cabeçalho antigo para `.git/ORIG_HEAD`; refaça o commit iniciando com sua a mensagem de registro log.  Caso você não precise editar mais a mensagem, em vez disso poderá usar a opção `-C`.

note: type: Plain text
en: See also the `--amend` option to linkgit:git-commit[1].
pt_BR: Consulte também a opção `--amend` para linkgit:git-commit[1].

note: type: Labeled list
en: Undo a commit, making it a topic branch
pt_BR: Desfazendo um commit, tornando-o uma ramificação do tópico

note: type: Plain text
en: You have made some commits, but realize they were premature to be in the `master` branch.  You want to continue polishing them in a topic branch, so create `topic/wip` branch off of the current `HEAD`.
pt_BR: Você fez alguns commits, mas percebe que eles eram prematuros para estar no ramo `master`.  Você deseja continuar dando polimento neles em uma ramificação de tópico, portanto, crie a ramificação `topic/wip` fora do `HEAD` atual.

note: type: Plain text
en: Rewind the master branch to get rid of those three commits.
pt_BR: Rebobine o ramo principal para se livrar destes três commits.

note: type: Plain text
en: Switch to `topic/wip` branch and keep working.
pt_BR: Mude para o ramo `topic/wip` e continue trabalhando.

note: type: Labeled list
en: Undo commits permanently
pt_BR: Desfaça-se dos commits permanentemente

note: type: Plain text
en: The last three commits (`HEAD`, `HEAD^`, and `HEAD~2`) were bad and you do not want to ever see them again.  Do *not* do this if you have already given these commits to somebody else.  (See the "RECOVERING FROM UPSTREAM REBASE" section in linkgit:git-rebase[1] for the implications of doing so.)
pt_BR: Os últimos três commits (`HEAD`, `HEAD^` e`HEAD~2`) foram ruins e você não deseja mais vê-los novamente.  *Não* faça isso caso já tenha repassado estes commits para outra pessoa.  (Para saber mais sobre as implicações desta ação, consulte a seção "RECUPERANDO DO UPSTREAM REBASE" no linkgit:git-rebase[1].)

note: type: Labeled list
en: Undo a merge or pull
pt_BR: Desfazendo uma mesclagem ou `pull`

note: type: delimited block -
en: $ git pull                         <1>
    Auto-merging nitfol
    CONFLICT (content): Merge conflict in nitfol
    Automatic merge failed; fix conflicts and then commit the result.
    $ git reset --hard                 <2>
    $ git pull . topic/branch          <3>
    Updating from 41223... to 13134...
    Fast-forward
    $ git reset --hard ORIG_HEAD       <4>
pt_BR: $ git pull                         <1>
    Mesclagem automática do nitfol
    CONFLITO (conteúdo): Houve um conflito durante a mesclagem com nitfol
    A mesclagem automática falhou; arrume os conflitos e faça um novo commit.
    $ git reset --hard                 <2>
    $ git pull . $ git pull . topic/branch          <3>
    Atualizando de 41223... para 13134...
    Fast-forward
    $ git reset --hard ORIG_HEAD       <4>

note: type: Plain text
en: Try to update from the upstream resulted in a lot of conflicts; you were not ready to spend a lot of time merging right now, so you decide to do that later.
pt_BR: Tente atualizar a partir do upstream responsável pelos diversos conflitos; você não estava pronto para perder muito tempo mesclando agora, então decide fazer isso mais tarde.

note: type: Plain text
en: "pull" has not made merge commit, so `git reset --hard` which is a synonym for `git reset --hard HEAD` clears the mess from the index file and the working tree.
pt_BR: O "pull" não fez a consolidação de mesclagem, portanto, `git reset --hard`, que é um sinônimo de `git reset --hard HEAD`, limpa a bagunça do arquivo do índice e da árvore de trabalho.

note: type: Plain text
en: Merge a topic branch into the current branch, which resulted in a fast-forward.
pt_BR: Mescle uma ramificação de tópico na ramificação atual, o que resultou em um avanço rápido.

note: type: Plain text
en: But you decided that the topic branch is not ready for public consumption yet.  "pull" or "merge" always leaves the original tip of the current branch in `ORIG_HEAD`, so resetting hard to it brings your index file and the working tree back to that state, and resets the tip of the branch to that commit.
pt_BR: Mas você decidiu que o ramo de tópicos ainda não está pronto para consumo público.  O "pull" ou "merge" sempre deixa o cume original do ramo atual em `ORIG_HEAD`, portanto, a redefinição forçada traz o seu arquivo do índice e a árvore de trabalho de volta para esta condição e redefine o cume do ramo para este commit.

note: type: Labeled list
en: Undo a merge or pull inside a dirty working tree
pt_BR: Desfaça uma mesclagem ou `pull` dentro de uma árvore de trabalho suja

note: type: Plain text
en: Even if you may have local modifications in your working tree, you can safely say `git pull` when you know that the change in the other branch does not overlap with them.
pt_BR: Mesmo que você tenha modificações locais em sua árvore de trabalho, você pode usar com segurança `git pull` quando souber que a alteração no outro ramo não se sobrepõe a elas.

note: type: Plain text
en: After inspecting the result of the merge, you may find that the change in the other branch is unsatisfactory.  Running `git reset --hard ORIG_HEAD` will let you go back to where you were, but it will discard your local changes, which you do not want.  `git reset --merge` keeps your local changes.
pt_BR: Após inspecionar o resultado da mesclagem, você pode achar que a alteração na outra ramificação não é satisfatória.  Se executar o `git reset --hard ORIG_HEAD` permitirá que você volte para onde estava, mas descartará as alterações locais que você não quer.  O `git reset --merge` mantém suas alterações locais.

note: type: Labeled list
en: Interrupted workflow
pt_BR: Fluxo de trabalho interrompido

note: type: Plain text
en: Suppose you are interrupted by an urgent fix request while you are in the middle of a large change.  The files in your working tree are not in any shape to be committed yet, but you need to get to the other branch for a quick bugfix.
pt_BR: Suponha que você seja interrompido por uma solicitação de correção urgente enquanto estiver no meio de uma grande alteração.  Os arquivos em sua árvore de trabalho ainda não estão em condições para um commit, mas você precisa acessar uma outra ramificação para obter uma correção rápida.

note: type: delimited block -
en: $ git switch feature  ;# you were working in "feature" branch and
    $ work work work      ;# got interrupted
    $ git commit -a -m "snapshot WIP"                 <1>
    $ git switch master
    $ fix fix fix
    $ git commit ;# commit with real log
    $ git switch feature
    $ git reset --soft HEAD^ ;# go back to WIP state  <2>
    $ git reset                                       <3>
pt_BR: $ git switch feature  ;# você estava trabalhando no ramo "feature" e
    $ work work work      ;# foi interrompido
    $ git commit -a -m "snapshot WIP"                 <1>
    $ git switch master
    $ fix fix fix
    $ git commit ;# faz o commit com um registro log real
    $ git switch feature
    $ git reset --soft HEAD^ ;# retorna para a condição WIP <2>
    $ git reset                                       <3>

note: type: Plain text
en: This commit will get blown away so a throw-away log message is OK.
pt_BR: Este commit será desfeito de modo que o descarte de uma mensagem de registro log seja OK.

note: type: Plain text
en: This removes the 'WIP' commit from the commit history, and sets your working tree to the state just before you made that snapshot.
pt_BR: Isso remove o commit 'WIP' do histórico e define a sua árvore de trabalho para a condição anterior antes de você fazer este instantâneo.

note: type: Plain text
en: At this point the index file still has all the WIP changes you committed as 'snapshot WIP'.  This updates the index to show your WIP files as uncommitted.
pt_BR: Neste ponto o arquivo do índice ainda possui todas as alterações do `WIP` que você fez o commit como 'instantâneo WIP'.  Isso faz a atualização do índice para demonstrar que os seus arquivos WIP estão inalterados.

note: type: Plain text
en: See also linkgit:git-stash[1].
pt_BR: Consulte também linkgit:git-stash[1].

note: type: Labeled list
en: Reset a single file in the index
pt_BR: Redefine um único arquivo no índice

note: type: Plain text
en: Suppose you have added a file to your index, but later decide you do not want to add it to your commit. You can remove the file from the index while keeping your changes with git reset.
pt_BR: Suponha que você tenha adicionado um arquivo ao seu índice mas depois decida que você não quer mais adicioná-lo ao seu commit. Você pode remover o arquivo do índice enquanto mantém suas alterações com o `git reset`.

note: type: delimited block -
en: $ git reset -- frotz.c                      <1>
    $ git commit -m "Commit files in index"     <2>
    $ git add frotz.c                           <3>
pt_BR: $ git reset -- frotz.c                      <1>
    $ git commit -m "Faz o commit dos arquivos no índice"     <2>
    $ git add frotz.c                           <3>

note: type: Plain text
en: This removes the file from the index while keeping it in the working directory.
pt_BR: Isso remove o arquivo do índice enquanto o mantém no diretório de trabalho.

note: type: Plain text
en: This commits all other changes in the index.
pt_BR: Isso faz o commit de todas as outras modificações no índice.

note: type: Plain text
en: Adds the file to the index again.
pt_BR: Adiciona o arquivo ao índice novamente.

note: type: Labeled list
en: Keep changes in working tree while discarding some previous commits
pt_BR: Mantenha as alterações na árvore de trabalho ao descartar alguns commits anteriores

note: type: Plain text
en: Suppose you are working on something and you commit it, and then you continue working a bit more, but now you think that what you have in your working tree should be in another branch that has nothing to do with what you committed previously. You can start a new branch and reset it while keeping the changes in your working tree.
pt_BR: Suponha que você esteja trabalhando em algo e faz o commit, você continua trabalhando mais um pouco, porém agora você acha que o que tem na sua árvore de trabalho deve estar em outro ramo que não tem nada a ver com o commit que você fez anteriormente. Você pode iniciar um novo ramo e redefini-lo, mantendo as alterações na sua árvore de trabalho.

note: type: Plain text
en: This commits your first edits in `branch1`.
pt_BR: Isso faz o commit das suas primeiras edições em `branch1`.

note: type: Plain text
en: In the ideal world, you could have realized that the earlier commit did not belong to the new topic when you created and switched to `branch2` (i.e. `git switch -c branch2 start`), but nobody is perfect.
pt_BR: Em um mundo ideal você poderia ter percebido que o commit anterior não pertencia ao novo tópico quando você criou e alternou para o "branch2" (i.e. "switch -c branch2 start"), mas ninguém é perfeito.

note: type: Plain text
en: But you can use `reset --keep` to remove the unwanted commit after you switched to `branch2`.
pt_BR: Porém é possível´ usar a opção `reset --keep` para remover o commit indesejado depois de alternar para `branch2`.

note: type: Labeled list
en: Split a commit apart into a sequence of commits
pt_BR: Divida um commit em uma sequência de commits

note: type: Plain text
en: Suppose that you have created lots of logically separate changes and committed them together. Then, later you decide that it might be better to have each logical chunk associated with its own commit. You can use git reset to rewind history without changing the contents of your local files, and then successively use `git add -p` to interactively select which hunks to include into each commit, using `git commit -c` to pre-populate the commit message.
pt_BR: Suponha que você tenha criado muitas alterações logicamente separadas e tenha feito o commit deles juntos. Depois, você decide que seria melhor ter cada pedaço lógico associado ao seu próprio commit. É possível utilizar o `git reset` para retroceder o histórico sem alterar o conteúdo dos seus arquivos locais e sucessivamente utilizar o comando `git add -p` para selecionar interativamente quais os blocos que deseja incluir em cada commit utilizando o comando `git commit -c` para preencher previamente a mensagem do commit.

note: type: Plain text
en: First, reset the history back one commit so that we remove the original commit, but leave the working tree with all the changes. The -N ensures that any new files added with `HEAD` are still marked so that `git add -p` will find them.
pt_BR: Primeiro, faz o reset do histórico um commit para trás para que possamos remover o commit original, porém, deixe a árvore de trabalho com todas as alterações. O `-N` garante que quaisquer novos arquivos adicionados com `HEAD`, ainda sejam marcados para que o `git add -p` os encontre.

note: type: Plain text
en: Next, we interactively select diff hunks to add using the `git add -p` facility. This will ask you about each diff hunk in sequence and you can use simple commands such as "yes, include this", "No don't include this" or even the very powerful "edit" facility.
pt_BR: Em seguida, selecionamos interativamente os blocos das diferenças para serem adicionas utilizando o recurso `git add -p`. Isso lhe perguntará sobre cada pedaço diff em sequência, assim você poderá usar de comandos simples como "yes, include this" (sim, inclua isso), "no don't include this" (não, não inclua isso) ou mesmo o poderoso recurso "edit" (editar).

note: type: Plain text
en: Once satisfied with the hunks you want to include, you should verify what has been prepared for the first commit by using `git diff --cached`. This shows all the changes that have been moved into the index and are about to be committed.
pt_BR: Uma vez satisfeito com os blocos que deseja incluir, você deve verificar o que foi preparado para o primeiro commit utilizando a opção `git diff --cached`. Isso exibe todas as alterações que foram movidas para o índice e que estão prontas para o commit.

note: type: Plain text
en: Next, commit the changes stored in the index. The `-c` option specifies to pre-populate the commit message from the original message that you started with in the first commit. This is helpful to avoid retyping it. The `HEAD@{1}` is a special notation for the commit that `HEAD` used to be at prior to the original reset commit (1 change ago).  See linkgit:git-reflog[1] for more details. You may also use any other valid commit reference.
pt_BR: Em seguida, faça o commit das alterações armazenadas no índice. A opção `-c` especifica para ser feito o preenchimento prévio da mensagem original do commit iniciado com o primeiro commit. É útil para evitar ter que digitá-la novamente. O `HEAD@{1}` é uma notação especial para o commit onde o `HEAD` estava antes da redefinição (reset) do commit original (1 alteração atrás).  Para mais detalhes consulte linkgit:git-reflog[1]. Você também pode utilizar qualquer outro commit válido como referência.

note: type: Plain text
en: You can repeat steps 2-4 multiple times to break the original code into any number of commits.
pt_BR: Você pode repetir os passos 2-4 diversas vezes para quebrar o código original em diversos commits.

note: type: Plain text
en: Now you've split out many of the changes into their own commits, and might no longer use the patch mode of `git add`, in order to select all remaining uncommitted changes.
pt_BR: Agora que você dividiu diversas alterações em seus próprios commits e pode não mais usar o modo patch do `git add`, para que possa selecionar todas os commits restantes que não foram alterados.

note: type: Plain text
en: Once again, check to verify that you've included what you want to. You may also wish to verify that git diff doesn't show any remaining changes to be committed later.
pt_BR: Novamente, verifique se você incluiu o que deseja. Você também deve verificar se o `git diff` não exibe nenhuma outra alteração restante nos commits que serão realizados depois.

note: type: Plain text
en: And finally create the final commit.
pt_BR: E finalmente, crie o commit final.

note: type: Plain text
en: The tables below show what happens when running:
pt_BR: As tabelas abaixo demonstram o que acontece durante a execução:

note: type: Plain text
en: to reset the `HEAD` to another commit (`target`) with the different reset options depending on the state of the files.
pt_BR: para redefinir o `HEAD` para outro commit (` target`) com as diferentes opções de redefinição, dependendo do estado dos arquivos.

note: type: Plain text
en: In these tables, `A`, `B`, `C` and `D` are some different states of a file. For example, the first line of the first table means that if a file is in state `A` in the working tree, in state `B` in the index, in state `C` in `HEAD` and in state `D` in the target, then `git reset --soft target` will leave the file in the working tree in state `A` and in the index in state `B`.  It resets (i.e. moves) the `HEAD` (i.e. the tip of the current branch, if you are on one) to `target` (which has the file in state `D`).
pt_BR: Nas tabelas, `A`, `B`, `C` e `D` são algumas diferenças entre as condições de um arquivo. Por exemplo, a primeira linha da primeira tabela significa que caso um arquivo esteja no estado `A` na árvore de trabalho, no estado` B` no índice, no estado `C` em `HEAD` e no estado `D` no alvo, o `git reset --soft target` deixará o arquivo na árvore de trabalho no estado `A` e o índice no estado `B`.  Ele redefine (ou seja, move) o `HEAD` (ou seja, o cume do ramo atual, caso tenha um) para `target` (que tem o arquivo no estado `D`).

note: type: delimited block .
en: working index HEAD target         working index HEAD
    ----------------------------------------------------
     A       B     C    D     --soft   A       B     D
    			  --mixed  A       D     D
    			  --hard   D       D     D
    			  --merge (disallowed)
    			  --keep  (disallowed)
pt_BR: working index HEAD target         working index HEAD
    ----------------------------------------------------
     A       B     C    D     --soft   A       B     D
    			  --mixed  A       D     D
    			  --hard   D       D     D
    			  --merge (desaprovado)
    			  --keep  (desaprovado)

note: type: delimited block .
en: working index HEAD target         working index HEAD
    ----------------------------------------------------
     A       B     C    C     --soft   A       B     C
    			  --mixed  A       C     C
    			  --hard   C       C     C
    			  --merge (disallowed)
    			  --keep   A       C     C
pt_BR: working index HEAD target         working index HEAD
    ----------------------------------------------------
     A       B     C    C     --soft   A       B     C
    			  --mixed  A       C     C
    			  --hard   C       C     C
    			  --merge (desaprovado)
    			  --keep   A       C     C

note: type: delimited block .
en: working index HEAD target         working index HEAD
    ----------------------------------------------------
     B       B     C    D     --soft   B       B     D
    			  --mixed  B       D     D
    			  --hard   D       D     D
    			  --merge  D       D     D
    			  --keep  (disallowed)
pt_BR: working index HEAD target         working index HEAD
    ----------------------------------------------------
     B       B     C    D     --soft   B       B     D
    			  --mixed  B       D     D
    			  --hard   D       D     D
    			  --merge  D       D     D
    			  --keep  (desaprovado)

note: type: delimited block .
en: working index HEAD target         working index HEAD
    ----------------------------------------------------
     B       C     C    D     --soft   B       C     D
    			  --mixed  B       D     D
    			  --hard   D       D     D
    			  --merge (disallowed)
    			  --keep  (disallowed)
pt_BR: working index HEAD target         working index HEAD
    ----------------------------------------------------
     B       C     C    D     --soft   B       C     D
    			  --mixed  B       D     D
    			  --hard   D       D     D
    			  --merge (desaprovado)
    			  --keep  (desaprovado)

note: type: Plain text
en: `reset --merge` is meant to be used when resetting out of a conflicted merge. Any mergy operation guarantees that the working tree file that is involved in the merge does not have a local change with respect to the index before it starts, and that it writes the result out to the working tree. So if we see some difference between the index and the target and also between the index and the working tree, then it means that we are not resetting out from a state that a mergy operation left after failing with a conflict. That is why we disallow `--merge` option in this case.
pt_BR: A opção `reset --merge` deve ser utilizada durante a redefinição de uma mesclagem em conflito. Qualquer operação de mesclagem garante que o arquivo da árvore de trabalho envolvido na mesclagem não tenha uma alteração local em relação ao índice antes do inicio e que grave o resultado na árvore de trabalho. Portanto, se observarmos alguma diferença entre o índice e o destino, assim como entre o índice e a árvore de trabalho, significa que não estamos redefinindo a partir de um estado que uma operação de mesclagem deixou após falhar com um conflito. É por isso que não permitimos a opção `--merge` nesse caso.

note: type: Plain text
en: `reset --keep` is meant to be used when removing some of the last commits in the current branch while keeping changes in the working tree. If there could be conflicts between the changes in the commit we want to remove and the changes in the working tree we want to keep, the reset is disallowed. That's why it is disallowed if there are both changes between the working tree and `HEAD`, and between `HEAD` and the target. To be safe, it is also disallowed when there are unmerged entries.
pt_BR: O comando `reset --keep` deve ser utilizado para remover alguns dos últimos commits no ramo atual mantendo as alterações na árvore de trabalho. Caso haja conflitos entre as alterações no commit que queremos remover e as mudanças na árvore de trabalho que desejamos manter, a redefinição será desativada. É por isso que não é permitido caso haja duas mudanças entre a árvore de trabalho, o `HEAD` e entre o` HEAD` e o destino. Por segurança, também não é permitido quando há entradas não imersas.

note: type: Plain text
en: The following tables show what happens when there are unmerged entries:
pt_BR: As tabelas a seguir demonstram o que acontece quando há entradas que não foram mescladas:

note: type: delimited block .
en: working index HEAD target         working index HEAD
    ----------------------------------------------------
     X       U     A    B     --soft  (disallowed)
    			  --mixed  X       B     B
    			  --hard   B       B     B
    			  --merge  B       B     B
    			  --keep  (disallowed)
pt_BR: working index HEAD target         working index HEAD
    ----------------------------------------------------
     X       U     A    B     --soft  (disallowed)
    			  --mixed  X       B     B
    			  --hard   B       B     B
    			  --merge  B       B     B
    			  --keep  (desaprovado)

note: type: delimited block .
en: working index HEAD target         working index HEAD
    ----------------------------------------------------
     X       U     A    A     --soft  (disallowed)
    			  --mixed  X       A     A
    			  --hard   A       A     A
    			  --merge  A       A     A
    			  --keep  (disallowed)
pt_BR: working index HEAD target         working index HEAD
    ----------------------------------------------------
     X       U     A    A     --soft  (disallowed)
    			  --mixed  X       A     A
    			  --hard   A       A     A
    			  --merge  A       A     A
    			  --keep  (desaprovado)

note: type: Plain text
en: `X` means any state and `U` means an unmerged index.
pt_BR: O `X` significa qualquer condição e `U` significa um índice não mesclado.

note: type: Plain text
en: git-restore - Restore working tree files
pt_BR: git-restore - Restaura os arquivos das árvores de trabalho

note: type: Plain text
en: 'git restore' [<options>] [--source=<tree>] [--staged] [--worktree] [--] <pathspec>...
    'git restore' [<options>] [--source=<tree>] [--staged] [--worktree] --pathspec-from-file=<file> [--pathspec-file-nul]
    'git restore' (-p|--patch) [<options>] [--source=<tree>] [--staged] [--worktree] [--] [<pathspec>...]
pt_BR: 'git restore' [<opções>] [--source=<árvore>] [--staged] [--worktree] [--] <pathspec>...
    'git restore' [<opções>] [--source=<árvore>] [--staged] [--worktree] --pathspec-from-file=<arquivo> [--pathspec-file-nul]
    'git restore' (-p|--patch) [<opções>] [--source=<árvore>] [--staged] [--worktree] [--] [<pathspec>...]

note: type: Plain text
en: Restore specified paths in the working tree with some contents from a restore source. If a path is tracked but does not exist in the restore source, it will be removed to match the source.
pt_BR: Restaure os caminhos definidos na árvore de trabalho com algum conteúdo de uma fonte de restauração. Se um caminho for monitorado, porém não existir na fonte de restauração, ele será removido para coincidir com a fonte.

note: type: Plain text
en: The command can also be used to restore the content in the index with `--staged`, or restore both the working tree and the index with `--staged --worktree`.
pt_BR: O comando também pode ser usado para restaurar o conteúdo no índice com a opção `--staged`, ou para restaurar a árvore de trabalho e o índice com `--staged --worktree`.

note: type: Plain text
en: By default, if `--staged` is given, the contents are restored from `HEAD`, otherwise from the index. Use `--source` to restore from a different commit.
pt_BR: É predefinido que caso `--staged` seja utilizado, o conteúdo será restaurado a partir do `HEAD`, caso contrário, a partir do índice. Utilize a opção `--source` para restaurar a partir de um commit diferente.

note: type: Plain text
en: THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
pt_BR: ESTE COMANDO É EXPERIMENTAL. O SEU COMPORTAMENTO PODE MUDAR.

note: type: Labeled list
en: -s <tree>
pt_BR: -s <árvore>

note: type: Labeled list
en: --source=<tree>
pt_BR: --source=<árvore>

note: type: Plain text
en: Restore the working tree files with the content from the given tree. It is common to specify the source tree by naming a commit, branch or tag associated with it.
pt_BR: Restaure arquivos da árvore de trabalho com o conteúdo da árvore informada. É comum especificar a árvore de origem nomeando um commit, ramo ou tag associado com ela.

note: type: Plain text
en: If not specified, the contents are restored from `HEAD` if `--staged` is given, otherwise from the index.
pt_BR: Caso não seja definido, o conteúdo será restaurado a partir de `HEAD` caso `--staged` seja informado, caso contrário, a restauração será a partir do índice.

note: type: Plain text
en: Interactively select hunks in the difference between the restore source and the restore location. See the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
pt_BR: Selecione a diferença entre os blocos interativamente entre a origem da restauração e o local da restauração. Consulte a seção ``Modo Interativo'' do linkgit:git-add[1] para aprender como operar o modo `--patch`.

note: type: Plain text
en: Note that `--patch` can accept no pathspec and will prompt to restore all modified paths.
pt_BR: Note que o comando `--patch` pode não aceitar nenhum `pathspec` e solicitará a restauração de todos os caminhos modificados.

note: type: Plain text
en: Specify the restore location. If neither option is specified, by default the working tree is restored. Specifying `--staged` will only restore the index. Specifying both restores both.
pt_BR: Especifica o local da restauração. É predefinido que caso nenhuma opção seja utilizada a árvore de trabalho será restaurada. Ao usar a opção `--staged` apenas a índice será restaurado. A utilização de ambas as opções faz a restauração de ambos.

note: type: Plain text
en: Quiet, suppress feedback messages. Implies `--no-progress`.
pt_BR: Silencioso, suprima as mensagens de feedback. Implies `--no-progress`.

note: type: Plain text
en: When restoring files in the working tree from the index, use stage #2 ('ours') or #3 ('theirs') for unmerged paths.
pt_BR: Ao restaurar os arquivos no índice da árvore de trabalho, utilize o estágio #2 ('nosso') ou #3 ('deles') para os caminhos que não foram mesclados.

note: type: Plain text
en: Note that during `git rebase` and `git pull --rebase`, 'ours' and 'theirs' may appear swapped. See the explanation of the same options in linkgit:git-checkout[1] for details.
pt_BR: Note que durante o `git rebase` e` git pull --rebase`, o 'nosso' e o 'deles' podem aparecer trocados. Para mais detalhes, consulte a explicação das mesmas opções em linkgit:git-checkout[1].

note: type: Plain text
en: When restoring files on the working tree from the index, recreate the conflicted merge in the unmerged paths.
pt_BR: Ao restaurar os arquivos no índice da árvore de trabalho, recrie a mesclagem conflitante nos caminhos que ainda não foram mesclados.

note: type: Plain text
en: When restoring files on the working tree from the index, do not abort the operation if there are unmerged entries and neither `--ours`, `--theirs`, `--merge` or `--conflict` is specified. Unmerged paths on the working tree are left alone.
pt_BR: Não aborte a operação ao restaurar os arquivos no índice da árvore de trabalho caso existam entradas que não foram mescladas e tão pouco as opções `--ours`, `--theirs`, `--merge` ou `--conflict` tenham sido utilizadas. Nada acontece com os caminhos das árvores de trabalho caso eles não tenham sido mesclados.

note: type: Plain text
en: In sparse checkout mode, by default is to only update entries matched by `<pathspec>` and sparse patterns in $GIT_DIR/info/sparse-checkout. This option ignores the sparse patterns and unconditionally restores any files in `<pathspec>`.
pt_BR: É predefinido que no modo de averiguação esparsa, apenas atualize as entradas que coincidam com `<pathspec>` e os padrões esparsos no `$GIT_DIR/info/sparse-checkout`. Esta opção ignora os padrões esparsos e restaura incondicionalmente todos os arquivos que estejam no `<pathspec>`.

note: type: Plain text
en: If `<pathspec>` names an active submodule and the restore location includes the working tree, the submodule will only be updated if this option is given, in which case its working tree will be restored to the commit recorded in the superproject, and any local modifications overwritten. If nothing (or `--no-recurse-submodules`) is used, submodules working trees will not be updated. Just like linkgit:git-checkout[1], this will detach `HEAD` of the submodule.
pt_BR: Caso o `<pathspec>` nomeie um submódulo ativo e o local da restauração incluir a árvore de trabalho, o submódulo será atualizado apenas caso esta opção seja utilizada. Neste caso, a sua árvore de trabalho será restaurada para o commit registrado no superprojeto e quaisquer alterações locais serão substituídas. Caso nada (ou a opção `--no-recurse-submodules`) seja utilizado, os submódulos que trabalham nas árvores não serão atualizados. Assim como linkgit:git-submodule[1], isso faz com que o `HEAD` seja desanexando do submódulo.

note: type: Plain text
en: In overlay mode, the command never removes files when restoring. In no-overlay mode, tracked files that do not appear in the `--source` tree are removed, to make them match `<tree>` exactly. The default is no-overlay mode.
pt_BR: No modo de sobreposição, o comando nunca remove os arquivos durante a restauração. No modo sem sobreposição, os arquivos rastreados que não aparecem na árvore `--source` são removidos para fazê-los coincidir exatamente com a `<árvore>`. A predefinição é sem sobreposição.

note: type: Plain text
en: The following sequence switches to the `master` branch, reverts the `Makefile` to two revisions back, deletes hello.c by mistake, and gets it back from the index.
pt_BR: A sequência a seguir muda para o ramo `master`, reverte o` Makefile` para duas revisões anteriores, apaga o hello.c por engano e o recupera do índice.

note: type: Plain text
en: restore hello.c from the index
pt_BR: restaurar o hello.c do índice

note: type: Plain text
en: If you want to restore _all_ C source files to match the version in the index, you can say
pt_BR: Caso queira restaurar _TODOS_ os arquivos do código fonte C para que coincidam com a versão do índice, você pode usar

note: type: Plain text
en: Note the quotes around `*.c`.  The file `hello.c` will also be restored, even though it is no longer in the working tree, because the file globbing is used to match entries in the index (not in the working tree by the shell).
pt_BR: Observe as aspas em torno de `* .c`.  O arquivo `hello.c` também será restaurado ainda que não esteja mais na árvore de trabalho, pois o agrupamento dos arquivos é utilizado para coincidir com as entradas do índice (não na árvore de trabalho pelo shell).

note: type: Plain text
en: To restore all files in the current directory
pt_BR: Para restaurar todos os arquivos no diretório atual

note: type: Plain text
en: or to restore all working tree files with 'top' pathspec magic (see linkgit:gitglossary[7])
pt_BR: ou para restaurar todos os arquivos do cume da árvore de trabalho com a mágica do "pathspec" (consulte linkgit:gitglossary[7])

note: type: Plain text
en: To restore a file in the index to match the version in `HEAD` (this is the same as using linkgit:git-reset[1])
pt_BR: Para restaurar um arquivo no índice que coincida com a versão em `HEAD` (é o mesmo que usar linkgit:git-reset[1])

note: type: Plain text
en: or you can restore both the index and the working tree (this the same as using linkgit:git-checkout[1])
pt_BR: ou você pode restaurar o índice e a árvore de trabalho (é o mesmo que usar linkgit:git-checkout[1])

note: type: Plain text
en: or the short form which is more practical but less readable:
pt_BR: ou a forma abreviada que é mais prática, mas menos legível:

note: type: Plain text
en: git-revert - Revert some existing commits
pt_BR: git-revert - Reverte alguns commits existentes

note: type: Plain text
en: Given one or more existing commits, revert the changes that the related patches introduce, and record some new commits that record them.  This requires your working tree to be clean (no modifications from the HEAD commit).
pt_BR: Dado um ou mais commits já existentes, reverta as alterações introduzidas pelos patches relacionados e registre alguns novos commits que registram neles.  Isso requer que a sua árvore de trabalho esteja limpa (nenhuma alteração a partir do commit `HEAD`).

note: type: Plain text
en: Note: 'git revert' is used to record some new commits to reverse the effect of some earlier commits (often only a faulty one).  If you want to throw away all uncommitted changes in your working directory, you should see linkgit:git-reset[1], particularly the `--hard` option.  If you want to extract specific files as they were in another commit, you should see linkgit:git-restore[1], specifically the `--source` option. Take care with these alternatives as both will discard uncommitted changes in your working directory.
pt_BR: Nota: 'git revert' é utilizado para registrar alguns commits novos para reverter o efeito de alguns commits anteriores (geralmente apenas um com problema).  Caso queira descartar todos os commits das alterações que não foram aplicados no seu diretório de trabalho, você deve consultar linkgit:git-reset[1], em particular a opção `--hard`.  Caso queira extrair arquivos específicos da maneira que eles estavam em um outro commit, você deve consutar linkgit:git-restore[1], principalmente a opção `--source`. Tenha cuidado com ambas alternativas pois elas descartam qualquer modificação não aplicada no seu diretório de trabalho.

note: type: Plain text
en: Commits to revert.  For a more complete list of ways to spell commit names, see linkgit:gitrevisions[7].  Sets of commits can also be given but no traversal is done by default, see linkgit:git-rev-list[1] and its `--no-walk` option.
pt_BR: Commits que serão revertidos.  Para obter uma lista mais completa das maneiras de como soletrar os nomes dos commits, consulte linkgit:gitrevisions[7]  Um conjunto de commits também podem ser informados porém nenhuma travessia é feita por padrão, consulte linkgit:git-rev-list[1] e a sua opção `--no-walk`.

note: type: Plain text
en: With this option, 'git revert' will let you edit the commit message prior to committing the revert. This is the default if you run the command from a terminal.
pt_BR: Com esta opção, o comando 'git revert' permitirá a edição da mensagem do commit antes de fazer a reversão do commit. Esta é a predefinição caso execute o comando em um terminal.

note: type: Plain text
en: Usually you cannot revert a merge because you do not know which side of the merge should be considered the mainline.  This option specifies the parent number (starting from 1) of the mainline and allows revert to reverse the change relative to the specified parent.
pt_BR: Geralmente, você não pode reverter uma mesclagem porque não sabe qual o lado da mesclagem deve ser considerado a linha principal.  Esta opção determina o número do pai (começando em 1) da linha principal e permite que a reversão reverta a alteração em relação ao pai informado.

note: type: Plain text
en: Reverting a merge commit declares that you will never want the tree changes brought in by the merge.  As a result, later merges will only bring in tree changes introduced by commits that are not ancestors of the previously reverted merge.  This may or may not be what you want.
pt_BR: A reversão da mesclagem de um commit declara que você nunca vai querer que as alterações na árvore sejam trazidas pela mesclagem.  Como resultado, as mesclagens posteriores trarão apenas as alterações na árvore introduzidas pelos commits que não sejam os ancestrais da mesclagem revertida anteriormente.  Isso pode ou não ser o que você queira.

note: type: Plain text
en: See the link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for more details.
pt_BR: Consulte o link:howto/revert-a-faulty-merge.html[Como fazer um 'revert-a-faulty-merge'] para mais detalhes.

note: type: Plain text
en: With this option, 'git revert' will not start the commit message editor.
pt_BR: Com esta opção, o comando 'git revert' não iniciará o editor das mensagens do commit.

note: type: Plain text
en: Usually the command automatically creates some commits with commit log messages stating which commits were reverted.  This flag applies the changes necessary to revert the named commits to your working tree and the index, but does not make the commits.  In addition, when this option is used, your index does not have to match the HEAD commit.  The revert is done against the beginning state of your index.
pt_BR: Geralmente, o comando cria automaticamente alguns commits com mensagens no registro log informando quais commits foram revertidos.  Esta opção aplica as alterações necessárias para reverter os commits informados para a sua árvore de trabalho e o índice, mas não faz os commits.  Além disso, quando esta opção é utilizada, o seu índice não precisa coincidir ao HEAD do commit.  A reversão é feita na condição inicial do seu índice.

note: type: Plain text
en: This is useful when reverting more than one commits' effect to your index in a row.
pt_BR: Isso é útil durante ao reverter o efeito de um ou mais commits no seu índice, em uma linha.

note: type: Plain text
en: Revert the changes specified by the fourth last commit in HEAD and create a new commit with the reverted changes.
pt_BR: Reverta as alterações informadas pelo quarto último commit no HEAD e crie um novo commit com as alterações revertidas.

note: type: Plain text
en: Revert the changes done by commits from the fifth last commit in master (included) to the third last commit in master (included), but do not create any commit with the reverted changes. The revert only modifies the working tree and the index.
pt_BR: Reverta as alterações feitas pelos commits do quinto último commit no master (incluso) para o terceiro último commit no master (incluso), porém não crie nenhum commit com as alterações revertidas. A reversão altera apenas a árvore de trabalho e o índice.

note: type: Plain text
en: git-rev-list - Lists commit objects in reverse chronological order
pt_BR: git-rev-list - Lista os objetos commits em ordem reversa cronologicamente

note: type: Plain text
en: 'git rev-list' [<options>] <commit>... [[--] <path>...]
pt_BR: 'git rev-list' [<opções>] <commit>... [[--] <caminho>...]

note: type: Plain text
en: List commits that are reachable by following the `parent` links from the given commit(s), but exclude commits that are reachable from the one(s)  given with a '{caret}' in front of them.  The output is given in reverse chronological order by default.
pt_BR: Liste os commits que podem ser acessadas seguindo os links `parent` de determinados commits, porém exclua os commits acessíveis das que receberam um '{caret}' na frente deles.  Por predefinição, a saída é informada em ordem cronológica reversa.

note: type: Plain text
en: You can think of this as a set operation.  Commits given on the command line form a set of commits that are reachable from any of them, and then commits reachable from any of the ones given with '{caret}' in front are subtracted from that set.  The remaining commits are what comes out in the command's output.  Various other options and paths parameters can be used to further limit the result.
pt_BR: É possível pensar nisso como uma operação em conjunto.  Os commits utilizados na linha de comando formam um conjunto de commits acessíveis a partir de qualquer uma delas e, em seguida, os commits acessíveis a partir de qualquer uma das que são informadas na frente com '{caret}' são subtraídas desse conjunto.  Os commits restantes são o que são gerados pelo comando.  Várias outras opções e parâmetros de caminho podem ser usados para limitar ainda mais o resultado.

note: type: Plain text
en: Thus, the following command:
pt_BR: Assim, o seguinte comando:

note: type: Plain text
en: means "list all the commits which are reachable from 'foo' or 'bar', but not from 'baz'".
pt_BR: significa "listar todos os commits acessíveis a partir do 'foo' ou 'bar', porém não de 'baz'".

note: type: Plain text
en: A special notation "'<commit1>'..'<commit2>'" can be used as a short-hand for "{caret}'<commit1>' '<commit2>'". For example, either of the following may be used interchangeably:
pt_BR: Uma notação especial "'<commit1>'..'<commit2>'" pode ser utilizada como uma abreviação para "{caret}'<commit1>' '<commit2>'". Qualquer um dos seguintes pode ser usado de forma intercambiável, por exemplo:

note: type: Plain text
en: Another special notation is "'<commit1>'...'<commit2>'" which is useful for merges.  The resulting set of commits is the symmetric difference between the two operands.  The following two commands are equivalent:
pt_BR: Outra notação especial é "'<commit1>'...'<commit2>'", útil para mesclagens.  O conjunto resultante dos commits é a diferença simétrica entre dois operandos.  Os dois comandos a seguir são equivalentes:

note: type: Plain text
en: 'rev-list' is a very essential Git command, since it provides the ability to build and traverse commit ancestry graphs. For this reason, it has a lot of different options that enables it to be used by commands as different as 'git bisect' and 'git repack'.
pt_BR: O 'rev-list' é um comando Git muito essencial, pois fornece a capacidade de construir e transpor os grafos de ancestralidade de um commit. Por este motivo, ele possui muitas opções diferentes que permitem a sua utilização por comandos tão diferentes como 'git bisect' e 'git repack'.

note: type: Plain text
en: git-rev-parse - Pick out and massage parameters
pt_BR: git-rev-parse - Escolha e trabalhe os parâmetros

note: type: Plain text
en: 'git rev-parse' [<options>] <args>...
pt_BR: 'git rev-parse' [<opções>] <args>...

note: type: Plain text
en: Many Git porcelainish commands take mixture of flags (i.e. parameters that begin with a dash '-') and parameters meant for the underlying 'git rev-list' command they use internally and flags and parameters for the other commands they use downstream of 'git rev-list'.  This command is used to distinguish between them.
pt_BR: Muitos comandos porcelana do Git utilizam uma mistura de opções (ou seja, parâmetros que começam com um traço '-') e os parâmetros destinados ao comando 'git rev-list' subjacente que eles utilizam internamente, as opções e os parâmetros para os outros comandos que utilizam na produção final do 'git rev-list '.  Este comando é utilizado para se distinguir entre eles.

note: type: Title ~
en: Operation Modes
pt_BR: Modos de Operação

note: type: Plain text
en: Each of these options must appear first on the command line.
pt_BR: Cada uma destas opções deve aparecer primeiro na linha de comando.

note: type: Plain text
en: Use 'git rev-parse' in option parsing mode (see PARSEOPT section below).
pt_BR: Utilize o comando 'git rev-parse' no modo de análise de opções (consulte a seção "PARSEOPT" abaixo).

note: type: Plain text
en: Use 'git rev-parse' in shell quoting mode (see SQ-QUOTE section below). In contrast to the `--sq` option below, this mode does only quoting. Nothing else is done to command input.
pt_BR: Utilize o comando 'git rev-parse' em modo de citação shell (consulte a seção "SQ-QUOTE" abaixo). Ao contrário da opção `--sq` abaixo, este modo apenas cita. Nada mais é feito para comandar a entrada.

note: type: Title ~
en: Options for --parseopt
pt_BR: As opções para `--parseopt`

note: type: Plain text
en: Only meaningful in `--parseopt` mode. Tells the option parser to echo out the first `--` met instead of skipping it.
pt_BR: Apenas faz sentido no modo `--parseopt`. Informa ao analisador das opções para ecoar o primeiro `--` encontrado em vez de ignorá-lo.

note: type: Plain text
en: Only meaningful in `--parseopt` mode.  Lets the option parser stop at the first non-option argument.  This can be used to parse sub-commands that take options themselves.
pt_BR: Apenas faz sentido no modo `--parseopt`.  Permite que o analisador de opções pare no primeiro argumento sem opção.  Pode ser usado para analisar os subcomandos que aceitam essas opções.

note: type: Plain text
en: Only meaningful in `--parseopt` mode. Output the options in their long form if available, and with their arguments stuck.
pt_BR: Apenas faz sentido no modo `--parseopt`. Gere as opções em sua forma longa, caso estejam disponíveis, e com os seus argumentos bloqueados.

note: type: Title ~
en: Options for Filtering
pt_BR: Opções para a filtragem

note: type: Plain text
en: Do not output flags and parameters not meant for 'git rev-list' command.
pt_BR: Não produza opções e parâmetros não destinados ao comando 'git rev-list'.

note: type: Plain text
en: Do not output flags and parameters meant for 'git rev-list' command.
pt_BR: Não produza opções e parâmetros destinados ao comando 'git rev-list'.

note: type: Plain text
en: Do not output non-flag parameters.
pt_BR: Não produza parâmetros que não sejam opções.

note: type: Plain text
en: Do not output flag parameters.
pt_BR: Não gere parâmetros para opções.

note: type: Title ~
en: Options for Output
pt_BR: Opções para a Saída

note: type: Plain text
en: If there is no parameter given by the user, use `<arg>` instead.
pt_BR: Caso não haja nenhum parâmetro informado pelo usuário, em vez disso utilize `<arg>`.

note: type: Plain text
en: Behave as if 'git rev-parse' was invoked from the `<arg>` subdirectory of the working tree.  Any relative filenames are resolved as if they are prefixed by `<arg>` and will be printed in that form.
pt_BR: Comporte-se como se o comando 'git rev-parse' fosse invocado no subdiretório `<arg>` da árvore de trabalho.  Quaisquer nomes dos arquivos relativos são resolvidos como se fossem prefixados através do `<arg>` e serão impressos neste formulário.

note: type: Plain text
en: This can be used to convert arguments to a command run in a subdirectory so that they can still be used after moving to the top-level of the repository.  For example:
pt_BR: Pode ser utilizado para converter os argumentos em um comando executado-o em um subdiretório para que eles ainda possam ser utilizados após a mudança para o nível mais alto do repositório.  Por exemplo:

note: type: Plain text
en: Verify that exactly one parameter is provided, and that it can be turned into a raw 20-byte SHA-1 that can be used to access the object database. If so, emit it to the standard output; otherwise, error out.
pt_BR: Verifique que exatamente um parâmetro seja informado e se pode ser transformado em um SHA-1 com 20 bytes brutos, que possa ser utilizado para acessar o banco de dados do objeto. Em caso positivo, emita-o para a saída padrão; caso contrário, gere um erro.

note: type: Plain text
en: If you want to make sure that the output actually names an object in your object database and/or can be used as a specific type of object you require, you can add the `^{type}` peeling operator to the parameter.  For example, `git rev-parse "$VAR^{commit}"` will make sure `$VAR` names an existing object that is a commit-ish (i.e. a commit, or an annotated tag that points at a commit).  To make sure that `$VAR` names an existing object of any type, `git rev-parse "$VAR^{object}"` can be used.
pt_BR: Caso queira garantir que a saída realmente nomeie um objeto no banco de dados dos objetos e/ou possam ser utilizados como um tipo específico que você precisa, é possível adicionar o operador de remoção `^{type}` ao parâmetro.  Por exemplo, `git rev-parse" $VAR^{commit}"` garantirá que `$VAR` nomeie um objeto já existente que seja um "commit-ish" (ou seja, um commit ou uma tag anotada que aponte para um commit).  Para garantir que o '$VAR` nomeie um objeto já existente de qualquer tipo, `git rev-parse "$VAR^{object}"` pode ser utilizado.

note: type: Plain text
en: Only meaningful in `--verify` mode. Do not output an error message if the first argument is not a valid object name; instead exit with non-zero status silently.  SHA-1s for valid object names are printed to stdout on success.
pt_BR: Apenas faz sentido no modo `--verify`. Não produza uma mensagem de erro caso o primeiro argumento não for um nome válido do objeto; em vez disso, encerre com uma condição diferente de zero silenciosamente.  O SHA-1 para os objetos com nomes válidos que são impressos com êxito no stdout.

note: type: Plain text
en: Usually the output is made one line per flag and parameter.  This option makes output a single line, properly quoted for consumption by shell.  Useful when you expect your parameter to contain whitespaces and newlines (e.g. when using pickaxe `-S` with 'git diff-{asterisk}'). In contrast to the `--sq-quote` option, the command input is still interpreted as usual.
pt_BR: Normalmente, a saída é feita uma linha por opção e parâmetro.  Esta opção gera a saída em uma única linha, devidamente citada para utilização do shell.  Útil quando você espera que o seu parâmetro contenha espaços e novas linhas (como, por exemplo, ao utilizar a picareta `S` com 'git diff-{asterisk}'). Ao contrário da opção `--sq-quote`, a entrada do comando ainda é interpretada como de costume.

note: type: Labeled list
en: --short[=length]
pt_BR: --short[=comprimento]

note: type: Plain text
en: Same as `--verify` but shortens the object name to a unique prefix with at least `length` characters. The minimum length is 4, the default is the effective value of the `core.abbrev` configuration variable (see linkgit:git-config[1]).
pt_BR: O mesmo que `--verify` porém encurta o nome do objeto para um prefixo único com pelo menos um`comprimento` determinado de caracteres. A quantidade mínima é de 4 caracteres, o valor é predefinido na variável de configuração `core.abbrev` (consulte linkgit:git-config[1]).

note: type: Plain text
en: When showing object names, prefix them with '{caret}' and strip '{caret}' prefix from the object names that already have one.
pt_BR: Ao exibir os nomes dos objetos, prefixe-os com '{caret}' e retire o prefixo '{caret}' dos nomes dos objetos que já possuam um.

note: type: Plain text
en: A non-ambiguous short name of the objects name.  The option core.warnAmbiguousRefs is used to select the strict abbreviation mode.
pt_BR: Para um nome abreviado não ambíguo dos nomes dos objetos.  A opção `core.warnAmbiguousRefs` é utilizada para selecionar o modo estrito da abreviação.

note: type: Plain text
en: Usually the object names are output in SHA-1 form (with possible '{caret}' prefix); this option makes them output in a form as close to the original input as possible.
pt_BR: Normalmente, os nomes dos objetos são emitidos em formato SHA-1 (com possível prefixo '{caret}'); essa opção faz com que eles sejam impressos o mais próximo possíveis da entrada original.

note: type: Plain text
en: This is similar to --symbolic, but it omits input that are not refs (i.e. branch or tag names; or more explicitly disambiguating "heads/master" form, when you want to name the "master" branch when there is an unfortunately named tag "master"), and show them as full refnames (e.g. "refs/heads/master").
pt_BR: É semelhante ao `--symbolic`, porém omite a entrada que não seja uma refs (como, por exemplo, os nomes dos ramos ou tags; ou de uma forma explicitamente desambiguante "heads/master", quando você quer nomear a o ramo "master" quando houver uma tag com o nome "master") e mostre-os como "refnames" completos (como, por exemplo, "refs/heads/master").

note: type: Title ~
en: Options for Objects
pt_BR: Opções para os Objetos

note: type: Plain text
en: Show all refs found in `refs/`.
pt_BR: Exibe todas as refs encontradas em `refs/`.

note: type: Labeled list
en: --tags[=pattern]
pt_BR: --tags[=padrão]

note: type: Labeled list
en: --remotes[=pattern]
pt_BR: --remotes[=padrão]

note: type: Plain text
en: Show all branches, tags, or remote-tracking branches, respectively (i.e., refs found in `refs/heads`, `refs/tags`, or `refs/remotes`, respectively).
pt_BR: Exibe todos as ramificações, tags ou ramificações monitoradas remotamente, respectivamente (ou seja, as refs encontradas respectivamente em `refs/heads`, `refs/tags` ou `refs/remotes`).

note: type: Plain text
en: If a `pattern` is given, only refs matching the given shell glob are shown.  If the pattern does not contain a globbing character (`?`, `*`, or `[`), it is turned into a prefix match by appending `/*`.
pt_BR: Caso um `padrão` seja informado, apenas as refs coincidentes com o "shell glob" são exibidos.  Caso o padrão não contenha um caractere curinga (`?`, `*` ou `[`), este será transformado em um prefixo correspondente ao acrescentar `/*`.

note: type: Plain text
en: Show all refs matching the shell glob pattern `pattern`. If the pattern does not start with `refs/`, this is automatically prepended.  If the pattern does not contain a globbing character (`?`, `*`, or `[`), it is turned into a prefix match by appending `/*`.
pt_BR: Exiba todos os árbitros que coincidam com o `padrão` (pattern) do "glob". Caso o padrão não comece com `refs /`, isto será anexado automaticamente.  Caso o padrão não contenha um caractere curinga (`?`, `*` ou `[`), este será transformado em um prefixo correspondente ao acrescentar `/*`.

note: type: Plain text
en: Do not include refs matching '<glob-pattern>' that the next `--all`, `--branches`, `--tags`, `--remotes`, or `--glob` would otherwise consider. Repetitions of this option accumulate exclusion patterns up to the next `--all`, `--branches`, `--tags`, `--remotes`, or `--glob` option (other options or arguments do not clear accumulated patterns).
pt_BR: Não inclua as refs que coincidam com `<glob-pattern>` em que as próximas opções `--all`, `--branches`, `--tags`, `--remotes` ou `--glob` considerariam de outra forma. As repetições destas opções acumulam padrões de exclusão até a próxima opção `--all`, `--branches`, `--tags`, `--remotes` ou `--glob` (outras opções ou argumentos não limpam os padrões acumulados).

note: type: Plain text
en: The patterns given should not begin with `refs/heads`, `refs/tags`, or `refs/remotes` when applied to `--branches`, `--tags`, or `--remotes`, respectively, and they must begin with `refs/` when applied to `--glob` or `--all`. If a trailing '/{asterisk}' is intended, it must be given explicitly.
pt_BR: Os padrões informados não devem começar com `refs/heads`, `refs/tags`, ou `refs/remotes` quando aplicadas as opções `--branches`, `--tags`, ou `--remotes` respectivamente, e devem começar com `refs/` quando for aplicado ao `--glob` ou `--all`. Se a intenção for um delimitador '/{asterisco}', este deve ser utilizado de forma explicita.

note: type: Labeled list
en: --disambiguate=<prefix>
pt_BR: --disambiguate=<prefixo>

note: type: Plain text
en: Show every object whose name begins with the given prefix.  The <prefix> must be at least 4 hexadecimal digits long to avoid listing each and every object in the repository by mistake.
pt_BR: Exiba todos os objetos cujo nome começa com o prefixo informado.  O `<prefixo>` deve ter pelo menos 4 dígitos hexadecimais para evitar ter que listar por engano todos os objetos no repositório.

note: type: Title ~
en: Options for Files
pt_BR: Opções para os Arquivos

note: type: Plain text
en: List the GIT_* environment variables that are local to the repository (e.g. GIT_DIR or GIT_WORK_TREE, but not GIT_EDITOR).  Only the names of the variables are listed, not their value, even if they are set.
pt_BR: Liste as variável de ambiente do GIT_* que são locais no repositório (`GIT_DIR` ou `GIT_WORK_TREE`, mas não o `GIT_EDITOR` por exemplo).  Somente os nomes das variáveis são listadas, não o seu valor, mesmo que estejam definidos.

note: type: Plain text
en: Show `$GIT_DIR` if defined. Otherwise show the path to the .git directory. The path shown, when relative, is relative to the current working directory.
pt_BR: Exibe o `$GIT_DIR` caso seja definido. Caso contrário, exibe o caminho para o diretório .git. O caminho exibido, quando relativo, é relativo ao diretório de trabalho atual.

note: type: Plain text
en: If `$GIT_DIR` is not defined and the current directory is not detected to lie in a Git repository or work tree print a message to stderr and exit with nonzero status.
pt_BR: Caso o `$GIT_DIR` não esteja definido e o diretório atual não for detectado como estando em um repositório Git ou na árvore de trabalho, imprima uma mensagem para stderr e encere com uma condição diferente de zero.

note: type: Plain text
en: Like `--git-dir`, but its output is always the canonicalized absolute path.
pt_BR: Como `--git-dir`, porém sua saída é sempre o caminho absoluto canonizado.

note: type: Plain text
en: Show `$GIT_COMMON_DIR` if defined, else `$GIT_DIR`.
pt_BR: Exibe o `$GIT_COMMON_DIR` caso seja definido, senão `$GIT_DIR`.

note: type: Plain text
en: When the current working directory is below the repository directory print "true", otherwise "false".
pt_BR: Quando o diretório de trabalho atual estiver abaixo do diretório do repositório, imprima 'true', caso contrário, 'false'.

note: type: Plain text
en: When the current working directory is inside the work tree of the repository print "true", otherwise "false".
pt_BR: Quando o diretório de trabalho atual estiver dentro da árvore de trabalho do repositório, imprima 'true', caso contrário, 'false'.

note: type: Plain text
en: When the repository is bare print "true", otherwise "false".
pt_BR: Quando o repositório for simples imprima 'true', caso contrário 'false'.

note: type: Plain text
en: When the repository is shallow print "true", otherwise "false".
pt_BR: Quando o repositório é raso, imprima 'true', caso contrário, 'false'.

note: type: Labeled list
en: --resolve-git-dir <path>
pt_BR: --resolve-git-dir <caminho>

note: type: Plain text
en: Check if <path> is a valid repository or a gitfile that points at a valid repository, and print the location of the repository.  If <path> is a gitfile then the resolved path to the real repository is printed.
pt_BR: Verifique se o <caminho> é um repositório válido ou um 'gitfile' que aponte para um repositório válido e imprima o local do repositório.  Caso o <caminho> seja um gitfile, o caminho resolvido para o repositório real será impresso.

note: type: Labeled list
en: --git-path <path>
pt_BR: --git-path <caminho>

note: type: Plain text
en: Resolve "$GIT_DIR/<path>" and takes other path relocation variables such as $GIT_OBJECT_DIRECTORY, $GIT_INDEX_FILE... into account. For example, if $GIT_OBJECT_DIRECTORY is set to /foo/bar then "git rev-parse --git-path objects/abc" returns /foo/bar/abc.
pt_BR: Resolva "$GIT_DIR/<caminho>" e leve em consideração as outras variáveis de realocação do caminho, como `$GIT_OBJECT_DIRECTORY`, `$GIT_INDEX_FILE`, etc. Caso `$GIT_OBJECT_DIRECTORY` seja definido para '/foo/bar' por exemplo, então o comando "git rev-parse --git-path objects/abc" returna '/foo/bar/abc'.

note: type: Plain text
en: When the command is invoked from a subdirectory, show the path of the top-level directory relative to the current directory (typically a sequence of "../", or an empty string).
pt_BR: Quando o comando é chamado a partir de um subdiretório, exiba o caminho do diretório do nível mais alto em relação ao diretório atual (geralmente uma sequência de "../" ou uma sequência vazia).

note: type: Plain text
en: When the command is invoked from a subdirectory, show the path of the current directory relative to the top-level directory.
pt_BR: Quando o comando é invocado a partir de um subdiretório, exiba o caminho do diretório atual em relação ao nível mais alto do diretório.

note: type: Plain text
en: Show the absolute path of the top-level directory of the working tree. If there is no working tree, report an error.
pt_BR: Exibe o caminho absoluto do diretório no nível mais da árvore de trabalho. Caso não haja uma árvore em funcionamento, relate um erro.

note: type: Plain text
en: Show the absolute path of the root of the superproject's working tree (if exists) that uses the current repository as its submodule.  Outputs nothing if the current repository is not used as a submodule by any project.
pt_BR: Exibe o caminho absoluto da raiz da árvore de trabalho do superprojeto (caso exista) que usa o repositório atual como sendo o seu submódulo.  Não produz nada caso o repositório atual não eja usado como um submódulo por nenhum projeto.

note: type: Plain text
en: Show the path to the shared index file in split index mode, or empty if not in split-index mode.
pt_BR: Exibe o caminho para o arquivo do índice compartilhado no modo de índice dividido ou vazio caso não esteja no modo do índice dividido.

note: type: Plain text
en: Show the object format (hash algorithm) used for the repository for storage inside the `.git` directory, input, or output. For input, multiple algorithms may be printed, space-separated.  If not specified, the default is "storage".
pt_BR: Exiba o formato do objeto (algoritmo hash) usado no repositório para o armazenamento dentro do diretório `.git`, entrada ou saída. Para a entrada, vários algoritmos podem ser impressos, separados por espaço.  Caso não seja definido, a predefinição retorna para "storage".

note: type: Title ~
en: Other Options
pt_BR: Outras Opções

note: type: Plain text
en: Parse the date string, and output the corresponding --max-age= parameter for 'git rev-list'.
pt_BR: Analise a cadeia de caracteres da data e exiba o parâmetro --max-age= correspondente para 'git rev-list'.

note: type: Plain text
en: Parse the date string, and output the corresponding --min-age= parameter for 'git rev-list'.
pt_BR: Analise a cadeia de caracteres da data e exiba o parâmetro `--max-age=` que corresponda para o 'git rev-list'.

note: type: Plain text
en: Flags and parameters to be parsed.
pt_BR: As opções e os parâmetros que serão analisados.

note: type: Plain text
en: In `--parseopt` mode, 'git rev-parse' helps massaging options to bring to shell scripts the same facilities C builtins have. It works as an option normalizer (e.g. splits single switches aggregate values), a bit like `getopt(1)` does.
pt_BR: No modo `--parseopt`, o comando 'git rev-parse' ajuda no processamento das opções trazendo aos scripts shell as mesmas facilidades integradas que o 'C' possuí. Funciona como um normalizador das opções (como por exemplo, divide trocas únicas com valores agregados), quase como o que o `getopt(1)` faz.

note: type: Plain text
en: It takes on the standard input the specification of the options to parse and understand, and echoes on the standard output a string suitable for `sh(1)` `eval` to replace the arguments with normalized ones.  In case of error, it outputs usage on the standard error stream, and exits with code 129.
pt_BR: Ele assume na entrada padrão a definição das opções para analisar e entender, e ecoa na saída uma sequência adequada para o `sh(1)` `eval` para substituir os argumentos por argumentos normalizados.  Em caso de erro, ele gera a utilização do fluxo de erros predefinidos e encerra com o código 129.

note: type: Plain text
en: Note: Make sure you quote the result when passing it to `eval`.  See below for an example.
pt_BR: Observação: Certifique-se de citar o resultado ao encaminhá-lo para o `eval`.  Consulte um exemplo abaixo.

note: type: Title ~
en: Input Format
pt_BR: Formato de Entrada

note: type: Plain text
en: 'git rev-parse --parseopt' input format is fully text based. It has two parts, separated by a line that contains only `--`. The lines before the separator (should be one or more) are used for the usage.  The lines after the separator describe the options.
pt_BR: O formato da entrada do comando 'git rev-parse --parseopt' é texto puro. Possui duas partes, separadas por uma linha que contém apenas `--`. As linhas antes do separador (devem ser uma ou mais) são utilizadas para o uso.  As linhas após o separador definem as opções.

note: type: Plain text
en: Each line of options has this format:
pt_BR: As opções de cada linha possui este formato:

note: type: Plain text
en: its format is the short option character, then the long option name separated by a comma. Both parts are not required, though at least one is necessary. May not contain any of the `<flags>` characters.  `h,help`, `dry-run` and `f` are examples of correct `<opt-spec>`.
pt_BR: o seu formato é o caractere curto da opção e, em seguida, o nome da opção longa, separado por vírgula. Ambas as partes não são necessárias, embora pelo menos uma seja necessária. Não pode conter nenhum dos caracteres `<flags>`.  `h,help`, `dry-run` e `f` são exemplos corretos do `<opt-spec>`.

note: type: Plain text
en: `<flags>` are of `*`, `=`, `?` or `!`.
pt_BR: `<flags>` são do `*`, `=`, `?` ou `!`.

note: type: Plain text
en: Use `=` if the option takes an argument.
pt_BR: Utilize `=` caso a opção receba um argumento.

note: type: Plain text
en: Use `?` to mean that the option takes an optional argument. You probably want to use the `--stuck-long` mode to be able to unambiguously parse the optional argument.
pt_BR: Utilize `?` para dar sentido que a opção aceita um argumento opcional. Você provavelmente quer utilzar o modo `--stuck-long` para poder analisar de forma inequívoca o argumento opcional.

note: type: Plain text
en: Use `*` to mean that this option should not be listed in the usage generated for the `-h` argument. It's shown for `--help-all` as documented in linkgit:gitcli[7].
pt_BR: Utilize `*` para indicar que esta opção não deve ser listada no uso gerado para a opção `-h`. É exibido para `--help-all` conforme documentado em linkgit:gitcli[7].

note: type: Plain text
en: Use `!` to not make the corresponding negated long option available.
pt_BR: Utilize `!` para não fazer com que a opção longa que foi negada esteja disponível.

note: type: Plain text
en: `<arg-hint>`, if specified, is used as a name of the argument in the help output, for options that take arguments. `<arg-hint>` is terminated by the first whitespace.  It is customary to use a dash to separate words in a multi-word argument hint.
pt_BR: Caso `<arg-hint>` seja definido, é usado como um nome do argumento na saída da ajuda, para as opções que aceitem os argumentos. O `<arg-hint>` é finalizado através do primeiro espaço.  É habitual utilizar um traço para separar as palavras em uma dica de um argumento com várias palavras.

note: type: Plain text
en: The remainder of the line, after stripping the spaces, is used as the help associated to the option.
pt_BR: O restante da linha, depois dos espaços removidos, é usado como ajuda associada à opção.

note: type: Plain text
en: Blank lines are ignored, and lines that don't match this specification are used as option group headers (start the line with a space to create such lines on purpose).
pt_BR: As linhas em branco são ignoradas e as linhas que não coincidam com esta especificação são utilizadas como cabeçalhos dos grupos das opções (inicie a linha com um espaço para criar essas linhas de propósito).

note: type: delimited block -
en: OPTS_SPEC="\
    some-command [<options>] <args>...
pt_BR: OPTS_SPEC="\
    algum-comando [<opções>] <args>...

note: type: delimited block -
en: some-command does foo and bar!
    --
pt_BR: algum-comando faz 'foo' e 'bar'!
    --

note: type: delimited block -
en: h,help    show the help
pt_BR: h,help    exibe a ajuda

note: type: delimited block -
en: foo       some nifty option --foo
    bar=      some cool option --bar with an argument
    baz=arg   another cool option --baz with a named argument
    qux?path  qux may take a path argument but has meaning by itself
pt_BR: foo       alguma opção bonita --foo
    bar=      alguma opção bacana --bar com um argumento
    baz=arg   outra opção bacana --baz com um argumento definido
    qux?path  qux talvez tenha um caminho como argumento porém significa ele mesmo

note: type: delimited block -
en:   An option group Header
    C?        option C with an optional argument"
pt_BR:   Um cabeçalho do grupo de opções
    C?        opção 'C' com um argumento opcional"

note: type: Title ~
en: Usage text
pt_BR: Texto de uso

note: type: Plain text
en: When `"$@"` is `-h` or `--help` in the above example, the following usage text would be shown:
pt_BR: Quando `"$@"` is `-h` ou `--help` no exemplo acima, o seguinte texto de utilização será exibido:

note: type: delimited block -
en: usage: some-command [<options>] <args>...
pt_BR: utilização: algum-comando [<opções>] <args>...

note: type: delimited block -
en:     some-command does foo and bar!
pt_BR:     algum-comando faz 'foo' e 'bar'!

note: type: delimited block -
en:     -h, --help            show the help
        --foo                 some nifty option --foo
        --bar ...             some cool option --bar with an argument
        --baz <arg>           another cool option --baz with a named argument
        --qux[=<path>]        qux may take a path argument but has meaning by itself
pt_BR:     -h, --help            exibe a ajuda
        --foo                 alguma opção bacana --foo
        --bar ...             alguma opção legal --bar com um argumento
        --baz <arg>           outra opção legal --baz com um determinado argumento
        --qux[=<caminho>]     o qux pode utilizar um argumento para o caminho mas significa ele mesmo

note: type: delimited block -
en: An option group Header
        -C[...]               option C with an optional argument
pt_BR: Um cabeçalho do grupo de opções
        -C[...]               opção C com um argumento opcional

note: type: Plain text
en: In `--sq-quote` mode, 'git rev-parse' echoes on the standard output a single line suitable for `sh(1)` `eval`. This line is made by normalizing the arguments following `--sq-quote`. Nothing other than quoting the arguments is done.
pt_BR: No modo `--sq-quote`, o comando 'git rev-parse' ecoa na saída padrão uma única linha adequada para `sh (1)` `eval`. Esta linha é feita normalizando os argumentos após a opção `--sq-quote`. Nada mais é feito além de citar os argumentos.

note: type: Plain text
en: If you want command input to still be interpreted as usual by 'git rev-parse' before the output is shell quoted, see the `--sq` option.
pt_BR: Caso queira que o comando de entrada ainda seja interpretada como de costume pelo comando `git rev-parse` antes da saída ser citada pela shell, consulte a opção `--sq`.

note: type: delimited block -
en: $ cat >your-git-script.sh <<\EOF
    #!/bin/sh
    args=$(git rev-parse --sq-quote "$@")   # quote user-supplied arguments
    command="git frotz -n24 $args"          # and use it inside a handcrafted
    					# command line
    eval "$command"
    EOF
pt_BR: $ cat >your-git-script.sh <<\EOF
    #!/bin/sh
    args=$(git rev-parse --sq-quote "$@")   # cita os argumentos utilizados pelo usuário
    command="git frotz -n24 $args"          # e utilize-o dentro de uma
    					# linha de comando artesanal
    eval "$command"
    EOF

note: type: Plain text
en: Print the object name of the current commit:
pt_BR: Imprima o nome do objeto do commit atual:

note: type: Plain text
en: Print the commit object name from the revision in the $REV shell variable:
pt_BR: Imprima o nome do objeto do commit a partir da revisão na variável shell '$REV':

note: type: Plain text
en: This will error out if $REV is empty or not a valid revision.
pt_BR: Isso causará um erro caso '$REV' esteja vazio ou não seja uma revisão válida.

note: type: Plain text
en: Similar to above:
pt_BR: Semelhante ao acima:

note: type: Plain text
en: but if $REV is empty, the commit object name from master will be printed.
pt_BR: porém caso '$REV' esteja vazia, o nome do objeto do commit vindo do "master" será impresso.

note: type: Plain text
en: git-rm - Remove files from the working tree and from the index
pt_BR: git-rm - Remove os arquivos da árvore de trabalho e do índice

note: type: Plain text
en: 'git rm' [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]
    	  [--quiet] [--pathspec-from-file=<file> [--pathspec-file-nul]]
    	  [--] [<pathspec>...]
pt_BR: 'git rm' [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]
    	  [--quiet] [--pathspec-from-file=<arquivo> [--pathspec-file-nul]]
    	  [--] [<pathspec>...]

note: type: Plain text
en: Remove files matching pathspec from the index, or from the working tree and the index. `git rm` will not remove a file from just your working directory. (There is no option to remove a file only from the working tree and yet keep it in the index; use `/bin/rm` if you want to do that.) The files being removed have to be identical to the tip of the branch, and no updates to their contents can be staged in the index, though that default behavior can be overridden with the `-f` option.  When `--cached` is given, the staged content has to match either the tip of the branch or the file on disk, allowing the file to be removed from just the index.
pt_BR: Remove os arquivos correspondentes ao `pathspec` do índice, ou da árvore de trabalho e do índice. O comando `git rm` não removerá um arquivo apenas do seu diretório de trabalho. (Não há opção para remover um arquivo apenas da árvore de trabalho e ainda mantê-lo no índice; utilize `/bin/rm` caso queira fazer isso.) Os arquivos que estão sendo removidos devem ser idênticos ao cume do ramo e nenhuma atualização do seu conteúdo pode ser preparada no índice, embora este comportamento predefinido possa ser substituído pela opção `-f `.  Quando `--cached` é utilizado, o conteúdo escalonado deve corresponder ao cume do ramo ou ao arquivo no disco, permitindo que o arquivo seja removido no índice apenas.

note: type: Plain text
en: Files to remove.  A leading directory name (e.g. `dir` to remove `dir/file1` and `dir/file2`) can be given to remove all files in the directory, and recursively all sub-directories, but this requires the `-r` option to be explicitly given.
pt_BR: Arquivos para serem removidos.  Um nome do diretório principal (por exemplo, `dir` para remover `dir/arquivo1` e `dir/arquivo2`) pode ser utilizadopara remover todos os arquivos do diretório e recursivamente de todos os subdiretórios, porém isso requer o uso da opção `-r` de forma explicita.

note: type: Plain text
en: The command removes only the paths that are known to Git.
pt_BR: O comando remove apenas os caminhos que sejam informados pelo Git.

note: type: Plain text
en: File globbing matches across directory boundaries.  Thus, given two directories `d` and `d2`, there is a difference between using `git rm 'd*'` and `git rm 'd/*'`, as the former will also remove all of directory `d2`.
pt_BR: As coincidência do mascaramento do nome do arquivo através dos limites do diretório.  Assim, os dados dos dois diretórios `d` e `d2`, existe uma diferença entre o uso do comando `git rm 'd*'` e `git rm 'd/*'`, pois o primeiro também removerá todo o diretório `d2` .

note: type: Plain text
en: Override the up-to-date check.
pt_BR: Substitua a verificação atualizada.

note: type: Plain text
en: Don't actually remove any file(s).  Instead, just show if they exist in the index and would otherwise be removed by the command.
pt_BR: Na verdade, não remova nenhum arquivo.  Em vez disso, exiba apenas se eles existem no índice e caso contrário, seriam removidos pelo comando.

note: type: Plain text
en: Allow recursive removal when a leading directory name is given.
pt_BR: Permita a remoção recursiva quando um nome do diretório principal for informado.

note: type: Plain text
en: Use this option to unstage and remove paths only from the index.  Working tree files, whether modified or not, will be left alone.
pt_BR: Utilize esta opção para desestabilizar e remover os caminhos do índice apenas.  Os arquivos da árvore de trabalho, modificados ou não, serão deixados em paz.

note: type: Plain text
en: Exit with a zero status even if no files matched.
pt_BR: Encerre com uma condição zero, ainda que não haja a coincidência com nenhum arquivo.

note: type: Plain text
en: `git rm` normally outputs one line (in the form of an `rm` command)  for each file removed. This option suppresses that output.
pt_BR: O comando `git rm` normalmente gera uma linha (na forma de um comando `rm`)  para cada arquivo removido. Esta opção suprime essa saída.

note: type: Title -
en: REMOVING FILES THAT HAVE DISAPPEARED FROM THE FILESYSTEM
pt_BR: REMOVENDO OS ARQUIVOS QUE DESAPARECERAM DO SISTEMA DE ARQUIVOS

note: type: Plain text
en: There is no option for `git rm` to remove from the index only the paths that have disappeared from the filesystem. However, depending on the use case, there are several ways that can be done.
pt_BR: Não há uma opção para o comando `git rm` para remover do índice apenas os caminhos que desapareceram do sistema de arquivos. No entanto, dependendo do caso, há várias maneiras de se fazer isso.

note: type: Title ~
en: Using ``git commit -a''
pt_BR: Utilizando o `git commit -a`

note: type: Plain text
en: If you intend that your next commit should record all modifications of tracked files in the working tree and record all removals of files that have been removed from the working tree with `rm` (as opposed to `git rm`), use `git commit -a`, as it will automatically notice and record all removals.  You can also have a similar effect without committing by using `git add -u`.
pt_BR: Caso tenha pretensão de que o seu próximo commit registre todas as modificações dos arquivos rastreados na árvore de trabalho e registre todas as remoções dos arquivos que foram removidos da árvore de trabalho com `rm` (ao contrário de `git rm`), utilize `git commit -a`, pois alertará e registrará automaticamente todas as remoções.  É possível ter também um efeito semelhante sem fazer um commit utilizando o comando `git add -u`.

note: type: Title ~
en: Using ``git add -A''
pt_BR: Utilizando `git add -A`

note: type: Plain text
en: When accepting a new code drop for a vendor branch, you probably want to record both the removal of paths and additions of new paths as well as modifications of existing paths.
pt_BR: Ao aceitar um novo código para o fornecedor de um ramo, você provavelmente deseja registrar a remoção dos caminhos e as adições dos novos caminhos, bem como as modificações dos caminhos já existentes.

note: type: Plain text
en: Typically you would first remove all tracked files from the working tree using this command:
pt_BR: Normalmente, você primeiro remove todos os arquivos rastreados da árvore de trabalho utilizando este comando:

note: type: Plain text
en: and then untar the new code in the working tree. Alternately you could 'rsync' the changes into the working tree.
pt_BR: e descompacte o novo código na árvore de trabalho. Como alternativa, você pode usar o comando 'rsync' nas alterações na árvore de trabalho.

note: type: Plain text
en: After that, the easiest way to record all removals, additions, and modifications in the working tree is:
pt_BR: Depois disso, a maneira mais fácil de registrar todas as remoções, adições e modificações na árvore de trabalho é:

note: type: Plain text
en: See linkgit:git-add[1].
pt_BR: Consulte linkgit:git-add[1].

note: type: Title ~
en: Other ways
pt_BR: Outras maneiras

note: type: Plain text
en: If all you really want to do is to remove from the index the files that are no longer present in the working tree (perhaps because your working tree is dirty so that you cannot use `git commit -a`), use the following command:
pt_BR: Se tudo o que você realmente deseja é remover do índice os arquivos que não estão mais presentes na árvore de trabalho (talvez porque a sua árvore de trabalho esteja suja e você não possa usar o comando `git commit -a`), utilize o seguinte comando:

note: type: Plain text
en: Only submodules using a gitfile (which means they were cloned with a Git version 1.7.8 or newer) will be removed from the work tree, as their repository lives inside the .git directory of the superproject. If a submodule (or one of those nested inside it)  still uses a .git directory, `git rm` will move the submodules git directory into the superprojects git directory to protect the submodule's history. If it exists the submodule.<name> section in the linkgit:gitmodules[5] file will also be removed and that file will be staged (unless --cached or -n are used).
pt_BR: Somente os submódulos que usam um arquivo git (o que significa que foram clonados com uma versão 1.7.8 ou mais recente do Git) serão removidos da árvore de trabalho, pois seu repositório vive dentro do diretório .git do `superproject`. Caso um submódulo (ou um dos aninhados dentro dele) ainda utilize um diretório .git, `git rm` moverá o diretório dos submódulos git para o diretório `superprojects` git para proteger o histórico do submódulo. Caso exista a seção submodule.<nome> no arquivo linkgit:gitmodules[5] também será removido e esse arquivo será preparado (a menos que `--cached` ou `-n` sejam utilizados).

note: type: Plain text
en: A submodule is considered up to date when the HEAD is the same as recorded in the index, no tracked files are modified and no untracked files that aren't ignored are present in the submodules work tree.  Ignored files are deemed expendable and won't stop a submodule's work tree from being removed.
pt_BR: Um submódulo é considerado atualizado quando `HEAD` for o mesmo que o registrado no índice, nenhum arquivo rastreado é modificado e nenhum arquivo que não for rastreado não é ignorado, está presente na árvore de trabalho do submódulo.  Os arquivos ignorados são considerados dispensáveis e não impedem que a árvore de trabalho de um submódulo seja removida.

note: type: Plain text
en: If you only want to remove the local checkout of a submodule from your work tree without committing the removal, use linkgit:git-submodule[1] `deinit` instead. Also see linkgit:gitsubmodules[7] for details on submodule removal.
pt_BR: Caso queira remover apenas a averiguação local de um submódulo vindo da sua árvore de trabalho sem fazer o commit de remoção, em vez disso utilize o linkgit:git-submodule[1] `deinit`. Para obter mais detalhes sobre a remoção do submódulo, veja também linkgit:gitsubmodules[7].

note: type: Plain text
en: Removes all `*.txt` files from the index that are under the `Documentation` directory and any of its subdirectories.
pt_BR: Remove todos os arquivos `* .txt` do índice que estão no diretório `Documentation` e em qualquer um dos seus subdiretórios.

note: type: Plain text
en: Note that the asterisk `*` is quoted from the shell in this example; this lets Git, and not the shell, expand the pathnames of files and subdirectories under the `Documentation/` directory.
pt_BR: Note que o asterisco `*` é citado no shell neste exemplo; isso permite que o Git e não o shell, expanda os nomes dos caminhos dos arquivos e subdiretórios no diretório `Documentation/`.

note: type: Plain text
en: Because this example lets the shell expand the asterisk (i.e. you are listing the files explicitly), it does not remove `subdir/git-foo.sh`.
pt_BR: Como este exemplo permite que o shell expanda o asterisco (ou seja, você está listando os arquivos explicitamente), ele não considera o `subdir/git-foo.sh`.

note: type: Plain text
en: Each time a superproject update removes a populated submodule (e.g. when switching between commits before and after the removal) a stale submodule checkout will remain in the old location. Removing the old directory is only safe when it uses a gitfile, as otherwise the history of the submodule will be deleted too. This step will be obsolete when recursive submodule update has been implemented.
pt_BR: Sempre que uma atualização do `superproject` remove um submódulo preenchido (por exemplo, ao alternar entre commits antes e após a remoção), um checkout obsoleto do submódulo permanece no local antigo. A remoção do diretório antigo só é segura quando ele usa um `gitfile`; caso contrário, o histórico do submódulo também será excluído. Esta etapa será obsoleta quando a atualização recursiva do submódulo for implementada.

note: type: Plain text
en: git-send-email - Send a collection of patches as emails
pt_BR: git-send-email - Envia uma coleção de patches como e-mails

note: type: Plain text
en: 'git send-email' [<options>] <file|directory|rev-list options>...
    'git send-email' --dump-aliases
pt_BR: 'git send-email' [<opções>] <arquivo|diretório|rev-list opções>...
    'git send-email' --dump-aliases

note: type: Plain text
en: Takes the patches given on the command line and emails them out.  Patches can be specified as files, directories (which will send all files in the directory), or directly as a revision list.  In the last case, any format accepted by linkgit:git-format-patch[1] can be passed to git send-email.
pt_BR: Toma as correções informadas na linha de comando e as envia por e-mail.  Os patches podem ser utilizados como arquivos, diretórios (que enviarão todos os arquivos no diretório) ou diretamente como uma lista de revisão.  No último caso, qualquer formato aceito pelo linkgit:git-format-patch[1] pode ser passado para o git-send-email.

note: type: Plain text
en: The header of the email is configurable via command-line options.  If not specified on the command line, the user will be prompted with a ReadLine enabled interface to provide the necessary information.
pt_BR: O cabeçalho do e-mail é configurável através das opções da linha de comando.  Se não utilizado na linha de comandos, o usuário será solicitado a informar uma interface ativada para o ReadLine que forneça as informações que forem necessárias.

note: type: Plain text
en: There are two formats accepted for patch files:
pt_BR: Existem dois formatos aceitos para os arquivos patch:

note: type: Plain text
en: mbox format files
pt_BR: arquivos no formato mbox

note: type: Plain text
en: This is what linkgit:git-format-patch[1] generates.  Most headers and MIME formatting are ignored.
pt_BR: Isto é o que o linkgit:git-format-patch[1] gera.  Grande parte dos cabeçalhos e a formatação MIME são ignorados.

note: type: Plain text
en: The original format used by Greg Kroah-Hartman's 'send_lots_of_email.pl' script
pt_BR: O formato original utilizado pelo script 'send_lots_of_email.pl' feito pelo Greg Kroah-Hartman's

note: type: Plain text
en: This format expects the first line of the file to contain the "Cc:" value and the "Subject:" of the message as the second line.
pt_BR: Este formato espera que a primeira linha do arquivo tenha o valor "Cc:" e o "Assunto:" da mensagem como a segunda linha.

note: type: Title ~
en: Composing
pt_BR: Composição

note: type: Plain text
en: Review and edit each patch you're about to send. Default is the value of `sendemail.annotate`. See the CONFIGURATION section for `sendemail.multiEdit`.
pt_BR: Revise e edite cada patch que você está prestes a enviar. O padrão é o valor de 'sendemail.annotate'. Consulte a seção CONFIGURAÇÃO de 'sendemail.multiEdit'.

note: type: Labeled list
en: --bcc=<address>,...
pt_BR: --bcc=<endereço>,...

note: type: Plain text
en: Specify a "Bcc:" value for each email. Default is the value of `sendemail.bcc`.
pt_BR: Especifique um valor "Cco:" para cada e-mail. A predefinição é o valor do `sendemail.bcc`.

note: type: Plain text
en: This option may be specified multiple times.
pt_BR: Esta opção pode ser utilizada várias vezes.

note: type: Labeled list
en: --cc=<address>,...
pt_BR: --cc=<endereço>,...

note: type: Plain text
en: Specify a starting "Cc:" value for each email.  Default is the value of `sendemail.cc`.
pt_BR: Especifique um valor inicial "Cc:" para cada e-mail.  A predefinição é o valor do `sendemail.cc`.

note: type: Plain text
en: Invoke a text editor (see GIT_EDITOR in linkgit:git-var[1])  to edit an introductory message for the patch series.
pt_BR: Invoque um editor de texto (consulte `GIT_EDITOR` no linkgit:git-var[1]) para editar uma mensagem introdutória para a série de patches.

note: type: Plain text
en: When `--compose` is used, git send-email will use the From, Subject, and In-Reply-To headers specified in the message. If the body of the message (what you type after the headers and a blank line) only contains blank (or Git: prefixed) lines, the summary won't be sent, but From, Subject, and In-Reply-To headers will be used unless they are removed.
pt_BR: Quando a opção `--compose` é utilizada, o 'git send-email' utilizará os cabeçalhos `From` (De), `Subject` (Assunto), and `In-Reply-To` (Em resposta a) definidos na mensagem. Caso o corpo da mensagem (a parte onde você digita após os cabeçalhos e uma linha em branco) contenha apenas linhas em branco (ou Git: prefixadas), o resumo não será enviado, porém os cabeçalhos "De", "Assunto" e "Em resposta a" serão utilizados, a menos que sejam removidos.

note: type: Plain text
en: Missing From or In-Reply-To headers will be prompted for.
pt_BR: Os cabeçalhos ausentes "From" ou "In-Reply-To" (em resposta a) serão solicitados.

note: type: Plain text
en: See the CONFIGURATION section for `sendemail.multiEdit`.
pt_BR: Consulte a seção CONFIGURAÇÃO para a opção de configuração `sendemail.multiEdit`.

note: type: Labeled list
en: --from=<address>
pt_BR: --from=<endereço>

note: type: Plain text
en: Specify the sender of the emails.  If not specified on the command line, the value of the `sendemail.from` configuration option is used.  If neither the command-line option nor `sendemail.from` are set, then the user will be prompted for the value.  The default for the prompt will be the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not set, as returned by "git var -l".
pt_BR: Especifique o destinatário dos e-mails.  Caso não seja definido na linha de comando, o valor da opção de configuração `sendemail.from` é utilizado.  Caso nem a opção da linha de comando nem a opção de configuração `sendemail.from` estejam definidos, então o usuário será avisado para informar o valor.  O valor predefinido para o prompt será o valor do `GIT_AUTHOR_IDENT` ou `GIT_COMMITTER_IDENT` caso isso não esteja definido, conforme retornado pelo `git var -l`.

note: type: Labeled list
en: --reply-to=<address>
pt_BR: --reply-to=<endereço>

note: type: Plain text
en: Specify the address where replies from recipients should go to.  Use this if replies to messages should go to another address than what is specified with the --from parameter.
pt_BR: Define o endereço para onde as respostas dos destinatários devem ir.  Use isso se as respostas às mensagens forem para outro endereço além do especificado com o parâmetro `--from`.

note: type: Labeled list
en: --in-reply-to=<identifier>
pt_BR: --in-reply-to=<identificador>

note: type: Plain text
en: Make the first mail (or all the mails with `--no-thread`) appear as a reply to the given Message-Id, which avoids breaking threads to provide a new patch series.  The second and subsequent emails will be sent as replies according to the `--[no-]chain-reply-to` setting.
pt_BR: Faça o primeiro e-mail (ou todos os e-mails com `--no-thread`) aparecer como uma resposta ao ID da mensagem informada, o que evita as quebras dos encadeamentos provendo uma nova série de patches.  O segundo e-mail e os seguintes serão enviados como resposta de acordo com a configuração `--[no-]chain-reply-to`.

note: type: Plain text
en: So for example when `--thread` and `--no-chain-reply-to` are specified, the second and subsequent patches will be replies to the first one like in the illustration below where `[PATCH v2 0/3]` is in reply to `[PATCH 0/2]`:
pt_BR: Assim, por exemplo, quando `--thread` e `--no-chain-reply-to` sejam utilizados, o segundo e os patches subsequentes serão as respostas para o primeiro, como na ilustração abaixo, onde `[PATCH v2 0/3]` está como resposta para `[PATCH 0/2]`:

note: type: Plain text
en:   [PATCH 0/2] Here is what I did...
        [PATCH 1/2] Clean up and tests
        [PATCH 2/2] Implementation
        [PATCH v2 0/3] Here is a reroll
          [PATCH v2 1/3] Clean up
          [PATCH v2 2/3] New tests
          [PATCH v2 3/3] Implementation
pt_BR:   [PATCH 0/2] Aqui está o que eu fiz...
        [PATCH 1/2] Limpeza e testes
        [PATCH 2/2] Implementação
        [PATCH v2 0/3] Aqui está uma nova rolagem
          [PATCH v2 1/3] Limpar
          [PATCH v2 2/3] Novos testes
          [PATCH v2 3/3] Implementação

note: type: Plain text
en: Only necessary if --compose is also set.  If --compose is not set, this will be prompted for.
pt_BR: Somente é necessário caso `--compose` seja definido.  Caso `--compose` não seja definido, será solicitado ao usuário para informar um.

note: type: Labeled list
en: --subject=<string>
pt_BR: --subject=<texto>

note: type: Plain text
en: Specify the initial subject of the email thread.  Only necessary if --compose is also set.  If --compose is not set, this will be prompted for.
pt_BR: Informe o assunto inicial do encadeamento do e-mail.  Somente é necessário caso `--compose` seja definido.  Caso `--compose` não seja definido, será solicitado ao usuário para informar um.

note: type: Labeled list
en: --to=<address>,...
pt_BR: --to=<endereço>,...

note: type: Plain text
en: Specify the primary recipient of the emails generated. Generally, this will be the upstream maintainer of the project involved. Default is the value of the `sendemail.to` configuration value; if that is unspecified, and --to-cmd is not specified, this will be prompted for.
pt_BR: Define o destinatário principal dos e-mails que forem gerados. Em geral, este será o mantenedor "upstream" do projeto envolvido. A predefinição é o valor da opção de configuração `sendemail.transferEncoding`; caso isso não seja definido, a predefinição retorna para `auto`.

note: type: Labeled list
en: --8bit-encoding=<encoding>
pt_BR: --8bit-encoding=<codificação>

note: type: Plain text
en: When encountering a non-ASCII message or subject that does not declare its encoding, add headers/quoting to indicate it is encoded in <encoding>.  Default is the value of the 'sendemail.assume8bitEncoding'; if that is unspecified, this will be prompted for if any non-ASCII files are encountered.
pt_BR: Quando encontrar uma mensagem não ASCII ou um assunto que não declare a sua codificação, adicione os cabeçalhos/citações para indicar que estão codificados com <codificação>.  A predefinição é o valor do 'sendemail.assume8bitEncoding'; caso não esteja definido, o usuário será questionado caso qualquer arquivo não ASCII seja encontrado.

note: type: Plain text
en: Note that no attempts whatsoever are made to validate the encoding.
pt_BR: Observe que nenhuma tentativa é feita para validar a codificação.

note: type: Labeled list
en: --compose-encoding=<encoding>
pt_BR: --compose-encoding=<codificação>

note: type: Plain text
en: Specify encoding of compose message. Default is the value of the 'sendemail.composeencoding'; if that is unspecified, UTF-8 is assumed.
pt_BR: Define a codificação da mensagem que será escrita. A predefinição é o valor da opção de configuração 'sendemail.composeencoding'; caso não esteja definido, assume-se o UTF-8.

note: type: Plain text
en: Specify the transfer encoding to be used to send the message over SMTP.  7bit will fail upon encountering a non-ASCII message.  quoted-printable can be useful when the repository contains files that contain carriage returns, but makes the raw patch email file (as saved from a MUA) much harder to inspect manually.  base64 is even more fool proof, but also even more opaque.  auto will use 8bit when possible, and quoted-printable otherwise.
pt_BR: Define a codificação da transferência que será utilizada para enviar a mensagem através do SMTP.  O 7bit falhará caso encontre uma mensagem não ASCII.  a citação para impressão pode ser útil quando o repositório contém arquivos que contenham retornos de carro, porém dificulta muito a inspeção manual do arquivo de e-mail do patch bruto (com é gravado através de um MUA).  a base64 é ainda mais à prova de idiotas, porém também é ainda mais estúpido.  auto utilizará 8bit quando for possível e, caso contrário, será citado para impressão.

note: type: Plain text
en: Default is the value of the `sendemail.transferEncoding` configuration value; if that is unspecified, default to `auto`.
pt_BR: A predefinição é o valor da configuração `sendemail.transferEncoding`; caso isso não seja definido, a predefinição retorna para `auto`.

note: type: Plain text
en: Add (or prevent adding) the "X-Mailer:" header.  By default, the header is added, but it can be turned off by setting the `sendemail.xmailer` configuration variable to `false`.
pt_BR: Adicione (ou evite adicionar) o cabeçalho "X-Mailer:".  A predefinição é que o cabeçalho seja adicionado, porém pode ser desligado redefinindo a variável de configuração `sendemail.xmailer` como `false`.

note: type: Title ~
en: Sending
pt_BR: Enviando

note: type: Labeled list
en: --envelope-sender=<address>
pt_BR: --envelope-sender=<endereço>

note: type: Plain text
en: Specify the envelope sender used to send the emails.  This is useful if your default address is not the address that is subscribed to a list. In order to use the 'From' address, set the value to "auto". If you use the sendmail binary, you must have suitable privileges for the -f parameter.  Default is the value of the `sendemail.envelopeSender` configuration variable; if that is unspecified, choosing the envelope sender is left to your MTA.
pt_BR: Define o envelope do remetente utilizado para enviar os e-mails.  É útil caso o seu endereço predefinido não seja o endereço registrado em uma lista. Para usar o endereço 'De', defina o valor para "auto". Caso utilize o binário do 'sendmail', você deverá ter privilégios adequados para poder utilizar o parâmetro `-f`.  A predefinição é o valor da variável de configuração `sendemail.envelopeSender`; caso não esteja definido, a escolha do envelope do remetente é deixada para o seu MTA.

note: type: Labeled list
en: --smtp-encryption=<encryption>
pt_BR: --smtp-encryption=<criptografia>

note: type: Plain text
en: Specify the encryption to use, either 'ssl' or 'tls'.  Any other value reverts to plain SMTP.  Default is the value of `sendemail.smtpEncryption`.
pt_BR: Define a criptografia que será utilizada, 'ssl' ou 'tls'.  Qualquer outro valor é revertido para o SMTP simples.  A predefinição é o valor da opção de configuração `sendemail.smtpEncryption`.

note: type: Plain text
en: Specifies the Fully Qualified Domain Name (FQDN) used in the HELO/EHLO command to the SMTP server.  Some servers require the FQDN to match your IP address.  If not set, git send-email attempts to determine your FQDN automatically.  Default is the value of `sendemail.smtpDomain`.
pt_BR: Define o Nome de Domínio Totalmente Qualificado (FQDN) utilizado no comando HELO/EHLO para o servidor SMTP.  Alguns servidores exigem que o FQDN corresponda ao seu endereço de IP.  Caso não esteja definido, o comando `git send-email` tenta determinar o seu FQDN de forma automática.  A predefinição é o valor da opção de configuração `sendemail.smtpDomain`.

note: type: Labeled list
en: --smtp-auth=<mechanisms>
pt_BR: --smtp-auth=<mecanismos>

note: type: Plain text
en: Whitespace-separated list of allowed SMTP-AUTH mechanisms. This setting forces using only the listed mechanisms. Example:
pt_BR: Mecanismos SMTP-AUTH permitidos, listas separadas por um espaço. Está configuração impõem a utilização dos mecanismos listados. Exemplo:

note: type: Plain text
en: If at least one of the specified mechanisms matches the ones advertised by the SMTP server and if it is supported by the utilized SASL library, the mechanism is used for authentication. If neither 'sendemail.smtpAuth' nor `--smtp-auth` is specified, all mechanisms supported by the SASL library can be used. The special value 'none' maybe specified to completely disable authentication independently of `--smtp-user`
pt_BR: Caso pelo menos um dos mecanismos definidos coincidir com os anunciados através do servidor SMTP e caso seja compatível pela biblioteca SASL utilizada, o mecanismo será utilizado para a autenticação. Caso nem a opção de configuração 'sendemail.smtpAuth' nem a opção `--smtp-auth` forem utilizados, todos os mecanismos compatíveis através da biblioteca SASL poderão ser utilizados. O valor especial 'none' pode ser informado para desativar completamente a autenticação, independentemente da opção `--smtp-user`

note: type: Labeled list
en: --smtp-pass[=<password>]
pt_BR: --smtp-pass[=<senha>]

note: type: Plain text
en: Password for SMTP-AUTH. The argument is optional: If no argument is specified, then the empty string is used as the password. Default is the value of `sendemail.smtpPass`, however `--smtp-pass` always overrides this value.
pt_BR: A senha para o SMTP-AUTH. O argumento é opcional: Caso nenhum argumento seja definido, então um valor vazio é utilizado como uma senha. A predefinição é o valor da opção de configuração `sendemail.smtpPass`, no entanto, a opção `--smtp-pass` sempre substitui este valor.

note: type: Plain text
en: Furthermore, passwords need not be specified in configuration files or on the command line. If a username has been specified (with `--smtp-user` or a `sendemail.smtpUser`), but no password has been specified (with `--smtp-pass` or `sendemail.smtpPass`), then a password is obtained using 'git-credential'.
pt_BR: Além disso, as senhas não precisam ser definidas nos arquivos de configuração ou na linha de comando. Caso um nome de usuário seja definido (com `--smtp-user` ou` `sendemail.smtpUser`), porém nenhuma senha seja definida (com `--smtp-pass` ou `sendemail.smtpPass`), uma senha é obtida utilizando o comando 'git-credential'.

note: type: Plain text
en: Disable SMTP authentication. Short hand for `--smtp-auth=none`
pt_BR: Desative a autenticação SMTP. É um atalho para `--smtp-auth=none`

note: type: Plain text
en: If set, specifies the outgoing SMTP server to use (e.g.  `smtp.example.com` or a raw IP address).  Alternatively it can specify a full pathname of a sendmail-like program instead; the program must support the `-i` option.  Default value can be specified by the `sendemail.smtpServer` configuration option; the built-in default is to search for `sendmail` in `/usr/sbin`, `/usr/lib` and $PATH if such program is available, falling back to `localhost` otherwise.
pt_BR: Caso seja definido, define qual o servidor SMTP deve ser utilizado (como por exemplo, um domínio `smtp.example.com` ou um endereço IP).  Como alternativa, é possível definir um nome do caminho completo de um programa semelhante ao sendmail; o programa deve ser compatível com a opção `-i`.  O valor predefinido pode ser definido através da opção de configuração `sendemail.smtpServer`; a predefinição interna é procurar pelo `sendmail` em `/usr/sbin`, `/usr/lib` e `$PATH` caso este programa esteja disponível, caso contrário retorna ao `localhost`.

note: type: Labeled list
en: --smtp-server-port=<port>
pt_BR: --smtp-server-port=<porta>

note: type: Plain text
en: Specifies a port different from the default port (SMTP servers typically listen to smtp port 25, but may also listen to submission port 587, or the common SSL smtp port 465); symbolic port names (e.g. "submission" instead of 587)  are also accepted. The port can also be set with the `sendemail.smtpServerPort` configuration variable.
pt_BR: Define uma porta diferente da porta predefinida (os servidores SMTP normalmente ouvem na porta 25 smtp, porém também podem ouvir na porta de envio ou a porta smtp SSL comum 465); os nomes das portas simbólicos (como, por exemplo, "submission" em vez do 587) também são aceitos. A porta também pode ser definida com a variável de configuração `sendemail.smtpServerPort`.

note: type: Labeled list
en: --smtp-server-option=<option>
pt_BR: --smtp-server-option=<opção>

note: type: Plain text
en: If set, specifies the outgoing SMTP server option to use.  Default value can be specified by the `sendemail.smtpServerOption` configuration option.
pt_BR: Caso seja definido, define qual a opção da saída que será usada pelo servidor SMTP.  O valor predefinido pode ser definido pela opção de configuração `sendemail.smtpServerOption`.

note: type: Plain text
en: The --smtp-server-option option must be repeated for each option you want to pass to the server. Likewise, different lines in the configuration files must be used for each option.
pt_BR: A opção `--smtp-server-option` deve ser repetida para cada opção que você queira passar para o servidor. Da mesma forma, as linhas diferentes nos arquivos de configuração devem ser utilizadas para cada opção.

note: type: Plain text
en: Legacy alias for '--smtp-encryption ssl'.
pt_BR: Legado para o pseudônimo '--smtp-encryption ssl'.

note: type: Plain text
en: Path to a store of trusted CA certificates for SMTP SSL/TLS certificate validation (either a directory that has been processed by 'c_rehash', or a single file containing one or more PEM format certificates concatenated together: see verify(1) -CAfile and -CApath for more information on these). Set it to an empty string to disable certificate verification. Defaults to the value of the `sendemail.smtpsslcertpath` configuration variable, if set, or the backing SSL library's compiled-in default otherwise (which should be the best choice on most platforms).
pt_BR: O caminho para um armazenamento dos certificados CA confiáveis para a validação do certificado SMTP SSL/TLS (um diretório que foi processado pelo 'c_rehash' ou um único arquivo contendo um ou mais certificados no formato 'PEM' concatenados juntos: consulte 'verify(1)' '-CAfile' e '-CApath' para mais informações sobre eles). Defina-o como um texto vazio para desativar a verificação do certificado. A predefinição retorna para o valor da variável de configuração `sendemail.smtpsslcertpath`, caso seja definida, ou tenha a biblioteca de apoio SSL tenha sido compilada (o que deve ser a melhor opção na maioria das plataformas).

note: type: Labeled list
en: --smtp-user=<user>
pt_BR: --smtp-user=<usuário>

note: type: Plain text
en: Username for SMTP-AUTH. Default is the value of `sendemail.smtpUser`; if a username is not specified (with `--smtp-user` or `sendemail.smtpUser`), then authentication is not attempted.
pt_BR: O nome do usuário para o SMTP-AUTH. A predefinição é o valor da opção de configuração `sendemail.smtpUser`; caso um nome de usuário não tenha sido definido(com `--smtp-user` ou `sendemail.smtpUser`), a tentativa de autenticação não será realizada.

note: type: Plain text
en: Enable (1) or disable (0) debug output. If enabled, SMTP commands and replies will be printed. Useful to debug TLS connection and authentication problems.
pt_BR: Ative (1) ou desative (0) a geração da depuração. Se ativado, os comandos e respostas SMTP serão impressos. Útil para depurar problemas de conexão e a autenticação TLS.

note: type: Plain text
en: Some email servers (e.g. smtp.163.com) limit the number emails to be sent per session (connection) and this will lead to a failure when sending many messages.  With this option, send-email will disconnect after sending $<num> messages and wait for a few seconds (see --relogin-delay)  and reconnect, to work around such a limit.  You may want to use some form of credential helper to avoid having to retype your password every time this happens.  Defaults to the `sendemail.smtpBatchSize` configuration variable.
pt_BR: Alguns servidores de e-mail (smtp.163.com por exemplo) limitam a quantidade de e-mails que podem ser enviados por sessão (conexão) e isso causa uma falha no envio de muitas mensagens.  Com esta opção, o "send-email" será desconectado após enviar a quantidade de `$<num>` mensagens e aguardará alguns segundos (consulte --relogin-delay) e fará a reconexão para contornar esse limite.  É possível utilizar alguma forma de auxiliar a credencial evitando a necessidade de redigitar a sua senha sempre que isso acontecer.  A predefinição retorna para o valor da variável de configuração `sendemail.smtpBatchSize`.

note: type: Plain text
en: Waiting $<int> seconds before reconnecting to SMTP server. Used together with --batch-size option.  Defaults to the `sendemail.smtpReloginDelay` configuration variable.
pt_BR: Aguardando `$<int>` segundos antes de se reconectar ao servidor SMTP. Utilizado em conjunto com a opção `--batch-size`.  A predefinição retorna para o valor da variável de configuração `sendemail.smtpReloginDelay`.

note: type: Title ~
en: Automating
pt_BR: Automatizando

note: type: Plain text
en: Clears any list of "To:", "Cc:", "Bcc:" addresses previously set via config.
pt_BR: Limpa qualquer lista dos endereços "Para:", "Cc:", "Cco:" definidos anteriormente através da config.

note: type: Plain text
en: Clears the previously read value of `sendemail.identity` set via config, if any.
pt_BR: Limpa o valor lido anteriormente do `sendemail.identity` definido através da config, caso exista.

note: type: Labeled list
en: --to-cmd=<command>
pt_BR: --to-cmd=<comando>

note: type: Plain text
en: Specify a command to execute once per patch file which should generate patch file specific "To:" entries.  Output of this command must be single email address per line.  Default is the value of 'sendemail.tocmd' configuration value.
pt_BR: Define um comando que será executado um por vez no arquivo patch que deve gerar as entradas "Para:".  A saída deste comando deve ser um endereço de e-mail único por linha.  A predefinição é o valor da opção de configuração 'sendemail.tocmd'.

note: type: Labeled list
en: --cc-cmd=<command>
pt_BR: --cc-cmd=<comando>

note: type: Plain text
en: Specify a command to execute once per patch file which should generate patch file specific "Cc:" entries.  Output of this command must be single email address per line.  Default is the value of `sendemail.ccCmd` configuration value.
pt_BR: Define um comando que será executado um por vez no arquivo patch que deve gerar as entradas "Cc:".  A saída deste comando deve ser um endereço de e-mail único por linha.  A predefinição é o valor da opção de configuração `sendemail.ccCmd`.

note: type: Plain text
en: If this is set, each email will be sent as a reply to the previous email sent.  If disabled with "--no-chain-reply-to", all emails after the first will be sent as replies to the first email sent.  When using this, it is recommended that the first file given be an overview of the entire patch series. Disabled by default, but the `sendemail.chainReplyTo` configuration variable can be used to enable it.
pt_BR: Caso esteja definido, cada e-mail será enviado como uma resposta ao e-mail enviado anteriormente.  Caso esteja desativado com a opção "--no-chain-reply-to", todos os e-mails posteriores ao primeiro, serão enviados como respostas para o primeiro e-mail enviado.  Ao utilizar isso, é recomendável que o primeiro arquivo utilizado seja uma visão geral de toda a série de patches. É predefinido que esteja desativada, porém a variável de configuração `sendemail.chainReplyTo` pode ser utilizada para ativá-la.

note: type: Labeled list
en: --identity=<identity>
pt_BR: --identity=<identidade>

note: type: Plain text
en: A configuration identity. When given, causes values in the 'sendemail.<identity>' subsection to take precedence over values in the 'sendemail' section. The default identity is the value of `sendemail.identity`.
pt_BR: Uma identidade de configuração. Quando informado, faz com que os valores na subseção 'sendemail.<identidade>' tenham precedência sobre os valores na seção 'sendemail'. A identidade predefinida é o valor existente em `sendemail.identity`.

note: type: Plain text
en: If this is set, add emails found in Signed-off-by: or Cc: lines to the cc list. Default is the value of `sendemail.signedoffbycc` configuration value; if that is unspecified, default to --signed-off-by-cc.
pt_BR: Caso esteja definido, adicione os e-mails encontrados nas linhas 'Signed-off-by:' ou Cc: à lista cc. A predefinição é o valor da opção de configuração `sendemail.signedoffbycc`; caso não seja definido, a predefinição retorna para `--signed-off-by-cc`.

note: type: Plain text
en: If this is set, emails found in Cc: headers in the first patch of the series (typically the cover letter) are added to the cc list for each email set. Default is the value of 'sendemail.cccover' configuration value; if that is unspecified, default to --no-cc-cover.
pt_BR: Caso seja definido, os emails encontrados nos cabeçalhos Cc: no primeiro patch da série (normalmente a carta de apresentação) serão adicionados à lista Cc: de cada conjunto de e-mails. Default is the value of 'sendemail.cccover' configuration value; if that is unspecified, default to --no-cc-cover.

note: type: Plain text
en: If this is set, emails found in To: headers in the first patch of the series (typically the cover letter) are added to the to list for each email set. Default is the value of 'sendemail.tocover' configuration value; if that is unspecified, default to --no-to-cover.
pt_BR: Caso seja definido, os emails encontrados nos cabeçalhos To: (Para) no primeiro patch da série (normalmente a carta de apresentação) serão adicionados à lista To: de cada conjunto de e-mails. Default is the value of 'sendemail.tocover' configuration value; if that is unspecified, default to --no-to-cover.

note: type: Labeled list
en: --suppress-cc=<category>
pt_BR: --suppress-cc=<categoria>

note: type: Plain text
en: Specify an additional category of recipients to suppress the auto-cc of:
pt_BR: Define uma categoria adicional dos destinatários para suprimir o 'auto-cc' do:

note: type: Plain text
en: 'author' will avoid including the patch author.
pt_BR: 'author' irá evitar a inclusão o autor do patch.

note: type: Plain text
en: 'self' will avoid including the sender.
pt_BR: 'self' evitará incluir o remetente.

note: type: Plain text
en: 'cc' will avoid including anyone mentioned in Cc lines in the patch header except for self (use 'self' for that).
pt_BR: 'cc' irá evitar a inclusão de qualquer pessoa mencionada nas linhas Cc no cabeçalho do patch, exceto self (utilize 'self' para isso).

note: type: Plain text
en: 'bodycc' will avoid including anyone mentioned in Cc lines in the patch body (commit message) except for self (use 'self' for that).
pt_BR: 'bodycc' irá evitar a inclusão de qualquer pessoa mencionada nas linhas Cc no corpo do patch (mensagem do commit), exceto o 'self' (utilize 'self' para isso).

note: type: Plain text
en: 'sob' will avoid including anyone mentioned in Signed-off-by lines except for self (use 'self' for that).
pt_BR: O 'sob' evitará incluir qualquer pessoa mencionada nas linhas assinadas, exceto 'self' (utilize 'self' para isso).

note: type: Plain text
en: 'misc-by' will avoid including anyone mentioned in Acked-by, Reviewed-by, Tested-by and other "-by" lines in the patch body, except Signed-off-by (use 'sob' for that).
pt_BR: O 'misc-by' evitará incluir qualquer pessoa mencionada nas linhas 'Acked-by' (Reconhecido-por), 'Review-by' (Revisado-por), 'Tested-by' (Testado-por) e outras linhas "by-by" no corpo do patch, exceto o 'Signed-off-by' (Assinado-por) (utilize 'sob' para tanto).

note: type: Plain text
en: 'cccmd' will avoid running the --cc-cmd.
pt_BR: 'cccmd' evitará executar o --cc-cmd.

note: type: Plain text
en: 'body' is equivalent to 'sob' + 'bodycc' + 'misc-by'.
pt_BR: 'body' é o equivalente a 'sob' + 'bodycc' + 'misc-by'.

note: type: Plain text
en: 'all' will suppress all auto cc values.
pt_BR: 'all' irá suprimir todos os valores cc de maneira automática.

note: type: Plain text
en: Default is the value of `sendemail.suppresscc` configuration value; if that is unspecified, default to 'self' if --suppress-from is specified, as well as 'body' if --no-signed-off-cc is specified.
pt_BR: A predefinição é o valor da configuração `sendemail.suppresscc`; caso isso não seja definido, a predefinição será `self` caso `--suppress-from` seja utilizado, bem como `body` caso `--no-selected-off-cc` seja utilizado.

note: type: Plain text
en: If this is set, do not add the From: address to the cc: list.  Default is the value of `sendemail.suppressFrom` configuration value; if that is unspecified, default to --no-suppress-from.
pt_BR: Caso esteja definido, não adicione o endereço From: à lista cc:.  A predefinição é o valor da opção de configuração `sendemail.suppressFrom`; caso não seja definido, a predefinição retorna para `--no-suppress-from`.

note: type: Plain text
en: If this is set, the In-Reply-To and References headers will be added to each email sent.  Whether each mail refers to the previous email (`deep` threading per 'git format-patch' wording) or to the first email (`shallow` threading) is governed by "--[no-]chain-reply-to".
pt_BR: Caso esteja definido, os cabeçalhos 'In-Reply-To' e as Referências serão adicionadas em cada e-mail enviado.  Se cada e-mail se refere ao e-mail anterior (`deep` encadeado por 'git format-patch') ou ao primeiro e-mail (encadeamento `shallow`) é governado por "--[no-]chain-reply-to".

note: type: Plain text
en: If disabled with "--no-thread", those headers will not be added (unless specified with --in-reply-to).  Default is the value of the `sendemail.thread` configuration value; if that is unspecified, default to --thread.
pt_BR: Caso seja desativado com a opção "--no-thread", estes cabeçalhos não serão adicionados (a menos que seja especificado com a opção `--in-reply-to`).  A predefinição é o valor da opção de configuração `sendemail.thread`; caso não esteja definido, a predefinição retorna para `--thread`.

note: type: Plain text
en: It is up to the user to ensure that no In-Reply-To header already exists when 'git send-email' is asked to add it (especially note that 'git format-patch' can be configured to do the threading itself).  Failure to do so may not produce the expected result in the recipient's MUA.
pt_BR: É responsabilidade do usuário garantir que já não exista um cabeçalho 'In-Reply-To' quando o comando 'git send-email' for solicitado para adicioná-lo (em especial, observe que o comando 'git format-patch' pode ser configurado para realizar o encadeamento ele mesmo).  Não fazer isso pode não produzir o resultado desejado no MUA do destinatário.

note: type: Title ~
en: Administering
pt_BR: Administrando

note: type: Labeled list
en: --confirm=<mode>
pt_BR: --confirm=<modo>

note: type: Plain text
en: Confirm just before sending:
pt_BR: Apenas confirme antes de enviar:

note: type: Plain text
en: 'always' will always confirm before sending
pt_BR: 'always' sempre pedirá confirmação antes do envio

note: type: Plain text
en: 'never' will never confirm before sending
pt_BR: O 'never' nunca irá confirmar antes do envio

note: type: Plain text
en: 'cc' will confirm before sending when send-email has automatically added addresses from the patch to the Cc list
pt_BR: 'cc' irá pedir uma confirmação antes do envio quando o "send-email" tiver adicionado de forma automática os endereços do patch à lista Cc

note: type: Plain text
en: 'compose' will confirm before sending the first message when using --compose.
pt_BR: 'compose' (compor) irá confirmar antes de enviar a primeira mensagem ao utilizar o `--compose`.

note: type: Plain text
en: 'auto' is equivalent to 'cc' + 'compose'
pt_BR: 'auto' é o equivalente a 'cc' + 'compose' (compor)

note: type: Plain text
en: Default is the value of `sendemail.confirm` configuration value; if that is unspecified, default to 'auto' unless any of the suppress options have been specified, in which case default to 'compose'.
pt_BR: A predefinição é o valor da configuração `sendemail.confirm`; caso isso não seja definido, utilize a predefinição `auto`, a menos que alguma das opções da supressão tenha sido utilizada; nesse caso, a predefinição será `compose`.

note: type: Plain text
en: Do everything except actually send the emails.
pt_BR: Faça tudo, exceto realmente enviar os e-mails.

note: type: Plain text
en: When an argument may be understood either as a reference or as a file name, choose to understand it as a format-patch argument (`--format-patch`)  or as a file name (`--no-format-patch`). By default, when such a conflict occurs, git send-email will fail.
pt_BR: Quando um argumento pode ser entendido como uma referência ou como um nome do arquivo, entenda-o como um argumento do formato do patch (`--format-patch`) ou como um nome de arquivo (`--no-format-patch` ) É predefinido que quando este conflito ocorra, o 'git send-email' seja encerrado.

note: type: Plain text
en: Make git-send-email less verbose.  One line per email should be all that is output.
pt_BR: Torne o comando 'git-send-email' menos detalhado.  Deve ser gerado apenas uma linha por e-mail.

note: type: Plain text
en: Perform sanity checks on patches.  Currently, validation means the following:
pt_BR: Realize verificações de sanidade nos patches.  Atualmente, a validação significa o seguinte:

note: type: Plain text
en: Invoke the sendemail-validate hook if present (see linkgit:githooks[5]).
pt_BR: Se presente, chame o gancho de validação do sendmail (consulte linkgit:githooks[5]).

note: type: Plain text
en: Warn of patches that contain lines longer than
pt_BR: Aviso dos patches que contenham linhas mais longas que

note: type: Plain text
en: 998 characters unless a suitable transfer encoding
    ('auto', 'base64', or 'quoted-printable') is used;
    this is due to SMTP limits as described by
    http://www.ietf.org/rfc/rfc5322.txt.
pt_BR: 998 caracteres, a menos que uma codificação de transferência adequada
    ('auto', 'base64', ou 'quoted-printable') seja utilizada;
    isso se deve as limitações do SMTP descritos em
    http://www.ietf.org/rfc/rfc5322.txt.

note: type: Plain text
en: Default is the value of `sendemail.validate`; if this is not set, default to `--validate`.
pt_BR: A predefinição é o valor do `sendemail.validate`; caso já não estiver definido, a predefinição retorna para `--validate`.

note: type: Plain text
en: Send emails even if safety checks would prevent it.
pt_BR: Envie os e-mails mesmo que as verificações de segurança as impeçam.

note: type: Title ~
en: Information
pt_BR: Informação

note: type: Plain text
en: Instead of the normal operation, dump the shorthand alias names from the configured alias file(s), one per line in alphabetical order. Note, this only includes the alias name and not its expanded email addresses.  See 'sendemail.aliasesfile' for more information about aliases.
pt_BR: Em vez da operação normal, despeje os nomes dos pseudônimos dos atalhos vindo do arquivo de configuração de pseudônimos, um por linha e em ordem alfabética. Observe que isso inclui apenas o pseudônimo e não os seus endereços de e-mail que foram expandidos.  Para obter mais informações sobre pseudônimos, consulte 'sendemail.aliasesfile'.

note: type: Plain text
en: To avoid typing long email addresses, point this to one or more email aliases files.  You must also supply `sendemail.aliasFileType`.
pt_BR: Para evitar a digitação dos longos endereços de e-mail, aponte para um ou mais arquivos aliases do e-mail.  Você também deve informar o `sendemail.aliasFileType`.

note: type: Plain text
en: Format of the file(s) specified in sendemail.aliasesFile. Must be one of 'mutt', 'mailrc', 'pine', 'elm', or 'gnus', or 'sendmail'.
pt_BR: Formato do(s) arquivo(s) definidos(s) em `sendemail.aliasesFile`. Deve ser 'mutt', 'mailrc', 'pine', 'elm', 'gnus' ou 'sendmail'.

note: type: Plain text
en: What an alias file in each format looks like can be found in the documentation of the email program of the same name. The differences and limitations from the standard formats are described below:
pt_BR: A aparência de um arquivo alias em cada formato pode ser encontrada na documentação do programa do e-mail com o mesmo nome. As diferenças e as limitações dos formatos predefinidas são descritas abaixo:

note: type: Plain text
en: Quoted aliases and quoted addresses are not supported: lines that
pt_BR: Os aliases e os endereços citados não são compatíveis: linhas que

note: type: Plain text
en: contain a `"` symbol are ignored.
pt_BR: contenham o símbolo `"` são ignorados.

note: type: Plain text
en: Redirection to a file (`/path/name`) or pipe (`|command`) is not
pt_BR: O redirecionamento para um arquivo (`/nome/do/caminho`) ou pipe (`|comando`) não é

note: type: Plain text
en: supported.
pt_BR: suportado.

note: type: Plain text
en: File inclusion (`:include: /path/name`) is not supported.
pt_BR: A inclusão dos arquivos (`:include: /path/nome`) não é suportada.

note: type: Plain text
en: Warnings are printed on the standard error output for any
pt_BR: Os avisos são impressos na saída de erro predefinido para qualquer

note: type: Plain text
en: explicitly unsupported constructs, and any other lines that are not recognized by the parser.
pt_BR: construções explicitamente não suportadas e quaisquer outras linhas que não sejam reconhecidas pelo analisador.

note: type: Plain text
en: If true (default), a single editor instance will be spawned to edit files you have to edit (patches when `--annotate` is used, and the summary when `--compose` is used). If false, files will be edited one after the other, spawning a new editor each time.
pt_BR: Caso o valor seja `true` (predefinido), uma única instância do editor será gerada para editar os arquivos que precisam ser editados (os patches quando `--annotate` é utilizado e o resumo quando `--compose` é utilizado). Caso o valor seja `false`, os arquivos serão editados um após o outro, onde um novo editor é aberto a cada vez.

note: type: Plain text
en: Sets the default for whether to confirm before sending. Must be one of 'always', 'never', 'cc', 'compose', or 'auto'. See `--confirm` in the previous section for the meaning of these values.
pt_BR: Define a predefinição para confirmar antes do envio. Deve ser um de 'always' (sempre), 'never' (nunca), 'cc' (com cópia), 'compose' (compor) ou 'auto'. Consulte `--confirm` na seção anterior para obter o significado destes valores.

note: type: Title ~
en: Use gmail as the smtp server
pt_BR: Utilize o gmail como servidor smtp

note: type: Plain text
en: To use 'git send-email' to send your patches through the GMail SMTP server, edit ~/.gitconfig to specify your account settings:
pt_BR: Para usar o 'git send-email' para enviar os seus patches através do servidor SMTP do GMail, edite '~/.gitconfig' para definir as configurações da sua conta:

note: type: Plain text
en: If you have multifactor authentication setup on your gmail account, you will need to generate an app-specific password for use with 'git send-email'. Visit https://security.google.com/settings/security/apppasswords to create it.
pt_BR: Caso tenha uma configuração de autenticação de dois fatores na sua conta do Gmail, será necessário gerar uma senha específica do aplicativo para ser possível utilizar com o comando `git send-email`. Visite https://security.google.com/settings/security/apppasswords para criá-la.

note: type: Plain text
en: Once your commits are ready to be sent to the mailing list, run the following commands:
pt_BR: Quando os seus commits estiverem prontos para serem enviadas para a lista de discussão, execute os seguintes comandos:

note: type: Plain text
en: The first time you run it, you will be prompted for your credentials.  Enter the app-specific or your regular password as appropriate.  If you have credential helper configured (see linkgit:git-credential[1]), the password will be saved in the credential store so you won't have to type it the next time.
pt_BR: As suas credenciais serão solicitadas na primeira vez em que você executá-lo.  Entre com as credenciais específicas do aplicativo ou a sua senha normal conforme for o caso.  Caso tenha o auxiliar de credencial configurado (consulte linkgit:git-credential[1]), a senha será salva no armazenamento de credenciais para que você não precise digitá-la na próxima vez.

note: type: Plain text
en: Note: the following core Perl modules that may be installed with your distribution of Perl are required: MIME::Base64, MIME::QuotedPrint, Net::Domain and Net::SMTP.  These additional Perl modules are also required: Authen::SASL and Mail::Address.
pt_BR: Observação: os seguintes módulos Perl talvez já estejam instalados com a sua distribuição Perl, caso contrário, estes módulos são necessários: MIME::Base64, MIME::QuotedPrint, Net::Domain e Net::SMTP.  Estes módulos Perl também são necessários: Authen::SASL and Mail::Address.

note: type: Plain text
en: git-send-pack - Push objects over Git protocol to another repository
pt_BR: git-send-pack - Impulsiona (push) os objetos através do protocolo Git para um outro repositório

note: type: Plain text
en: 'git send-pack' [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>]
    		[--verbose] [--thin] [--atomic]
    		[--[no-]signed|--signed=(true|false|if-asked)]
    		[<host>:]<directory> [<ref>...]
pt_BR: 'git send-pack' [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>]
    		[--verbose] [--thin] [--atomic]
    		[--[no-]signed|--signed=(true|false|if-asked)]
    		[<host>:]<diretório> [<ref>...]

note: type: Plain text
en: Usually you would want to use 'git push', which is a higher-level wrapper of this command, instead. See linkgit:git-push[1].
pt_BR: No lugar utilize 'git push' que é um wrapper de maior hierarquia deste comando. Consulte linkgit:git-push[1].

note: type: Plain text
en: Invokes 'git-receive-pack' on a possibly remote repository, and updates it from the current repository, sending named refs.
pt_BR: Invoca o comando 'git-receive-pack' em um repositório possivelmente remoto e atualiza-o a partir do repositório atual, enviando determinados refs.

note: type: Plain text
en: Same as --receive-pack=<git-receive-pack>.
pt_BR: O mesmo que --receive-pack=<git-receive-pack>.

note: type: Plain text
en: Instead of explicitly specifying which refs to update, update all heads that locally exist.
pt_BR: Em vez de definir de forma explicita quais são referências que devem ser atualizadas, atualize todos os cabeçalhos que existam localmente.

note: type: Plain text
en: Send a "thin" pack, which records objects in deltified form based on objects not included in the pack to reduce network traffic.
pt_BR: Envie um pacote "thin", que registra os objetos no formato "deltificado" com base nos objetos não inclusos no pacote para reduzir o tráfego de rede.

note: type: Plain text
en: Use an atomic transaction for updating the refs. If any of the refs fails to update then the entire push will fail without changing any refs.
pt_BR: Use uma transação atômica para atualizar as refs. Caso alguma das refs falhem na atualização, todo o "push" falhará sem alterar nenhuma das refs.

note: type: Labeled list
en: --push-option=<string>
pt_BR: --push-option=<texto>

note: type: Plain text
en: Pass the specified string as a push option for consumption by hooks on the server side.  If the server doesn't support push options, error out.  See linkgit:git-push[1] and linkgit:githooks[5] for details.
pt_BR: Encaminha uma cadeia de caracteres específicos para uma opção `push` que será utilizada por ganchos no lado do servidor.  Caso o servidor não seja compatível com as opções `push`, exibe erro.  Para mais detalhes consulte linkgit:git-push[1] e linkgit:githooks[5].

note: type: Plain text
en: A remote host to house the repository.  When this part is specified, 'git-receive-pack' is invoked via ssh.
pt_BR: Um host remoto para hospedar o repositório.  Quando esta parte for definida, o comando 'git-receive-pack' é chamado através do ssh.

note: type: Plain text
en: The repository to update.
pt_BR: O repositório que será atualizado.

note: type: Plain text
en: There are three ways to specify which refs to update on the remote end.
pt_BR: Existem três maneiras para definir quais as refs devem ser atualizadas na extremidade remota.

note: type: Plain text
en: With `--all` flag, all refs that exist locally are transferred to the remote side.  You cannot specify any '<ref>' if you use this flag.
pt_BR: Com a opção `--all`, todos as refs existentes localmente são transferidos para o lado remoto.  Você não pode definir qualquer '<ref>' caso você utilize está opção.

note: type: Plain text
en: Without `--all` and without any '<ref>', the heads that exist both on the local side and on the remote side are updated.
pt_BR: Sem `--all` e sem qualquer '<ref>', os cabeçalhos existentes no lado local e no lado remoto são atualizadas.

note: type: Plain text
en: When one or more '<ref>' are specified explicitly (whether on the command line or via `--stdin`), it can be either a single pattern, or a pair of such pattern separated by a colon ":" (this means that a ref name cannot have a colon in it).  A single pattern '<name>' is just a shorthand for '<name>:<name>'.
pt_BR: Quando uma ou mais '<ref>' sejam definidas de forma explicita (seja através da linha do comando ou através da opção `--stdin`), pode ser um único padrão ou o par deles separados por dois pontos ":" (significa que o nome da "ref" não pode ter dois pontos).  Um único padrão '<nome>' é apenas uma abreviação para '<nome>:<nome>'.

note: type: Plain text
en: Each pattern pair consists of the source side (before the colon)  and the destination side (after the colon).  The ref to be pushed is determined by finding a match that matches the source side, and where it is pushed is determined by using the destination side. The rules used to match a ref are the same rules used by 'git rev-parse' to resolve a symbolic ref name. See linkgit:git-rev-parse[1].
pt_BR: Cada par de padrões consiste no lado da origem (antes dos dois pontos) e no lado do destino (depois dos dois pontos).  O `ref` a ser feito o `push` é determinado localizando uma coincidência que corresponda com a origem e a localização da origem é determinada usando o lado de destino. As regras utilizadas para coincidir com um `ref` são os mesmos utilizados por `git rev-parse` para resolver um nome `ref` simbólico. Consulte linkgit:git-rev-parse[1].

note: type: Plain text
en: It is an error if <dst> matches more than one remote refs.
pt_BR: É um erro caso <dst> coincida com mais de uma refs remota.

note: type: Plain text
en: git-shell - Restricted login shell for Git-only SSH access
pt_BR: git-shell - Shell de login restrito para acesso SSH, apenas para o Git

note: type: Plain text
en: 'chsh' -s $(command -v git-shell) <user>
    'git clone' <user>`@localhost:/path/to/repo.git`
    'ssh' <user>`@localhost`
pt_BR: 'chsh' -s $(command -v git-shell) <usuário>
    'git clone' <usuário>`@localhost:/path/to/repo.git`
    'ssh' <usuário>`@localhost`

note: type: Plain text
en: This is a login shell for SSH accounts to provide restricted Git access.  It permits execution only of server-side Git commands implementing the pull/push functionality, plus custom commands present in a subdirectory named `git-shell-commands` in the user's home directory.
pt_BR: Este é um shell de login para contas SSH para fornecer acesso restrito ao Git.  Ele permite a execução apenas dos comandos Git do lado do servidor, implementando a funcionalidade 'pull/push', além dos comandos personalizados presentes em um subdiretório chamado `git shell command` no diretório inicial do usuário.

note: type: Plain text
en: 'git shell' accepts the following commands after the `-c` option:
pt_BR: 'git shell' aceita os seguintes comandos após a opção `-c`:

note: type: Labeled list
en: 'git receive-pack <argument>'
pt_BR: 'git receive-pack <argumento>'

note: type: Labeled list
en: 'git upload-pack <argument>'
pt_BR: 'git upload-pack <argumento>'

note: type: Labeled list
en: 'git upload-archive <argument>'
pt_BR: 'git upload-archive <argumento>'

note: type: Plain text
en: Call the corresponding server-side command to support the client's 'git push', 'git fetch', or 'git archive --remote' request.
pt_BR: Chame o comando correspondente do lado do servidor para apoiar a solicitação do comando 'git push', 'git fetch' ou 'git archive --remote' do cliente.

note: type: Plain text
en: Imitate a CVS server.  See linkgit:git-cvsserver[1].
pt_BR: Imite um servidor CVS.  Consulte linkgit:git-cvsserver[1].

note: type: Plain text
en: If a `~/git-shell-commands` directory is present, 'git shell' will also handle other, custom commands by running "`git-shell-commands/<command> <arguments>`" from the user's home directory.
pt_BR: Caso um diretório `~/git-shell-command` estiver presente, o comando 'git shell' também manipulará outros comandos personalizados executando "`git-shell-commands/<comando> <argumentos>`" no diretório inicial do usuário.

note: type: Title -
en: INTERACTIVE USE
pt_BR: USO INTERATIVO

note: type: Plain text
en: By default, the commands above can be executed only with the `-c` option; the shell is not interactive.
pt_BR: É predefinido que os comandos acima possam ser executados apenas com a opção `-c`; o shell não é interativo.

note: type: Plain text
en: If a `~/git-shell-commands` directory is present, 'git shell' can also be run interactively (with no arguments).  If a `help` command is present in the `git-shell-commands` directory, it is run to provide the user with an overview of allowed actions.  Then a "git> " prompt is presented at which one can enter any of the commands from the `git-shell-commands` directory, or `exit` to close the connection.
pt_BR: Caso um diretório `~/git-shell-command` estiver presente, o comando 'git shell' também poderá ser executado interativamente (sem argumentos).  Caso um comando `help` estiver presente no diretório `git-shell-command`, ele será executado para fornecer ao usuário uma visão geral das ações que são permitidas.  Em seguida, é apresentado um prompt "git>", onde é possível digitar qualquer um dos comandos do diretório `git-shell-command`, ou `exit` para encerrar a conexão.

note: type: Plain text
en: Generally this mode is used as an administrative interface to allow users to list repositories they have access to, create, delete, or rename repositories, or change repository descriptions and permissions.
pt_BR: Em geral, este modo é utilizado como uma interface administrativa para permitir que os usuários listem os repositórios dos quais eles têm acesso para, criar, excluir ou renomear os repositórios ou alterar as descrições e permissões do mesmo.

note: type: Plain text
en: If a `no-interactive-login` command exists, then it is run and the interactive shell is aborted.
pt_BR: Caso um comando `no-interactive-login` existir, ele será executado e o shell interativo será abortado.

note: type: Plain text
en: To disable interactive logins, displaying a greeting instead:
pt_BR: Para desativar os logins interativos, exibindo uma saudação:

note: type: delimited block -
en: $ chsh -s /usr/bin/git-shell
    $ mkdir $HOME/git-shell-commands
    $ cat >$HOME/git-shell-commands/no-interactive-login <<\EOF
    #!/bin/sh
    printf '%s\n' "Hi $USER! You've successfully authenticated, but I do not"
    printf '%s\n' "provide interactive shell access."
    exit 128
    EOF
    $ chmod +x $HOME/git-shell-commands/no-interactive-login
pt_BR: $ chsh -s /usr/bin/git-shell
    $ mkdir $HOME/git-shell-commands
    $ cat >$HOME/git-shell-commands/no-interactive-login <<\EOF
    #!/bin/sh
    printf '%s\n' "Olá $USER! Você se autenticou com sucesso, porém eu não"
    printf '%s\n' "forneço um acesso interativo ao shell."
    exit 128
    EOF
    $ chmod +x $HOME/git-shell-commands/no-interactive-login

note: type: Plain text
en: To enable git-cvsserver access (which should generally have the `no-interactive-login` example above as a prerequisite, as creating the git-shell-commands directory allows interactive logins):
pt_BR: Para habilitar o acesso ao 'git cvsserver' (que geralmente deve ter o exemplo `no-interactive-login` acima) como um pré-requisito, como criando o diretório `git-shell-commands` permite logins interativos):

note: type: delimited block -
en: $ cat >$HOME/git-shell-commands/cvs <<\EOF
    if ! test $# = 1 && test "$1" = "server"
    then
    	echo >&2 "git-cvsserver only handles \"server\""
    	exit 1
    fi
    exec git cvsserver server
    EOF
    $ chmod +x $HOME/git-shell-commands/cvs
pt_BR: $ cat >$HOME/git-shell-commands/cvs <<\EOF
    if ! test $# = 1 && test "$1" = "server"
    then
    	echo >&2 "git-cvsserver lida apenas com \"server\""
    	exit 1
    fi
    exec git cvsserver server
    EOF
    $ chmod +x $HOME/git-shell-commands/cvs

note: type: Plain text
en: git-sh-i18n--envsubst - Git's own envsubst(1) for i18n fallbacks
pt_BR: git-sh-i18n--envsubst - O próprio envsubst(1) do Git para fallbacks do i18n

note: type: Plain text
en: This is not a command the end user would want to run.  Ever.  This documentation is meant for people who are studying the plumbing scripts and/or are writing new ones.
pt_BR: Este não é um comando que o usuário final gostaria de executar.  Nunca.  Esta documentação é destinada para as pessoas que estudam os scripts "plumbing" e/ou estão escrevendo novos.

note: type: Plain text
en: 'git sh-i18n{litdd}envsubst' is Git's stripped-down copy of the GNU `envsubst(1)` program that comes with the GNU gettext package. It's used internally by linkgit:git-sh-i18n[1] to interpolate the variables passed to the `eval_gettext` function.
pt_BR: O comando 'git sh-i18n {litdd} envsubst' é uma cópia simplificada do Git do programa GNU `envsubst(1)` que vem com o pacote gettext do GNU. É utilizado internamente através do linkgit:git-sh-i18n[1] para interpolar as variáveis encaminhadas para a função `eval_gettext`.

note: type: Plain text
en: No promises are made about the interface, or that this program won't disappear without warning in the next version of Git. Don't use it.
pt_BR: Nenhuma promessa é feita sobre a interface ou que este programa não desaparecerá sem aviso prévio na próxima versão do Git. Não use.

note: type: Plain text
en: git-sh-i18n - Git's i18n setup code for shell scripts
pt_BR: git-sh-i18n - Código de configuração i18n para os scripts shell

note: type: Plain text
en: The 'git sh-i18n scriptlet is designed to be sourced (using `.`) by Git's porcelain programs implemented in shell script. It provides wrappers for the GNU `gettext` and `eval_gettext` functions accessible through the `gettext.sh` script, and provides pass-through fallbacks on systems without GNU gettext.
pt_BR: O script 'git sh-i18n' foi projetado para ser obtido (utilizando `.`) pelos programas de porcelana do Git implementados no shell script. Ele fornece "wrappers" para as funções GNU `gettext` e `eval_gettext` acessíveis através do script `gettext.sh`, e oferece retroatividade com passagem direta nos sistemas sem o GNU gettext.

note: type: Plain text
en: Currently a dummy fall-through function implemented as a wrapper around `printf(1)`. Will be replaced by a real gettext implementation in a later version.
pt_BR: Atualmente uma função fictícia `fall-through` implementada como um invólucro 'wrapper' em torno do `printf(1)`. Será substituído por uma implementação 'gettext' real em uma versão posterior.

note: type: Plain text
en: Currently a dummy fall-through function implemented as a wrapper around `printf(1)` with variables expanded by the linkgit:git-sh-i18n{litdd}envsubst[1] helper. Will be replaced by a real gettext implementation in a later version.
pt_BR: Atualmente uma função fictícia `fall-through` implementada como um invólucro 'wrapper' em torno do `printf(1)` com as variáveis expandidas através do auxiliar linkgit:git-sh-i18n{litdd}envsubst[1]. Será substituído por uma implementação 'gettext' real em uma versão posterior.

note: type: Plain text
en: git-shortlog - Summarize 'git log' output
pt_BR: git-shortlog - Resume a saída do comando 'git log'

note: type: Plain text
en: 'git shortlog' [<options>] [<revision range>] [[--] <path>...]
    git log --pretty=short | 'git shortlog' [<options>]
pt_BR: 'git shortlog' [<opções>] [<intervalo-das-revisões>] [[--] <caminho>...]
    git log --pretty=short | 'git shortlog' [<opções>]

note: type: Plain text
en: Summarizes 'git log' output in a format suitable for inclusion in release announcements. Each commit will be grouped by author and title.
pt_BR: Resume a saída 'git log' em um formato adequado para inclusão nos anúncios de lançamento. Cada commit será agrupada por autor e título.

note: type: Plain text
en: Additionally, "[PATCH]" will be stripped from the commit description.
pt_BR: Além disso, o "[PATCH]" será retirado da descrição do commit.

note: type: Plain text
en: If no revisions are passed on the command line and either standard input is not a terminal or there is no current branch, 'git shortlog' will output a summary of the log read from standard input, without reference to the current repository.
pt_BR: Caso nenhuma revisão seja aprovada na linha de comando e a entrada padrão não seja um terminal ou não houver uma ramificação atual, o `git shortlog` exibirá um resumo do registro log lido da entrada padrão, sem referência ao repositório atual.

note: type: Plain text
en: Sort output according to the number of commits per author instead of author alphabetic order.
pt_BR: Classifique a saída de acordo com a quantidade de commits feitas pelo autor, em vez da ordem alfabética do autor.

note: type: Plain text
en: Suppress commit description and provide a commit count summary only.
pt_BR: Suprima a descrição do commit e forneça apenas um resumo da contagem dos commits.

note: type: Plain text
en: Show the email address of each author.
pt_BR: Exibir o endereço de email de cada autor.

note: type: Labeled list
en: --format[=<format>]
pt_BR: --format[=<formato>]

note: type: Plain text
en: Instead of the commit subject, use some other information to describe each commit.  '<format>' can be any string accepted by the `--format` option of 'git log', such as '* [%h] %s'.  (See the "PRETTY FORMATS" section of linkgit:git-log[1].)
pt_BR: Em vez do assunto do commit, utilize outras informações para descrever cada commit.  O '<formato>' pode ser qualquer texto aceito pela opção `--format` do comando 'git log', assim como '* [%h] %s'.  (Consulte a seção "FORMATOS BONITOS" do linkgit:git-log[1].)

note: type: Plain text
en: Each pretty-printed commit will be rewrapped before it is shown.
pt_BR: Cada commit bem impresso será reorganizado antes de ser exibido.

note: type: Plain text
en: Collect and show committer identities instead of authors.
pt_BR: Colete e exiba as identidades de quem realizou os commits em vez dos autores.

note: type: Labeled list
en: -w[<width>[,<indent1>[,<indent2>]]]
pt_BR: -w[<largura>[,<recuo1>[,<recuo2>]]]

note: type: Plain text
en: Linewrap the output by wrapping each line at `width`.  The first line of each entry is indented by `indent1` spaces, and the second and subsequent lines are indented by `indent2` spaces. `width`, `indent1`, and `indent2` default to 76, 6 and 9 respectively.
pt_BR: Limite o tamanho das linhas geradas, quebrando a linha através da sua `largura`.  A primeira linha de cada entrada é recuada pelos espaços `recuo1`, assim como a segunda linha junto com as próximas, são recuadas pelos espaços `recuo2`. A `largura`, `recuo1`, e `recuo2` estão predefinidos para 76, 6 e 9 caracteres, respectivamente.

note: type: Plain text
en: If width is `0` (zero) then indent the lines of the output without wrapping them.
pt_BR: Caso a largura seja `0` (zero), recue as linhas da saída sem quebrá-las.

note: type: Plain text
en: Show only commits in the specified revision range.  When no <revision range> is specified, it defaults to `HEAD` (i.e. the whole history leading to the current commit).  `origin..HEAD` specifies all the commits reachable from the current commit (i.e. `HEAD`), but not from `origin`. For a complete list of ways to spell <revision range>, see the "Specifying Ranges" section of linkgit:gitrevisions[7].
pt_BR: Exibe apenas os commits no intervalo definido das revisões.  Quando um <intervalo de revisão> não é definido, a predefinição retorna para `HEAD` (ou seja, todo o histórico que leva ao commit atual).  O `origin..HEAD` define todos os commits acessíveis a partir do commit atual (ou seja, `HEAD`), porém não a partir do `origin`. Para uma lista mais completa das maneiras de escrever os nomes dos objetos, consulte a seção "DEFININDO AS REVISÕES" no linkgit:gitrevisions[7].

note: type: Plain text
en: Consider only commits that are enough to explain how the files that match the specified paths came to be.
pt_BR: Considere apenas os commits que são suficientes para explicar como os arquivos que coincidam com determinados caminhos foram criados.

note: type: Plain text
en: The `.mailmap` feature is used to coalesce together commits by the same person in the shortlog, where their name and/or email address was spelled differently.
pt_BR: O recurso `.mailmap` é utilizado para agrupar os commits da mesma pessoa no "shortlog", onde o seu nome ou endereço de email foram escritos de maneiras diferentes.

note: type: Plain text
en: git-show-branch - Show branches and their commits
pt_BR: git-show-branch - Exibe as ramificações e o seus commits

note: type: Plain text
en: 'git show-branch' [-a|--all] [-r|--remotes] [--topo-order | --date-order]
    		[--current] [--color[=<when>] | --no-color] [--sparse]
    		[--more=<n> | --list | --independent | --merge-base]
    		[--no-name | --sha1-name] [--topics]
    		[(<rev> | <glob>)...]
    'git show-branch' (-g|--reflog)[=<n>[,<base>]] [--list] [<ref>]
pt_BR: 'git show-branch' [-a|--all] [-r|--remotes] [--topo-order | --date-order]
    		[--current] [--color[=<quando>] | --no-color] [--sparse]
    		[--more=<n> | --list | --independent | --merge-base]
    		[--no-name | --sha1-name] [--topics]
    		[(<rev> | <glob>)...]
    'git show-branch' (-g|--reflog)[=<n>[,<base>]] [--list] [<ref>]

note: type: Plain text
en: Shows the commit ancestry graph starting from the commits named with <rev>s or <glob>s (or all refs under refs/heads and/or refs/tags) semi-visually.
pt_BR: Exibe o grafo da ancestralidade do commit, começando pelos commits informados com <rev>s ou <glob>s (ou todos as refs em 'refs/heads' e/ou 'refs/tags') de forma semi-visual.

note: type: Plain text
en: It cannot show more than 29 branches and commits at a time.
pt_BR: Não pode exibir mais de 29 ramificações e commits por vez.

note: type: Plain text
en: It uses `showbranch.default` multi-valued configuration items if no <rev> or <glob> is given on the command line.
pt_BR: Ele utiliza itens de configuração `showbranch.default` com vários valores caso nenhuma <rev> ou <glob> seja utilizado na linha de comando.

note: type: Plain text
en: Arbitrary extended SHA-1 expression (see linkgit:gitrevisions[7])  that typically names a branch head or a tag.
pt_BR: A expressão arbitrária estendida do SHA-1 (consulte linkgit:gitrevisions[7]) que normalmente informa o cabeçalho de um ramo ou uma tag.

note: type: Plain text
en: A glob pattern that matches branch or tag names under refs/.  For example, if you have many topic branches under refs/heads/topic, giving `topic/*` would show all of them.
pt_BR: Um padrão "glob" que corresponda aos nomes dos ramos ou tags nos refs/.  Caso você tenha muitos tópicos nos ramos em 'refs/heads/topic', informando `topic/*` exibiria todas elas.

note: type: Plain text
en: Show the remote-tracking branches.
pt_BR: Exibe os ramos monitorados remotamente.

note: type: Plain text
en: Show both remote-tracking branches and local branches.
pt_BR: Exibe ambos os ramos monitorados remotamente e o ramos locais.

note: type: Plain text
en: With this option, the command includes the current branch to the list of revs to be shown when it is not given on the command line.
pt_BR: Com esta opção, o comando inclui o ramo atual na lista das "revs" que serão exibidas quando não for utilizada na linha de comando.

note: type: Plain text
en: By default, the branches and their commits are shown in reverse chronological order.  This option makes them appear in topological order (i.e., descendant commits are shown before their parents).
pt_BR: É predefinido que os ramos e seus commits sejam exibidos em ordem cronológica inversa.  Esta opção faz com que eles apareçam em ordem topológica (ou seja, os commits descendentes são exibidos antes dos parentes).

note: type: Plain text
en: This option is similar to `--topo-order` in the sense that no parent comes before all of its children, but otherwise commits are ordered according to their commit date.
pt_BR: Essa opção é semelhante à `--topo-order`, no sentido onde nenhum pai vem antes de todos os herdeiros, porém, caso contrário, os commits são ordenadas de acordo com a data do commits.

note: type: Plain text
en: By default, the output omits merges that are reachable from only one tip being shown.  This option makes them visible.
pt_BR: É predefinido que a saída omita as mesclagens que sejam acessíveis apenas do cume que está sendo exibido.  Esta opção os torna visíveis.

note: type: Plain text
en: Usually the command stops output upon showing the commit that is the common ancestor of all the branches.  This flag tells the command to go <n> more common commits beyond that.  When <n> is negative, display only the <reference>s given, without showing the commit ancestry tree.
pt_BR: Normalmente, o comando interrompe a saída durante a exibição do commit que for o ancestral comum de todos os ramos.  Esta opção diz ao comando para ir até <n> commits além disso.  Quando o valor de <n> for negativo, exiba apenas os `<reference>` informados, sem exibir ancestralidade da árvore do commit .

note: type: Plain text
en: Synonym to `--more=-1`
pt_BR: É um sinônimo para a opção `--more=-1`

note: type: Plain text
en: Instead of showing the commit list, determine possible merge bases for the specified commits. All merge bases will be contained in all specified commits. This is different from how linkgit:git-merge-base[1] handles the case of three or more commits.
pt_BR: Em vez de exibir a lista do commit, determine as possíveis bases para mesclagem para determinados commits. Todas as mesclagens das bases estarão contidas em todos os commits informados. Isso é diferente de como o linkgit:git-merge-base[1] lida com o caso de três ou mais commits.

note: type: Plain text
en: Among the <reference>s given, display only the ones that cannot be reached from any other <reference>.
pt_BR: Entre as <referências> informadas, exiba apenas as que não podem ser alcançadas a partir de nenhuma outra <referência>.

note: type: Plain text
en: Do not show naming strings for each commit.
pt_BR: Não exiba o texto informado dos nomes para cada commit.

note: type: Plain text
en: Instead of naming the commits using the path to reach them from heads (e.g. "master~2" to mean the grandparent of "master"), name them with the unique prefix of their object names.
pt_BR: Em vez de nomear os commits utilizando o caminho para alcançá-los através dos cabeçalhos ("master~2" para significar o avô do "master" por exemplo), nomeie-os com o prefixo exclusivo dos nomes dos seus objetos.

note: type: Plain text
en: Shows only commits that are NOT on the first branch given.  This helps track topic branches by hiding any commit that is already in the main line of development.  When given "git show-branch --topics master topic1 topic2", this will show the revisions given by "git rev-list {caret}master topic1 topic2"
pt_BR: Exibe apenas os commits que NÃO estão no primeiro ramo informado.  Isso ajuda a monitorar o tópico das ramificações ocultando qualquer commit que já esteja na linha principal de desenvolvimento.  Quando o comando `git show-branch --topics master topic1 topic2` for utilizado, isso mostra as revisões fornecidas pelo comando `git rev-list {caret}master topic1 topic2`

note: type: Plain text
en: Shows <n> most recent ref-log entries for the given ref.  If <base> is given, <n> entries going back from that entry.  <base> can be specified as count or date.  When no explicit <ref> parameter is given, it defaults to the current branch (or `HEAD` if it is detached).
pt_BR: Mostra <n> lançamentos mais recentes do 'ref-log' para uma determinada "ref".  Caso a <base> seja utilizado, os <n> lançamentos retornam daquela lançamento.  A opção <base> pode ser definida como uma contagem ou data.  Quando nenhum parâmetro explícito <ref> é utilizado, a predefinição retorna para o ramo atual (ou `HEAD` caso esteja desanexado).

note: type: Plain text
en: Color the status sign (one of these: `*` `!` `+` `-`) of each commit corresponding to the branch it's in.  The value must be always (the default), never, or auto.
pt_BR: Color the status sign (one of these: `*` `!` `+` `-`) of each commit corresponding to the branch it's in.  Always (sempre) é o valor predefinido, as outras opções são "never" ou "auto".

note: type: Plain text
en: Turn off colored output, even when the configuration file gives the default to color output.  Same as `--color=never`.
pt_BR: Turn off colored output, even when the configuration file gives the default to color output.  O mesmo que `--color=never`.

note: type: Plain text
en: Note that --more, --list, --independent and --merge-base options are mutually exclusive.
pt_BR: Observe que as opções `--more`, `--list`, `--independent` e `--merge-base` são mutuamente exclusivas.

note: type: Plain text
en: Given N <references>, the first N lines are the one-line description from their commit message.  The branch head that is pointed at by $GIT_DIR/HEAD is prefixed with an asterisk `*` character while other heads are prefixed with a `!` character.
pt_BR: Dadas as "N" <referências>, as primeiras "N" linhas são a descrição de uma linha da mensagem do commit.  O cabeçalho do ramo apontada para `$GIT_DIR/HEAD` é prefixada com um caractere asterisco `*` enquanto outros cabeçalhos são prefixadas com um caractere `!`.

note: type: Plain text
en: Following these N lines, one-line log for each commit is displayed, indented N places.  If a commit is on the I-th branch, the I-th indentation character shows a `+` sign; otherwise it shows a space.  Merge commits are denoted by a `-` sign.  Each commit shows a short name that can be used as an extended SHA-1 to name that commit.
pt_BR: Após essas "N" linhas, um registro log com uma linha para cada commit é exibido, recuados em "N" lugares.  Caso um commit esteja no "I-ésimo" ramo, o "I-ésimo" caractere de indentação exibe um sinal de `+`; caso contrário, mostra um espaço.  Os commits mesclados são indicados através de um sinal `-`.  Cada commit exibe um nome abreviado que pode ser utilizado como um SHA-1 estendido para dar nome a este commit.

note: type: Plain text
en: The following example shows three branches, "master", "fixes" and "mhf":
pt_BR: O exemplo a seguir mostra três ramificações, `master` (mestres), `fixes` (correções) e `mhf`:

note: type: delimited block -
en: $ git show-branch master fixes mhf
    * [master] Add 'git show-branch'.
     ! [fixes] Introduce "reset type" flag to "git reset"
      ! [mhf] Allow "+remote:local" refspec to cause --force when fetching.
    ---
pt_BR: $ git show-branch master fixes mhf
    * [master] Add 'git show-branch'.
     ! [fixes] Introduz a flag "reset type" para "git reset"
      ! [mhf] Permite que o refspec "+remote:local" cause --force quando for buscar.
    ---

note: type: delimited block -
en:   + [mhf] Allow "+remote:local" refspec to cause --force when fetching.
      + [mhf~1] Use git-octopus when pulling more than one heads.
     +  [fixes] Introduce "reset type" flag to "git reset"
      + [mhf~2] "git fetch --force".
      + [mhf~3] Use .git/remote/origin, not .git/branches/origin.
      + [mhf~4] Make "git pull" and "git fetch" default to origin
      + [mhf~5] Infamous 'octopus merge'
      + [mhf~6] Retire git-parse-remote.
      + [mhf~7] Multi-head fetch.
      + [mhf~8] Start adding the $GIT_DIR/remotes/ support.
    *++ [master] Add 'git show-branch'.
pt_BR:   + [mhf] Permite que o refspec "+remote:local" cause --force quando for buscar.
      + [mhf~1] Usa git-octopus quando for capturar mais de um cabeçalho.
     +  [fixes] Introduz a sinalização "reset type" para "git reset"
      + [mhf~2] "git fetch --force".
      + [mhf~3] Utilize .git/remote/origin, e não .git/branches/origin.
      + [mhf~4] Faz um "git pull" e "git fetch" retornar para a predefinição no "origin"
      + [mhf~5] Infame 'octopus merge'
      + [mhf~6] Retira git-parse-remote.
      + [mhf~7] Multi-head fetch.
      + [mhf~8] Começa a adicionar a compatibilidade com o $GIT_DIR/remotes/.
    *++ [master] Adiciona 'git show-branch'.

note: type: Plain text
en: These three branches all forked from a common commit, [master], whose commit message is "Add \'git show-branch'".  The "fixes" branch adds one commit "Introduce "reset type" flag to "git reset"". The "mhf" branch adds many other commits.  The current branch is "master".
pt_BR: Todos estes três ramos foram bifurcados em um commit comum, [master], cuja mensagem do commit é "Add \'git show-branch'".  O ramo "fixes" adiciona um commit "Introduz a opção "reset type" para o comando "git reset"". O ramo "mhf" adiciona muitos outros commits.  O ramo atual é "master".

note: type: Plain text
en: If you keep your primary branches immediately under `refs/heads`, and topic branches in subdirectories of it, having the following in the configuration file may help:
pt_BR: Caso mantenha os seus ramos principais imediatamente sob `refs/heads` e tópico dos ramos nos subdiretórios, ter o seguinte no arquivo de configuração pode ajudar:

note: type: Plain text
en: With this, `git show-branch` without extra parameters would show only the primary branches.  In addition, if you happen to be on your topic branch, it is shown as well.
pt_BR: Com isso, o comando `git show branch` sem parâmetros extras exibiria apenas as principais ramificações.  Além disso, caso esteja no tópico do ramo, ele também será exibido.

note: type: delimited block -
en: $ git show-branch --reflog="10,1 hour ago" --list master
pt_BR: $ git show-branch --reflog="10,1 horas atrás" --list master

note: type: Plain text
en: shows 10 reflog entries going back from the tip as of 1 hour ago.  Without `--list`, the output also shows how these tips are topologically related with each other.
pt_BR: exibe 10 entradas "reflogs" retornando do cume há uma hora atrás.  Sem `--list`, a saída também exibe como estes cumes estão topologicamente relacionados entre si.

note: type: Plain text
en: git-show-index - Show packed archive index
pt_BR: git-show-index - Exibe o índice do arquivo empacotado

note: type: Plain text
en: 'git show-index' [--object-format=<hash-algorithm>]
pt_BR: 'git show-index' [--object-format=<algoritmo-hash>]

note: type: Plain text
en: Read the `.idx` file for a Git packfile (created with linkgit:git-pack-objects[1] or linkgit:git-index-pack[1]) from the standard input, and dump its contents. The output consists of one object per line, with each line containing two or three space-separated columns:
pt_BR: Leia o arquivo `.idx` para um arquivo do pacote Git (criado com os objetos linkgit:git-pack[1] ou linkgit:git-index-pack[1]) da entrada padrão e despeje o seu conteúdo. A saída consiste em um objeto por linha, com cada linha contendo duas ou três colunas separadas por espaço:

note: type: Plain text
en: the first column is the offset in bytes of the object within the corresponding packfile
pt_BR: a primeira coluna é a compensação em bytes do objeto no arquivo do pacote correspondente

note: type: Plain text
en: the second column is the object id of the object
pt_BR: a segunda coluna é o ID do objeto

note: type: Plain text
en: if the index version is 2 or higher, the third column contains the CRC32 of the object data
pt_BR: caso a versão do índice for 2 ou superior, a terceira coluna conterá o CRC32 dos dados do objeto

note: type: Plain text
en: The objects are output in the order in which they are found in the index file, which should be (in a correctly constructed file) sorted by object id.
pt_BR: Os objetos são gerados na ordem em que são encontrados no arquivo do índice, que deve ser (em um arquivo construído corretamente) classificado pela ID do objeto.

note: type: Plain text
en: Note that you can get more information on a packfile by calling linkgit:git-verify-pack[1]. However, as this command considers only the index file itself, it's both faster and more flexible.
pt_BR: Observe que você pode obter mais informações sobre um arquivo do pacote chamando linkgit:git-verify-pack[1]. No entanto, como este comando considera apenas o próprio arquivo do índice, é mais rápido e flexível.

note: type: Plain text
en: Specify the given object format (hash algorithm) for the index file.  The valid values are 'sha1' and (if enabled) 'sha256'.  The default is the algorithm for the current repository (set by `extensions.objectFormat`), or 'sha1' if no value is set or outside a repository..
pt_BR: Defina o formato do objeto informado (algoritmo hash) para o arquivo do índice.  Os valores válidos são 'sha1' e (se ativado) 'sha256'.  A predefinição é o algoritmo para o repositório atual (definido através da opção `extensions.objectFormat`) ou 'sha1' caso nenhum valor seja definido dentro ou fora do repositório.

note: type: Plain text
en: git-show-ref - List references in a local repository
pt_BR: git-show-ref - Liste as referências no repositório local

note: type: Plain text
en: 'git show-ref' [-q|--quiet] [--verify] [--head] [-d|--dereference]
    	     [-s|--hash[=<n>]] [--abbrev[=<n>]] [--tags]
    	     [--heads] [--] [<pattern>...]
    'git show-ref' --exclude-existing[=<pattern>]
pt_BR: 'git show-ref' [-q|--quiet] [--verify] [--head] [-d|--dereference]
    	     [-s|--hash[=<n>]] [--abbrev[=<n>]] [--tags]
    	     [--heads] [--] [<padrão>...]
    'git show-ref' --exclude-existing[=<padrão>]

note: type: Plain text
en: Displays references available in a local repository along with the associated commit IDs. Results can be filtered using a pattern and tags can be dereferenced into object IDs. Additionally, it can be used to test whether a particular ref exists.
pt_BR: Exiba as referências disponíveis em um repositório local, juntamente com as IDs dos commits associados. Os resultados podem ser filtrados utilizando um padrão e as tags podem perder as suas referências nas IDs dos objetos. Além disso, pode ser utilizado para fazer um teste e ver se existe uma "ref" específica.

note: type: Plain text
en: By default, shows the tags, heads, and remote refs.
pt_BR: É predefinido que se exiba as tags, cabeçalhos e as referências remotas.

note: type: Plain text
en: The --exclude-existing form is a filter that does the inverse. It reads refs from stdin, one ref per line, and shows those that don't exist in the local repository.
pt_BR: A opção `--exclude-existing` é uma forma de filtro que faz o inverso. Ele lê as refs do 'stdin', uma "ref" por linha, e exibe aqueles que não existem no repositório local.

note: type: Plain text
en: Use of this utility is encouraged in favor of directly accessing files under the `.git` directory.
pt_BR: O uso deste utilitário é incentivado em favor do acesso direto aos arquivos no diretório `.git`.

note: type: Plain text
en: Show the HEAD reference, even if it would normally be filtered out.
pt_BR: Exibe a referência `HEAD`, mesmo que ela normalmente fosse filtrada.

note: type: Plain text
en: Limit to "refs/heads" and "refs/tags", respectively.  These options are not mutually exclusive; when given both, references stored in "refs/heads" and "refs/tags" are displayed.
pt_BR: Limite para "refs/heads" e "refs/tags", respectivamente.  Estas opções não são mutuamente exclusivas; quando utilizadas, as referências armazenadas em "refs/heads" e "refs/tags" são exibidas.

note: type: Plain text
en: Dereference tags into object IDs as well. They will be shown with "{caret}{}" appended.
pt_BR: Remova as referências das tags dos IDs do objeto também. Eles serão exibidos com um "{caret}{}" anexado.

note: type: Plain text
en: Only show the SHA-1 hash, not the reference name. When combined with --dereference the dereferenced tag will still be shown after the SHA-1.
pt_BR: Exiba apenas o hash SHA-1, não o nome da referência. Quando combinada com `--dereference`, a tag da perda da referência ainda será exibida após o SHA-1.

note: type: Plain text
en: Enable stricter reference checking by requiring an exact ref path.  Aside from returning an error code of 1, it will also print an error message if `--quiet` was not specified.
pt_BR: Ative a verificação de referência mais rigorosa, exigindo um caminho de referência exato.  Além de retornar um código de erro 1, ele também imprimirá uma mensagem de erro caso a opção `--quiet` não tiver sido utilizada.

note: type: Plain text
en: Abbreviate the object name.  When using `--hash`, you do not have to say `--hash --abbrev`; `--hash=n` would do.
pt_BR: Abrevie o nome do objeto.  Ao utilizar `--hash`, não é necessário a opção `--hash --abbrev`; a opção `--hash=n` já faz.

note: type: Plain text
en: Do not print any results to stdout. When combined with `--verify` this can be used to silently check if a reference exists.
pt_BR: Não imprima nenhum resultado no stdout. Quando combinado com a opção `--verify`, isso pode ser utilizado para verificar silenciosamente a existência de uma referência.

note: type: Labeled list
en: --exclude-existing[=<pattern>]
pt_BR: --exclude-existing[=<padrão>]

note: type: Plain text
en: Make 'git show-ref' act as a filter that reads refs from stdin of the form "`^(?:<anything>\s)?<refname>(?:\^{})?$`" and performs the following actions on each:
pt_BR: Faça com que o comando 'git show-ref' atue como um filtro que leia as refs do stdin no formato "`^(?:<anything>\s)?<refname>(?:\^{})?$`" e execute o seguintes ações em cada:

note: type: Plain text
en: strip "{caret}{}" at the end of line if any;
pt_BR: tira o "{caret}{}" no final da linha, caso haja;

note: type: Plain text
en: ignore if pattern is provided and does not head-match refname;
pt_BR: ignore caso a predefinição seja informada e não corresponder ao cabeçalho a "refname";

note: type: Plain text
en: warn if refname is not a well-formed refname and skip;
pt_BR: avise caso o "refname" não seja um "refname" bem formado e ignore;

note: type: Plain text
en: ignore if refname is a ref that exists in the local repository;
pt_BR: ignore caso o "refname" é uma "ref" que exista no repositório local;

note: type: Plain text
en: otherwise output the line.
pt_BR: caso contrário, imprima a linha.

note: type: Plain text
en: Show references matching one or more patterns. Patterns are matched from the end of the full name, and only complete parts are matched, e.g.  'master' matches 'refs/heads/master', 'refs/remotes/origin/master', 'refs/tags/jedi/master' but not 'refs/heads/mymaster' or 'refs/remotes/master/jedi'.
pt_BR: Exiba as referências coincidentes a um ou mais padrões. Os padrões são coincididos a partir do final do nome completo e apenas as peças completas são coincididas, por exemplo, 'master' coincide com 'refs/heads/master', 'refs/remotes/origin/master', 'refs/tags/jedi/master' mas não com 'refs/heads/mymaster' ou 'refs/remotes/master/jedi'.

note: type: Plain text
en: The output is in the format: '<SHA-1 ID>' '<space>' '<reference name>'.
pt_BR: A saída está no formato: '<SHA-1 ID>' '<espaço>' '<nome da referência>'.

note: type: Plain text
en: When using --hash (and not --dereference) the output format is: '<SHA-1 ID>'
pt_BR: Ao utilizar o `--hash` (e não `--dereference`), o formato de saída é: '<ID do SHA-1>'

note: type: Plain text
en: To show all references called "master", whether tags or heads or anything else, and regardless of how deep in the reference naming hierarchy they are, use:
pt_BR: Para exibir todas as referências chamadas "master", sejam tags, cabeçalhos ou qualquer outro, e independentemente da profundidade na hierarquia dos nomes de referência, utilize:

note: type: Plain text
en: This will show "refs/heads/master" but also "refs/remote/other-repo/master", if such references exists.
pt_BR: Exibirá "refs/heads/master" e também "refs/remote/other-repo/master", caso tais referências existam.

note: type: Plain text
en: When using the `--verify` flag, the command requires an exact path:
pt_BR: Quando utilizar a opção `--verify`, o comando precisa de um caminho exato:

note: type: Plain text
en: will only match the exact branch called "master".
pt_BR: coincidirá apenas ao ramo exato chamado "master".

note: type: Plain text
en: If nothing matches, 'git show-ref' will return an error code of 1, and in the case of verification, it will show an error message.
pt_BR: Caso não haja coincidência com nada, o comando 'git show-ref' retornará um código de erro '1' e no caso de uma verificação, exibirá uma mensagem de erro.

note: type: Plain text
en: For scripting, you can ask it to be quiet with the "--quiet" flag, which allows you to do things like
pt_BR: Para os scripts, é possível pedir para que fiquem em silêncio com a opção `--quiet`, que permite fazer coisas como

note: type: delimited block -
en: 	git show-ref --quiet --verify -- "refs/heads/$headname" ||
    		echo "$headname is not a valid branch"
pt_BR: 	git show-ref --quiet --verify -- "refs/heads/$headname" ||
    		echo "O $headname não é um ramo válido"

note: type: Plain text
en: to check whether a particular branch exists or not (notice how we don't actually want to show any results, and we want to use the full refname for it in order to not trigger the problem with ambiguous partial matches).
pt_BR: para verificar se um ramo específico existe ou não (observe como na verdade não queremos exibir os resultados e queremos usar o nome completo da "ref" para ele, a fim de não desencadear o problema com coincidências parciais e ambíguas).

note: type: Plain text
en: To show only tags, or only proper branch heads, use "--tags" and/or "--heads" respectively (using both means that it shows tags and heads, but not other random references under the refs/ subdirectory).
pt_BR: Para exibir adequadamente apenas as tags, ou apenas os cabeçalhos do ramo, utilize "--tags" e/ou "--heads" respectivamente (usando ambos significa que ele exibirá as tags e as heads, porém não as outras referências aleatórias no subdiretório 'refs/').

note: type: Plain text
en: To do automatic tag object dereferencing, use the "-d" or "--dereference" flag, so you can do
pt_BR: Para fazer a perda da referência automática da tag dos objetos, utilize a opção `-d` ou `--dereference` para que seja possível executar

note: type: Plain text
en: to get a listing of all tags together with what they dereference.
pt_BR: para obter uma lista de todas as "tags" junto com a perda da referência feita.

note: type: Plain text
en: git-show - Show various types of objects
pt_BR: git-show - Exibe vários tipos de objetos

note: type: Plain text
en: 'git show' [<options>] [<object>...]
pt_BR: 'git show' [<opções>] [<objeto>...]

note: type: Plain text
en: Shows one or more objects (blobs, trees, tags and commits).
pt_BR: Exibe um ou mais objetos (bolhas, árvores, tags e commits).

note: type: Plain text
en: For commits it shows the log message and textual diff. It also presents the merge commit in a special format as produced by 'git diff-tree --cc'.
pt_BR: Para commits, exibe a mensagem do registro log e a diferença textual. Ele também apresenta o commit de mesclagem em um formato especial, produzido por 'git diff-tree --cc'.

note: type: Plain text
en: For tags, it shows the tag message and the referenced objects.
pt_BR: Para tags, ele exibe a mensagem da tag e os objetos referenciados.

note: type: Plain text
en: For trees, it shows the names (equivalent to 'git ls-tree' with --name-only).
pt_BR: Para árvores, ele exibe os nomes (equivalente a `git ls-tree` com `--name-only`).

note: type: Plain text
en: For plain blobs, it shows the plain contents.
pt_BR: Para gotas simples, exibe o conteúdo simples.

note: type: Plain text
en: The command takes options applicable to the 'git diff-tree' command to control how the changes the commit introduces are shown.
pt_BR: O comando aceita as opções aplicáveis ao comando `git diff-tree` para controlar como as modificações feitas pelo commit são exibidas.

note: type: Plain text
en: This manual page describes only the most frequently used options.
pt_BR: Esta página do manual descreve apenas as opções utilizadas com mais frequência.

note: type: Labeled list
en: <object>...
pt_BR: <objeto>...

note: type: Plain text
en: The names of objects to show (defaults to 'HEAD').  For a more complete list of ways to spell object names, see "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
pt_BR: Os nomes dos objetos a serem exibidos (a predefinição retorna para 'HEAD').  Para obter uma lista mais completa de maneiras de soletrar os nomes dos objetos, consulte a seção "DEFININDO AS REVISÕES" em linkgit:gitrevisions[7].

note: type: Plain text
en: Shows the tag `v1.0.0`, along with the object the tags points at.
pt_BR: Exibe a tag `v1.0.0` junto com o objeto que as tags apontarem.

note: type: Plain text
en: Shows the tree pointed to by the tag `v1.0.0`.
pt_BR: Exibe a árvore apontada pela tag `v1.0.0`.

note: type: Plain text
en: Shows the subject of the commit pointed to by the tag `v1.0.0`.
pt_BR: Exiba o assunto do commit apontado pela tag `v1.0.0`.

note: type: Plain text
en: Shows the contents of the file `Documentation/README` as they were current in the 10th last commit of the branch `next`.
pt_BR: Exibe o conteúdo do arquivo `Documentation/README` como eles estavam atualmente no décimo último commit do ramo `next`.

note: type: Plain text
en: Concatenates the contents of said Makefiles in the head of the branch `master`.
pt_BR: Concatena o conteúdo dos referidos Makefiles no `HEAD` do ramo `master`.

note: type: Plain text
en: git-sh-setup - Common Git shell script setup code
pt_BR: git-sh-setup - Código de configuração do shell script comum ao Git

note: type: Plain text
en: The 'git sh-setup' scriptlet is designed to be sourced (using `.`) by other shell scripts to set up some variables pointing at the normal Git directories and a few helper shell functions.
pt_BR: O scriptlet 'git sh-setup' foi projetado para ser originado (usando `.`) através dos outros scripts shell para configurar algumas variáveis apontando para os diretórios normais do Git e algumas funções auxiliares do shell.

note: type: Plain text
en: Before sourcing it, your script should set up a few variables; `USAGE` (and `LONG_USAGE`, if any) is used to define message given by `usage()` shell function.  `SUBDIRECTORY_OK` can be set if the script can run from a subdirectory of the working tree (some commands do not).
pt_BR: Antes de procurá-lo, o seu script deve configurar algumas variáveis; `USAGE` (e `LONG_USAGE`, caso haja) é utilizado para definir a mensagem informada através da função shell `use ()`.  O `SUBDIRECTORY_OK` pode ser definido caso o script possa ser executado a partir de um subdiretório da árvore de trabalho (alguns comandos não podem).

note: type: Plain text
en: The scriptlet sets `GIT_DIR` and `GIT_OBJECT_DIRECTORY` shell variables, but does *not* export them to the environment.
pt_BR: O scriptlet define o `GIT_DIR` e as variáveis shell `GIT_OBJECT_DIRECTORY`, porém *não* as exporta no ambiente.

note: type: Plain text
en: exit after emitting the supplied error message to the standard error stream.
pt_BR: encerra após emitir a mensagem de erro informada no fluxo de erros predefinido.

note: type: Plain text
en: die with the usage message.
pt_BR: encerre com a mensagem do consumo.

note: type: Plain text
en: Set `GIT_REFLOG_ACTION` environment to a given string (typically the name of the program) unless it is already set.  Whenever the script runs a `git` command that updates refs, a reflog entry is created using the value of this string to leave the record of what command updated the ref.
pt_BR: Defina a variável de ambiente `GIT_REFLOG_ACTION` para um determinado texto (tipicamente o nome do programa) a menos que já esteja definido.  Sempre que o script executa um comando `git` que atualiza as refs, um lançamento no reflog é criad usando o valor deste texto para deixar o registro onde comando atualizou a "ref".

note: type: Plain text
en: runs an editor of user's choice (GIT_EDITOR, core.editor, VISUAL or EDITOR) on a given file, but error out if no editor is specified and the terminal is dumb.
pt_BR: executa um editor selecionado pelo usuário (GIT_EDITOR, core.editor, VISUAL ou EDITOR) em um determinado arquivo, mas com erro caso nenhum editor seja definido e o terminal for burro.

note: type: Plain text
en: outputs `true` or `false` to the standard output stream to indicate if the repository is a bare repository (i.e. without an associated working tree).
pt_BR: gera `true` ou `false` no fluxo da saída padrão para indicar caso o repositório seja um repositório simples (ou seja, sem uma associação a qualquer árvore de trabalho).

note: type: Plain text
en: runs chdir to the toplevel of the working tree.
pt_BR: executa o 'chdir' no nível mais alto da árvore de trabalho.

note: type: Plain text
en: checks if the current directory is within the working tree of the repository, and otherwise dies.
pt_BR: verifica se o diretório atual está dentro da árvore de trabalho do repositório, ou de outra forma, encerre.

note: type: Plain text
en: checks if the working tree associated with the repository exists, and otherwise dies.  Often done before calling cd_to_toplevel, which is impossible to do if there is no working tree.
pt_BR: verifica se a árvore de trabalho associada ao repositório existe, ou de outra forma, encerre.  Geralmente é feito antes de chamar o `cd_to_toplevel`, o que é impossível de fazer caso não haja uma árvore de trabalho em funcionamento.

note: type: Labeled list
en: require_clean_work_tree <action> [<hint>]
pt_BR: require_clean_work_tree <ação> [<dica>]

note: type: Plain text
en: checks that the working tree and index associated with the repository have no uncommitted changes to tracked files.  Otherwise it emits an error message of the form `Cannot <action>: <reason>. <hint>`, and dies.  Example:
pt_BR: verifica se a arvore de trabalho e o índice associados ao repositório possuam alterações nos commits que não foram feitos  dos arquivos monitorados. Caso contrário, emita uma mensagem de erro no formato `Cannot <ação>: <motivo>. <dica>`, e encerre.  Exemplo:

note: type: Plain text
en: outputs code for use with eval to set the GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL and GIT_AUTHOR_DATE variables for a given commit.
pt_BR: gera o código para uso com o 'eval' para definir as variáveis `GIT_AUTHOR_NAME`, `GIT_AUTHOR_EMAIL` e `GIT_AUTHOR_DATE` para um determinado commit.

note: type: Plain text
en: modifies the first file so only lines in common with the second file remain. If there is insufficient common material, then the first file is left empty. The result is suitable as a virtual base input for a 3-way merge.
pt_BR: modifica o primeiro arquivo para que apenas as linhas em comum com o segundo arquivo permaneçam. Caso haja um material comum insuficiente, o primeiro arquivo será deixado vazio. O resultado é adequado como uma entrada da base virtual para mesclagem de três vias.

note: type: Plain text
en: git-stage - Add file contents to the staging area
pt_BR: git-stage - Adicione o conteúdo do arquivo na área de preparação

note: type: Plain text
en: This is a synonym for linkgit:git-add[1].  Please refer to the documentation of that command.
pt_BR: É um sinônimo para linkgit:git-add[1].  Para referências deste comando, favor consultar a documentação.

note: type: Plain text
en: git-stash - Stash the changes in a dirty working directory away
pt_BR: git-stash - Acumula as alterações em um outro diretório de trabalho

note: type: Plain text
en: 'git stash' list [<options>]
    'git stash' show [<options>] [<stash>]
    'git stash' drop [-q|--quiet] [<stash>]
    'git stash' ( pop | apply ) [--index] [-q|--quiet] [<stash>]
    'git stash' branch <branchname> [<stash>]
    'git stash' [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
    	     [-u|--include-untracked] [-a|--all] [-m|--message <message>]
    	     [--pathspec-from-file=<file> [--pathspec-file-nul]]
    	     [--] [<pathspec>...]]
    'git stash' clear
    'git stash' create [<message>]
    'git stash' store [-m|--message <message>] [-q|--quiet] <commit>
pt_BR: 'git stash' list [<opções>]
    'git stash' show [<opções>] [<stash>]
    'git stash' drop [-q|--quiet] [<stash>]
    'git stash' ( pop | apply ) [--index] [-q|--quiet] [<stash>]
    'git stash' branch <nome-do-ramo> [<stash>]
    'git stash' [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
    	     [-u|--include-untracked] [-a|--all] [-m|--message <mensagem>]
    	     [--pathspec-from-file=<arquivo> [--pathspec-file-nul]]
    	     [--] [<pathspec>...]]
    'git stash' clear
    'git stash' create [<mensagem>]
    'git stash' store [-m|--message <mensagem>] [-q|--quiet] <commit>

note: type: Plain text
en: Use `git stash` when you want to record the current state of the working directory and the index, but want to go back to a clean working directory.  The command saves your local modifications away and reverts the working directory to match the `HEAD` commit.
pt_BR: Use o comando `git stash` quando quiser gravar a condição atual do diretório ativo e do índice, porém queira voltar para um diretório funcional limpo.  O comando salva as suas alterações locais e reverte o diretório de trabalho para coincidir ao commit `HEAD`.

note: type: Plain text
en: The modifications stashed away by this command can be listed with `git stash list`, inspected with `git stash show`, and restored (potentially on top of a different commit) with `git stash apply`.  Calling `git stash` without any arguments is equivalent to `git stash push`.  A stash is by default listed as "WIP on 'branchname' ...", but you can give a more descriptive message on the command line when you create one.
pt_BR: As alterações armazenadas por este comando podem ser listadas com o comando `git stash list`, inspecionadas com o comando `git stash show` e restauradas (potencialmente em cima de um commit diferente) com o comando `git stash apply`.  Chamar o comando `git stash` sem argumentos é o equivalente que executar o comando `git stash push`.  É predefinido que um "stash" seja listado como "WIP no 'nomedoramo' ...", porém você pode fornecer uma mensagem mais descritiva na linha de comando durante a criação de um.

note: type: Plain text
en: The latest stash you created is stored in `refs/stash`; older stashes are found in the reflog of this reference and can be named using the usual reflog syntax (e.g. `stash@{0}` is the most recently created stash, `stash@{1}` is the one before it, `stash@{2.hours.ago}` is also possible). Stashes may also be referenced by specifying just the stash index (e.g. the integer `n` is equivalent to `stash@{n}`).
pt_BR: O último "stash" que você criou é armazenado em `refs/stash`; os "stash" mais antigos são encontrados no "reflog" desta referência e podem ser nomeados usando a sintaxe usual do "reflog" (como, por exemplo, `stash@{0}` é o "stash" criado mais recentemente, o `stash@{1}` é o anterior, o `stash@{2.hours.ago}` também é possível). As pilhas "stash" também podem ser referenciadas definindo apenas o índice "stash" (como, por exemplo, o número inteiro `n` é o equivalente a um `stash@{n}`).

note: type: Labeled list
en: push [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [-m|--message <message>] [--pathspec-from-file=<file> [--pathspec-file-nul]] [--] [<pathspec>...]
pt_BR: push [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [-m|--message <mensagem>] [--pathspec-from-file=<arquivo> [--pathspec-file-nul]] [--] [<pathspec>...]

note: type: Plain text
en: Save your local modifications to a new 'stash entry' and roll them back to HEAD (in the working tree and in the index).  The <message> part is optional and gives the description along with the stashed state.
pt_BR: Salva as suas alterações locais em uma novo lançamento na 'stash' e reverta-as para `HEAD` (na árvore de trabalho e no índice).  A parte da <mensagem> é opcional e dá a descrição junto com a condição do empilhamento.

note: type: Plain text
en: For quickly making a snapshot, you can omit "push".  In this mode, non-option arguments are not allowed to prevent a misspelled subcommand from making an unwanted stash entry.  The two exceptions to this are `stash -p` which acts as alias for `stash push -p` and pathspec elements, which are allowed after a double hyphen `--` for disambiguation.
pt_BR: Para fazer um instantâneo de forma rápida, você pode omitir o "push".  Neste modo, os argumentos não opcionais não são permitidos, visam impedir que um subcomando com erro de ortografia faça uma entrada na pilha indesejada.  As duas exceções são `stash -p`, que atua como um alias para o `stash push -p` e os elementos pathspec, que são permitidos após um hífen duplo `--` para desambiguação.

note: type: Labeled list
en: save [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [<message>]
pt_BR: save [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [<mensagem>]

note: type: Plain text
en: This option is deprecated in favour of 'git stash push'.  It differs from "stash push" in that it cannot take pathspec.  Instead, all non-option arguments are concatenated to form the stash message.
pt_BR: Esta opção já está obsoleta em favor da opção 'git stash push'.  Difere do "stash push", pois não pode lidar com o pathspec.  Em vez disso, todos os argumentos não opcionais são concatenados para formar a mensagem "stash".

note: type: Labeled list
en: list [<options>]
pt_BR: list [<opções>]

note: type: Plain text
en: List the stash entries that you currently have.  Each 'stash entry' is listed with its name (e.g. `stash@{0}` is the latest entry, `stash@{1}` is the one before, etc.), the name of the branch that was current when the entry was made, and a short description of the commit the entry was based on.
pt_BR: Lista as entradas acumuladas ('stash') que você possui atualmente.  Cada 'entrada stash' é listada com o seu nome (como por exemplo, `stash@{0}` é o lançamento mais recente, `stash@{1}` é o lançamento anterior etc.), o nome do ramo que estava atual quando o foi feito um lançamento e uma breve descrição do commit onde a entrada teve base.

note: type: Plain text
en: The command takes options applicable to the 'git log' command to control what is shown and how. See linkgit:git-log[1].
pt_BR: O comando aceita as opções aplicáveis ao comando 'git log' para controlar o que é exibido e como. See linkgit:git-log[1].

note: type: Labeled list
en: show [<options>] [<stash>]
pt_BR: show [<opções>] [<stash>]

note: type: Plain text
en: Show the changes recorded in the stash entry as a diff between the stashed contents and the commit back when the stash entry was first created.  By default, the command shows the diffstat, but it will accept any format known to 'git diff' (e.g., `git stash show -p stash@{1}` to view the second most recent entry in patch form).  You can use stash.showStat and/or stash.showPatch config variables to change the default behavior.
pt_BR: Exiba as alterações registradas na entrada 'stash' como uma diferença entre o conteúdo oculto e o commit quando a entrada stash for criada.  É predefinido que o comando exiba o "diffstat", porém aceite qualquer formato informado pelo comando 'git diff' (como por exemplo, `git stash show -p stash@{1}` para exibir a segunda entrada mais recente em formato patch).  Você pode usar as variáveis de configuração `stash.showStat` e/ou `stash.showPatch` para alterar o comportamento predefinido.

note: type: Plain text
en: Remove a single stashed state from the stash list and apply it on top of the current working tree state, i.e., do the inverse operation of `git stash push`. The working directory must match the index.
pt_BR: Remova a única condição do empilhamento da lista e aplique-o sobre a condição atual da árvore de trabalho, ou seja, faça a operação inversa do comando `git stash push`. O diretório de trabalho deve corresponder ao índice. O diretório de trabalho deve coincidir com o índice.

note: type: Plain text
en: Applying the state can fail with conflicts; in this case, it is not removed from the stash list. You need to resolve the conflicts by hand and call `git stash drop` manually afterwards.
pt_BR: A aplicação da condição pode falhar com conflitos; neste caso, ele não é removido da lista de estoque 'stash'. É necessário resolver os conflitos manualmente e chamar o comando `git stash drop` manualmente depois.

note: type: Plain text
en: Like `pop`, but do not remove the state from the stash list. Unlike `pop`, `<stash>` may be any commit that looks like a commit created by `stash push` or `stash create`.
pt_BR: Como `pop ', porém não remova a condição da lista de estoque 'stash'. Diferente de `pop`, `<stash>` pode ser qualquer commit que se pareça com um commit criado através do comando `stash push` ou `stash create`.

note: type: Labeled list
en: branch <branchname> [<stash>]
pt_BR: branch <nome-do-ramo> [<stash>]

note: type: Plain text
en: Creates and checks out a new branch named `<branchname>` starting from the commit at which the `<stash>` was originally created, applies the changes recorded in `<stash>` to the new working tree and index.  If that succeeds, and `<stash>` is a reference of the form `stash@{<revision>}`, it then drops the `<stash>`.
pt_BR: Cria e efetua a averiguação de um novo ramo chamado `<nome-do-ramo>` iniciando a partir do commit onde o `<stash>` foi criado originalmente, aplica as alterações registradas do `<stash>` na nova árvore de trabalho e no índice.  Caso seja bem-sucedido, e `<stash>` for uma referência do formulário `stash@{<revision>}`, ele liberará o `<stash>`.

note: type: Plain text
en: This is useful if the branch on which you ran `git stash push` has changed enough that `git stash apply` fails due to conflicts. Since the stash entry is applied on top of the commit that was HEAD at the time `git stash` was run, it restores the originally stashed state with no conflicts.
pt_BR: É útil caso o ramo onde você executou o `git stash push` mude o suficiente para que o` git stash apply` falhe devido aos conflitos. Como o acumulo da entrada é aplicada no topo do commit que era o `HEAD` no momento em que o `git stash` foi executado, ela restaura a condição originalmente acumulada sem os conflitos.

note: type: Plain text
en: Remove all the stash entries. Note that those entries will then be subject to pruning, and may be impossible to recover (see 'Examples' below for a possible strategy).
pt_BR: Remova todos os lançamentos acumulados. Observe que estas entradas estarão sujeitas a remoção e podem ser impossíveis de serem recuperadas (consulte 'Exemplos' abaixo para uma possível estratégia).

note: type: Plain text
en: Remove a single stash entry from the list of stash entries.
pt_BR: Remova uma única entrada stash da lista das entradas stash.

note: type: Plain text
en: Create a stash entry (which is a regular commit object) and return its object name, without storing it anywhere in the ref namespace.  This is intended to be useful for scripts.  It is probably not the command you want to use; see "push" above.
pt_BR: Crie uma entrada 'stash' (que é um objeto commit comum) e retorne seu nome de objeto, sem armazená-la em qualquer outro lugar no espaço de nomes "ref".  Isso tem a intenção de ser útil para scripts.  Provavelmente não é o comando que você deseja usar; veja o "push" acima.

note: type: Plain text
en: Store a given stash created via 'git stash create' (which is a dangling merge commit) in the stash ref, updating the stash reflog.  This is intended to be useful for scripts.  It is probably not the command you want to use; see "push" above.
pt_BR: Armazene um determinado "stash" criado através do comando 'git stash create' (que é um commit pendente de mesclagem) na "ref" determinada, atualizando o "reflog" do "stash".  Isso tem a intenção de ser útil para scripts.  Provavelmente não é o comando que você deseja usar; veja o "push" acima.

note: type: Plain text
en: This option is only valid for `push` and `save` commands.
pt_BR: Esta opção só é válida para os comandos `push` e `save`.

note: type: Plain text
en: All ignored and untracked files are also stashed and then cleaned up with `git clean`.
pt_BR: Todos os arquivos ignorados e não monitorados também são armazenados em cache e limpos com o comando `git clean`.

note: type: Plain text
en: All untracked files are also stashed and then cleaned up with `git clean`.
pt_BR: Todos os arquivos que não sejam monitorados também são escondidos e limpos com o `git clean`.

note: type: Plain text
en: This option is only valid for `pop` and `apply` commands.
pt_BR: Esta opção só é válida para os comandos `pop` e `apply`.

note: type: Plain text
en: Tries to reinstate not only the working tree's changes, but also the index's ones. However, this can fail, when you have conflicts (which are stored in the index, where you therefore can no longer apply the changes as they were originally).
pt_BR: Tenta restabelecer não apenas as alterações da árvore de trabalho, mas também as do índice. No entanto, isso pode falhar quando há conflitos (que são armazenados no índice e portanto, não é mais possível aplicar as alterações como eram originalmente).

note: type: Plain text
en: All changes already added to the index are left intact.
pt_BR: Todas as alterações que já foram adicionadas ao índice não são alteradas.

note: type: Plain text
en: Interactively select hunks from the diff between HEAD and the working tree to be stashed.  The stash entry is constructed such that its index state is the same as the index state of your repository, and its worktree contains only the changes you selected interactively.  The selected changes are then rolled back from your worktree. See the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
pt_BR: Selecione a diferença entre os blocos interativamente entre HEAD e a árvore de trabalho a serem estocados.  The stash entry is constructed such that its index state is the same as the index state of your repository, and its worktree contains only the changes you selected interactively.  The selected changes are then rolled back from your worktree. Consulte a seção ``Modo Interativo'' do linkgit:git-add[1] para aprender como operar o modo `--patch`.

note: type: Plain text
en: The `--patch` option implies `--keep-index`.  You can use `--no-keep-index` to override this.
pt_BR: A opção `--patch` implica no uso da opção `--keep-index`.  Você pode usar a `--no-keep-index` para substituir isso.

note: type: Plain text
en: This option is only valid for `push` command.
pt_BR: Esta opção só é válida para o comando `push`.

note: type: Plain text
en: This option is only valid for `apply`, `drop`, `pop`, `push`, `save`, `store` commands.
pt_BR: Esta opção só é válida para os comandos `apply`, `drop`, `pop`, `push`, `save` e `store`.

note: type: Plain text
en: Separates pathspec from options for disambiguation purposes.
pt_BR: Separa o 'pathspec' das opções para fins de desambiguação.

note: type: Plain text
en: The new stash entry records the modified states only for the files that match the pathspec.  The index entries and working tree files are then rolled back to the state in HEAD only for these files, too, leaving files that do not match the pathspec intact.
pt_BR: A nova entrada stash registra as condições alteradas apenas para os arquivos que coincidam com o 'pathspec'.  As entradas de índice e os arquivos da árvore de trabalho são revertidos para a condição no `HEAD` apenas para estes arquivos, deixando também os arquivos que não correspondem ao 'pathspec' intactos.

note: type: Plain text
en: This option is only valid for `apply`, `branch`, `drop`, `pop`, `show` commands.
pt_BR: Esta opção só é válida para os comandos `apply`, `branch`, `drop`, `pop` e `show`.

note: type: Plain text
en: A reference of the form `stash@{<revision>}`. When no `<stash>` is given, the latest stash is assumed (that is, `stash@{0}`).
pt_BR: Uma referência do formulário `stash@{<revisão>}`. Quando nenhum `<stash>` é informado, o último "stash" é assumido (ou seja, `stash@{0}`).

note: type: Plain text
en: A stash entry is represented as a commit whose tree records the state of the working directory, and its first parent is the commit at `HEAD` when the entry was created.  The tree of the second parent records the state of the index when the entry is made, and it is made a child of the `HEAD` commit.  The ancestry graph looks like this:
pt_BR: Uma o lançamento no estoque 'stash' é representado como um commit cuja árvore registra a condição do diretório de trabalho e a sua primeira origem é o commit no `HEAD` quando a entrada foi criada.  A árvore da segunda origem registra a condição do índice quando o lançamento é feito, e é feito um herdeiro do commit `HEAD`.  O grafo de ascendência fica assim:

note: type: Plain text
en: where `H` is the `HEAD` commit, `I` is a commit that records the state of the index, and `W` is a commit that records the state of the working tree.
pt_BR: onde `H` é o commit `HEAD`, `I` é um commit que registra a condição do índice e `W` é um commit que registra a condição da árvore de trabalho.

note: type: Labeled list
en: Pulling into a dirty tree
pt_BR: Obtendo de um diretório sujo

note: type: Plain text
en: When you are in the middle of something, you learn that there are upstream changes that are possibly relevant to what you are doing.  When your local changes do not conflict with the changes in the upstream, a simple `git pull` will let you move forward.
pt_BR: Quando você está no meio de alguma coisa, aprende que há alterações upstream que são possivelmente relevantes para o que você está fazendo.  Quando as suas alterações locais não entrarem em conflito com as alterações na "upstream", um simples `git pull` permitirá que você avance.

note: type: Plain text
en: However, there are cases in which your local changes do conflict with the upstream changes, and `git pull` refuses to overwrite your changes.  In such a case, you can stash your changes away, perform a pull, and then unstash, like this:
pt_BR: No entanto, há casos onde as suas alterações locais entram em conflito com as alterações na upstream, e o `git pull` se recusa a sobrescrever as suas alterações.  Nesse caso, é possível ocultar as suas alterações, executar um 'pull' e remover da pilha, da seguinte maneira:

note: type: Plain text
en: When you are in the middle of something, your boss comes in and demands that you fix something immediately.  Traditionally, you would make a commit to a temporary branch to store your changes away, and return to your original branch to make the emergency fix, like this:
pt_BR: Quando você está no meio de alguma coisa, seu chefe entra e exige que você conserte algo imediatamente.  Tradicionalmente, você faria um commit em um ramo temporário para armazenar as suas alterações e retornava ao ramo original para fazer a correção de emergência, assim:

note: type: delimited block -
en: # ... hack hack hack ...
    $ git switch -c my_wip
    $ git commit -a -m "WIP"
    $ git switch master
    $ edit emergency fix
    $ git commit -a -m "Fix in a hurry"
    $ git switch my_wip
    $ git reset --soft HEAD^
    # ... continue hacking ...
pt_BR: # ... hack hack hack ...
    $ git switch -c my_wip
    $ git commit -a -m "WIP"
    $ git switch master
    $ edit emergency fix
    $ git commit -a -m "Arruma na pressa"
    $ git switch my_wip
    $ git reset --soft HEAD^
    # ... continue a hackear ...

note: type: Plain text
en: You can use 'git stash' to simplify the above, like this:
pt_BR: Você pode utilizar o comando 'git stash' para simplificar o exemplo acima:

note: type: delimited block -
en: # ... hack hack hack ...
    $ git stash
    $ edit emergency fix
    $ git commit -a -m "Fix in a hurry"
    $ git stash pop
    # ... continue hacking ...
pt_BR: # ... hack hack hack ...
    $ git stash
    $ edit emergency fix
    $ git commit -a -m "Arrumando na correria"
    $ git stash pop
    # ... continue a hackear ...

note: type: Labeled list
en: Testing partial commits
pt_BR: Testando commits parciais

note: type: Plain text
en: You can use `git stash push --keep-index` when you want to make two or more commits out of the changes in the work tree, and you want to test each change before committing:
pt_BR: Você pode utilizar o comando `git stash push --keep-index` quando quiser fazer dois ou mais commits das alterações na árvore de trabalho e queira testar cada uma das alterações antes de fazer o commit:

note: type: delimited block -
en: # ... hack hack hack ...
    $ git add --patch foo            # add just first part to the index
    $ git stash push --keep-index    # save all other changes to the stash
    $ edit/build/test first part
    $ git commit -m 'First part'     # commit fully tested change
    $ git stash pop                  # prepare to work on all other changes
    # ... repeat above five steps until one commit remains ...
    $ edit/build/test remaining parts
    $ git commit foo -m 'Remaining parts'
pt_BR: # ... hack hack hack ...
    $ git add --patch foo            # adiciona apenas a primeira parte ao índice
    $ git stash push --keep-index    # acumule todas as outras modificações
    $ edit/build/test first part
    $ git commit -m 'First part'     # faça o commit completo de todas as modificações testadas
    $ git stash pop                  # prepare para trabalhar em todas as outras modificações
    # ... repita os cinco passos acima até que sobre apenas um commit ...
    $ edit/build/test remaining parts
    $ git commit foo -m 'Partes resultantes'

note: type: Labeled list
en: Recovering stash entries that were cleared/dropped erroneously
pt_BR: Recuperando entradas stash que foram limpas/eliminadas erroneamente

note: type: Plain text
en: If you mistakenly drop or clear stash entries, they cannot be recovered through the normal safety mechanisms.  However, you can try the following incantation to get a list of stash entries that are still in your repository, but not reachable any more:
pt_BR: Caso você derrube ou limpe as entradas stash por engano, elas não poderão mais ser recuperadas pelos mecanismos de segurança normais.  No entanto, é possível tentar o seguinte encantamento para obter uma lista das entradas stash que ainda estão em seu repositório, mas que não são mais acessíveis:

note: type: Plain text
en: git-status - Show the working tree status
pt_BR: git-status - Exibe o a condição da árvore de trabalho

note: type: Plain text
en: 'git status' [<options>...] [--] [<pathspec>...]
pt_BR: 'git status' [<opções>...] [--] [<pathspec>...]

note: type: Plain text
en: Displays paths that have differences between the index file and the current HEAD commit, paths that have differences between the working tree and the index file, and paths in the working tree that are not tracked by Git (and are not ignored by linkgit:gitignore[5]). The first are what you _would_ commit by running `git commit`; the second and third are what you _could_ commit by running 'git add' before running `git commit`.
pt_BR: Exibe os caminhos que têm diferenças entre o arquivo do índice e o commit atual no `HEAD`, os caminhos que têm diferenças entre a árvore de trabalho e o arquivo do índice, os caminhos na árvore de trabalho que não são rastreados pelo Git (e não foram ignorados pelo linkgit:gitignore[5]). O primeiro é o que você _confirmaria_ executando o comando `git commit`; o segundo e o terceiro são os que você pode confirmar, executando o comando `git add` antes de executar o comando `git commit`.

note: type: Plain text
en: Give the output in the short-format.
pt_BR: Dar a saída em um formato curto.

note: type: Plain text
en: Show the number of entries currently stashed away.
pt_BR: Exibe a quantidade de entradas ocultas atualmente.

note: type: Labeled list
en: --porcelain[=<version>]
pt_BR: --porcelain[=<versão>]

note: type: Plain text
en: Give the output in an easy-to-parse format for scripts.  This is similar to the short output, but will remain stable across Git versions and regardless of user configuration. See below for details.
pt_BR: Forneça a saída em um formato fácil de analisar para os scripts.  Isso é semelhante à saída curta, mas permanecerá estável nas versões do Git e independentemente da configuração do usuário. Veja abaixo os detalhes.

note: type: Plain text
en: The version parameter is used to specify the format version.  This is optional and defaults to the original version 'v1' format.
pt_BR: O parâmetro da versão é utilizado para definir a versão do formato.  Este é opcional e retorna para a predefinição do formato da versão original 'v1'.

note: type: Plain text
en: Give the output in the long-format. This is the default.
pt_BR: Gere um formato longo na saída. Esta é a predefinição.

note: type: Plain text
en: In addition to the names of files that have been changed, also show the textual changes that are staged to be committed (i.e., like the output of `git diff --cached`). If `-v` is specified twice, then also show the changes in the working tree that have not yet been staged (i.e., like the output of `git diff`).
pt_BR: Além dos nomes dos arquivos que foram alterados, exiba também as alterações textuais que são preparadas para o commit (ou seja, como a saída do `git diff --cached`). Caso a opção `-v` seja utilizada duas vezes, também exiba as alterações na árvore de trabalho que ainda não foram preparadas (ou seja, como a saída do comando `git diff`).

note: type: Plain text
en: The mode parameter is used to specify the handling of untracked files.  It is optional: it defaults to 'all', and if specified, it must be stuck to the option (e.g. `-uno`, but not `-u no`).
pt_BR: O parâmetro `modo` é utilizado para definir a manipulação dos arquivos não rastreados.  É opcional: a predefinição retorna para 'all' e caso seja definido, deve estar junto a opção (como por exemplo, `-uno`, porém não `-u no`).

note: type: Plain text
en: 'no'     - Show no untracked files.
pt_BR: 'no'     - Não exibe qualquer arquivo que não tenham sido rastreados.

note: type: Plain text
en: 'normal' - Shows untracked files and directories.
pt_BR: 'normal' - Exibe todos os arquivo e diretórios que não foram rastreados.

note: type: Plain text
en: When `-u` option is not used, untracked files and directories are shown (i.e. the same as specifying `normal`), to help you avoid forgetting to add newly created files.  Because it takes extra work to find untracked files in the filesystem, this mode may take some time in a large working tree.  Consider enabling untracked cache and split index if supported (see `git update-index --untracked-cache` and `git update-index --split-index`), Otherwise you can use `no` to have `git status` return more quickly without showing untracked files.
pt_BR: Quando a opção `-u` não é utilizada, os arquivos e diretórios não rastreados são exibidos (ou seja, o mesmo que usar `normal`), para ajudar a evitar o esquecimento de adicionar os arquivos recém-criados.  Como é necessário um trabalho extra para encontrar os arquivos que não foram rastreados no sistema de arquivos, esse modo pode levar algum tempo em uma grande árvore de trabalho.  Considere ativar o cache não rastreado e dividir o índice, se suportado (consulte `git update-index --untracked-cache` e `git update-index --split-index`). Caso contrário, você pode usar `no` para obter o retorno do comando `git status` mais rapidamente sem demonstrar quais foram os arquivos que não foram rastreados.

note: type: Plain text
en: Ignore changes to submodules when looking for changes. <when> can be either "none", "untracked", "dirty" or "all", which is the default.  Using "none" will consider the submodule modified when it either contains untracked or modified files or its HEAD differs from the commit recorded in the superproject and can be used to override any settings of the 'ignore' option in linkgit:git-config[1] or linkgit:gitmodules[5]. When "untracked" is used submodules are not considered dirty when they only contain untracked content (but they are still scanned for modified content). Using "dirty" ignores all changes to the work tree of submodules, only changes to the commits stored in the superproject are shown (this was the behavior before 1.7.0). Using "all" hides all changes to submodules (and suppresses the output of submodule summaries when the config option `status.submoduleSummary` is set).
pt_BR: Ignore as alterações nos submódulos ao procular pelas alterações. O `<quando>` pode ser "none" (nenhum), "untracked" (sem monitoramento/rastreamento), "dirty" (sujo) ou "all" (todos), que é a predefinição.  O "none" considera o submódulo modificado quando houver arquivos não estejam rastreados, modificados ou o seu `HEAD` seja diferente do commit registrado no superprojeto, pode ser utilizado para substituir qualquer configuração da opção 'ignore' (ignorar) em  linkgit:git-config[1] ou linkgit:gitmodules[5]. Quando o "untracked" é utilizado, os submódulos não são considerados sujos quando houver apenas  um conteúdo sem rastreamento (porém o monitoramento de alterações do seu conteúdo continua) O uso de "dirty" ignora todas as alterações na árvore de trabalho dos submódulos, apenas as alterações nos commit que foram armazenados no superprojeto são exibidos (esse era o comportamento anterior a versão 1.7.0). O uso de "all" oculta todas as alterações nos submódulos (e suprime a saída dos resumos dos submódulos quando a variável de configuração `status.submoduleSummary` estiver definida).

note: type: Labeled list
en: --ignored[=<mode>]
pt_BR: --ignored[=<modo>]

note: type: Plain text
en: Show ignored files as well.
pt_BR: Exiba os arquivos ignorados também.

note: type: Plain text
en: The mode parameter is used to specify the handling of ignored files.  It is optional: it defaults to 'traditional'.
pt_BR: O parâmetro de modo é utilizado para definir o manuseio dos arquivos ignorados.  É opcional: a sua predefinição retorna para 'traditional'.

note: type: Plain text
en: 'traditional' - Shows ignored files and directories, unless
pt_BR: 'traditional' - Exibe os arquivos e diretórios ignorados, a menos que

note: type: Plain text
en: --untracked-files=all is specified, in which case
    individual files in ignored directories are
    displayed.
pt_BR: --untracked-files=tudo é especificado, neste caso
    os arquivos individuais nos diretórios que foram
    ignorados são exibidos.

note: type: Plain text
en: 'no'	        - Show no ignored files.
pt_BR: 'no'	        - Não exibe os arquivos ignorados.

note: type: Plain text
en: 'matching'    - Shows ignored files and directories matching an
pt_BR: 'matching'    - Exibe os arquivos e diretórios ignorados que correspondem a um

note: type: Plain text
en: ignore pattern.
pt_BR: ignora o padrão.

note: type: Plain text
en: When 'matching' mode is specified, paths that explicitly match an ignored pattern are shown. If a directory matches an ignore pattern, then it is shown, but not paths contained in the ignored directory. If a directory does not match an ignore pattern, but all contents are ignored, then the directory is not shown, but all contents are shown.
pt_BR: Quando o modo 'matching' é utilizado, os caminhos que coincidam explicitamente a um padrão ignorado são exibidos. Caso um diretório coincidir com um padrão a ser ignorado, ele será exibido, mas não os caminhos existentes no diretório ignorado. Caso um diretório não coincida com um padrão a ser ignorado, mas todo o conteúdo for ignorado, o diretório não será exibido, mas todo o resto do conteúdo será.

note: type: Plain text
en: Terminate entries with NUL, instead of LF.  This implies the `--porcelain=v1` output format if no other format is given.
pt_BR: Terminar as entradas com `NUL`, em vez de `LF`.  Isto implica o formato de saída `--porcelain=v1` caso nenhum outro formato seja utilizado.

note: type: Plain text
en: Display untracked files in columns. See configuration variable column.status for option syntax.`--column` and `--no-column` without options are equivalent to 'always' and 'never' respectively.
pt_BR: Exiba os arquivos que não foram rastreados em colunas. Veja a variável de configuração `column.status` para conhecer a sintaxe desta opção.`--column` e `--no-column` sem as opções são equivalentes a 'always' e 'never' respectivamente.

note: type: Plain text
en: Display or do not display detailed ahead/behind counts for the branch relative to its upstream branch.  Defaults to true.
pt_BR: Exiba ou não as contagens detalhadas antecipadas/atrasadas do ramo em relação a ramificação `upstream`.  A predefinição retorna para `true`.

note: type: Plain text
en: Turn on/off rename detection regardless of user configuration.  See also linkgit:git-diff[1] `--no-renames`.
pt_BR: Ligue/desligue a detecção de renomeação, independentemente da configuração do utilizador.  Consulte tambémlinkgit:git-diff[1] `--no-renames`.

note: type: Plain text
en: Turn on rename detection, optionally setting the similarity threshold.  See also linkgit:git-diff[1] `--find-renames`.
pt_BR: Liga a detecção de renomeação, configurando opcionalmente o limite de similaridade.  Consulte também linkgit:git-diff[1] `--find-renames`.

note: type: Plain text
en: See the 'pathspec' entry in linkgit:gitglossary[7].
pt_BR: Consulte a entrada 'pathspec' em linkgit:gitglossary[7].

note: type: Plain text
en: The output from this command is designed to be used as a commit template comment.  The default, long format, is designed to be human readable, verbose and descriptive.  Its contents and format are subject to change at any time.
pt_BR: A saída deste comando foi projetada para ser utilizada como um comentário modelo do commit.  A predefinição é utilizar o formato longo, foi projetado para ser legível por seres humanos, detalhado e descritivo.  Seu conteúdo e formato estão sujeitos a alterações a qualquer momento.

note: type: Plain text
en: The paths mentioned in the output, unlike many other Git commands, are made relative to the current directory if you are working in a subdirectory (this is on purpose, to help cutting and pasting). See the status.relativePaths config option below.
pt_BR: Os caminhos mencionados na saída, diferentemente de muitos outros comandos Git, são feitos em relação ao diretório atual. Caso esteja trabalhando em um subdiretório (isso é proposital, para ajudar a cortar e colar). Consulte a opção da configuração `status.relativePaths` abaixo.

note: type: Title ~
en: Short Format
pt_BR: Formato Curto

note: type: Plain text
en: In the short-format, the status of each path is shown as one of these forms
pt_BR: No formato curto, a condição de cada caminho é exibido como uma das seguintes formas

note: type: Plain text
en: where `ORIG_PATH` is where the renamed/copied contents came from. `ORIG_PATH` is only shown when the entry is renamed or copied. The `XY` is a two-letter status code.
pt_BR: onde `ORIG_PATH` é de onde veio o conteúdo renomeado/copiado. O `ORIG_PATH` só é exibido quando a entrada é renomeada ou copiada. O `XY` é um código de condição com duas letras.

note: type: Plain text
en: The fields (including the `->`) are separated from each other by a single space. If a filename contains whitespace or other nonprintable characters, that field will be quoted in the manner of a C string literal: surrounded by ASCII double quote (34) characters, and with interior special characters backslash-escaped.
pt_BR: Os campos (incluindo o `->`) estão separados um do outro por um único espaço. Caso um nome do arquivo contenha um espaço ou outros caracteres não imprimíveis, este campo será citado na forma de uma string C literal: cercado por caracteres ASCII com aspas duplas (34) e com os caracteres especiais internos escapados por barra invertida.

note: type: Plain text
en: For paths with merge conflicts, `X` and `Y` show the modification states of each side of the merge. For paths that do not have merge conflicts, `X` shows the status of the index, and `Y` shows the status of the work tree.  For untracked paths, `XY` are `??`.  Other status codes can be interpreted as follows:
pt_BR: Para os caminhos com conflitos de mesclagem, `X` e `Y` exibem a condição das modificações de cada lado da mesclagem. Para os caminhos que não possuam conflitos de mesclagem, `X` exibe a condição do índice e `Y` exibe a condição da árvore de trabalho.  Para os caminhos não rastreados, `XY` é `??`.  Os outros códigos das condições podem ser interpretados da seguinte maneira:

note: type: Plain text
en: ' ' = unmodified
pt_BR: ' ' = não modificado

note: type: Plain text
en: 'M' = modified
pt_BR: 'M' = modificado

note: type: Plain text
en: 'A' = added
pt_BR: 'A' = adicionado

note: type: Plain text
en: 'D' = deleted
pt_BR: 'D' = excluído

note: type: Plain text
en: 'R' = renamed
pt_BR: 'R' = renomeado

note: type: Plain text
en: 'C' = copied
pt_BR: 'C' = copiado

note: type: Plain text
en: 'U' = updated but unmerged
pt_BR: 'U' = atualizado, mas não mesclado

note: type: Plain text
en: Ignored files are not listed, unless `--ignored` option is in effect, in which case `XY` are `!!`.
pt_BR: Os arquivos ignorados não estão listados, a menos que a opção `--ignored` esteja em vigor; nesse caso, `XY` é `!!`.

note: type: delimited block .
en: X          Y     Meaning
    -------------------------------------------------
    	 [AMD]   not updated
    M        [ MD]   updated in index
    A        [ MD]   added to index
    D                deleted from index
    R        [ MD]   renamed in index
    C        [ MD]   copied in index
    [MARC]           index and work tree matches
    [ MARC]     M    work tree changed since index
    [ MARC]     D    deleted in work tree
    [ D]        R    renamed in work tree
    [ D]        C    copied in work tree
    -------------------------------------------------
    D           D    unmerged, both deleted
    A           U    unmerged, added by us
    U           D    unmerged, deleted by them
    U           A    unmerged, added by them
    D           U    unmerged, deleted by us
    A           A    unmerged, both added
    U           U    unmerged, both modified
    -------------------------------------------------
    ?           ?    untracked
    !           !    ignored
    -------------------------------------------------
pt_BR: X          Y     Significado
    -------------------------------------------------
    	 [AMD]   não atualizado
    M        [ MD]   atualizado no índice
    A        [ MD]   adicionado ao índice
    D                excluído do índice
    R        [ MD]   renomeado no índice
    C        [ MD]   copiado no índice
    [MARC]           o índice e a árvore de trabalho coincidem
    [ MARC]     M    a árvore de trabalho foi alterada desde o índice
    [ MARC]     D    excluído na árvore de trabalho
    [ D]        R    renomeado na árvore de trabalho
    [ D]        C    copiado na árvore de trabalho
    -------------------------------------------------
    D           D    não mesclado, ambos excluídos
    A           U    não mesclado, adicionado por nós
    U           D    não mesclado, excluídos por eles
    U           A    não mesclado, adicionados por eles
    D           U    não mesclado, excluídos por nós
    A           A    não mesclado, ambos foram adicionados
    U           U    não mesclado, ambos foram alterados
    -------------------------------------------------
    ?           ?    não rastreado
    !           !    ignorado
    -------------------------------------------------

note: type: Plain text
en: Submodules have more state and instead report
    		M    the submodule has a different HEAD than
    		     recorded in the index
    		m    the submodule has modified content
    		?    the submodule has untracked files
    since modified content or untracked files in a submodule cannot be added
    via `git add` in the superproject to prepare a commit.
pt_BR: Os submódulos têm mais condição e, em vez disso, relatam
    		M    o submódulo possui um `head` diferente da
    		     gravada no índice
    		m    o submódulo modificou o conteúdo
    		?    o submódulo possui arquivos não rastreados
    pois conteúdo modificado ou arquivos não rastreados em um
    submódulo não podem ser adicionados via `git add` no `superproject` para preparar um commit.

note: type: Plain text
en: 'm' and '?' are applied recursively. For example if a nested submodule in a submodule contains an untracked file, this is reported as '?' as well.
pt_BR: 'm' e '?' são aplicados recursivamente. Por exemplo, se um submódulo aninhado em um submódulo contiver um arquivo não rastreado, isso será relatado como '?' também.

note: type: Plain text
en: If -b is used the short-format status is preceded by a line
pt_BR: Caso `-b` seja utilizado, a condição de formato curto será precedido por uma linhas

note: type: Plain text
en:     ## branchname tracking info
pt_BR:     ## info de  rastreio do nome do ramo

note: type: Title ~
en: Porcelain Format Version 1
pt_BR: Formato de Porcelana Versão 1

note: type: Plain text
en: Version 1 porcelain format is similar to the short format, but is guaranteed not to change in a backwards-incompatible way between Git versions or based on user configuration. This makes it ideal for parsing by scripts.  The description of the short format above also describes the porcelain format, with a few exceptions:
pt_BR: O formato de porcelana da versão 1 é semelhante ao formato curto, no entanto é garantido que não seja alterado de maneira que seja incompatível com as versões anteriores das versões do Git ou com a base na configuração do usuário.  Isso o torna ideal para ser analisado por scripts.  A descrição do formato curto acima também descreve o formato de porcelana, com algumas exceções:

note: type: Plain text
en: The user's color.status configuration is not respected; color will always be off.
pt_BR: Caso a configuração da variável `color.status` do usuário não seja respeitada; a cor estará sempre desligada.

note: type: Plain text
en: The user's status.relativePaths configuration is not respected; paths shown will always be relative to the repository root.
pt_BR: Caso a configuração da variável `status.relativePaths` do usuário não seja respeitada; os caminhos exibidos sempre serão relativos à raiz do repositório.

note: type: Plain text
en: There is also an alternate -z format recommended for machine parsing. In that format, the status field is the same, but some other things change.  First, the '\->' is omitted from rename entries and the field order is reversed (e.g 'from \-> to' becomes 'to from'). Second, a NUL (ASCII 0) follows each filename, replacing space as a field separator and the terminating newline (but a space still separates the status field from the first filename).  Third, filenames containing special characters are not specially formatted; no quoting or backslash-escaping is performed.
pt_BR: Há também um formato alternativo `-z` recomendado para a análise de máquina. Neste formato, o campo do status é o mesmo, porém algumas outras coisas mudam.  Primeiro, o '\ ->' é omitido das entradas de renomeação e a ordem dos campos é revertida (por exemplo, 'from \-> to' se torna 'to from'). Segundo, um `NUL` (ASCII 0) segue cada nome de arquivo substituindo o espaço como um separador de campos e a nova linha final (porém um espaço ainda separa o campo de status do primeiro nome do arquivo).  Terceiro, os nomes dos arquivos que contenha caracteres especiais não são especialmente formatados; nenhuma citação ou barra de escape invertida é executada.

note: type: Plain text
en: Any submodule changes are reported as modified `M` instead of `m` or single `?`.
pt_BR: Quaisquer alterações no submódulo são relatadas como `M` modificado em vez de `m` ou um único `?`.

note: type: Title ~
en: Porcelain Format Version 2
pt_BR: Formato de Porcelana Versão 2

note: type: Plain text
en: Version 2 format adds more detailed information about the state of the worktree and changed items.  Version 2 also defines an extensible set of easy to parse optional headers.
pt_BR: O formato da versão 2 adiciona informações mais detalhadas sobre a condição da árvore de trabalho e os itens que foram alterados.  Na versão 2 também é definido um conjunto extensível de cabeçalhos opcionais fáceis de serem analisados.

note: type: Plain text
en: Header lines start with "#" and are added in response to specific command line arguments.  Parsers should ignore headers they don't recognize.
pt_BR: As linhas do cabeçalho começam com o símbolo "#" e são adicionadas em resposta aos argumentos específicos da linha de comando.  Os analisadores devem ignorar os cabeçalhos que não sejam reconhecidos.

note: type: Title ^
en: Branch Headers
pt_BR: Cabeçalho dos Ramos

note: type: Plain text
en: If `--branch` is given, a series of header lines are printed with information about the current branch.
pt_BR: Caso `--branch` seja utilizado, uma série de linhas de cabeçalho será impressa com as informações sobre a ramificação atual.

note: type: delimited block .
en: Line                                     Notes
    ------------------------------------------------------------
    # branch.oid <commit> | (initial)        Current commit.
    # branch.head <branch> | (detached)      Current branch.
    # branch.upstream <upstream_branch>      If upstream is set.
    # branch.ab +<ahead> -<behind>           If upstream is set and
    					 the commit is present.
    ------------------------------------------------------------
pt_BR: Line                                     Notes
    ------------------------------------------------------------
    # branch.oid <commit> | (initial)        Commit atual.
    # branch.head <ramo> | (desanexado)      Ramificação atual.
    # branch.upstream <upstream_branch>      Caso o "upstream" esteja definido.
    # branch.ab +<ahead> -<behind>           Caso o "upstream" esteja definido e
    					 o commit esteja presente.
    ------------------------------------------------------------

note: type: Title ^
en: Changed Tracked Entries
pt_BR: Entradas Rastreadas que Foram Alteradas

note: type: Plain text
en: Following the headers, a series of lines are printed for tracked entries.  One of three different line formats may be used to describe an entry depending on the type of change.  Tracked entries are printed in an undefined order; parsers should allow for a mixture of the 3 line types in any order.
pt_BR: Após os cabeçalhos, uma série de linhas é impressa para entradas que são rastreadas.  Um dos três formatos diferentes da linha podem ser utilizados para descrever uma entrada, dependendo do tipo da alteração.  As entradas rastreadas são impressas em uma ordem indefinida; os analisadores devem permitir uma mistura dos três tipos de linha e em qualquer ordem.

note: type: Plain text
en: Ordinary changed entries have the following format:
pt_BR: Os itens comuns que foram alterados têm o seguinte formato:

note: type: Plain text
en:     1 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <path>
pt_BR:     1 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <caminho>

note: type: Plain text
en: Renamed or copied entries have the following format:
pt_BR: As entradas que foram renomeadas ou copiadas têm o seguinte formato:

note: type: Plain text
en:     2 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <X><score> <path><sep><origPath>
pt_BR:     2 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <X><score> <caminho><sep><caminho original>

note: type: delimited block .
en: Field       Meaning
    --------------------------------------------------------
    <XY>        A 2 character field containing the staged and
    	    unstaged XY values described in the short format,
    	    with unchanged indicated by a "." rather than
    	    a space.
    <sub>       A 4 character field describing the submodule state.
    	    "N..." when the entry is not a submodule.
    	    "S<c><m><u>" when the entry is a submodule.
    	    <c> is "C" if the commit changed; otherwise ".".
    	    <m> is "M" if it has tracked changes; otherwise ".".
    	    <u> is "U" if there are untracked changes; otherwise ".".
    <mH>        The octal file mode in HEAD.
    <mI>        The octal file mode in the index.
    <mW>        The octal file mode in the worktree.
    <hH>        The object name in HEAD.
    <hI>        The object name in the index.
    <X><score>  The rename or copy score (denoting the percentage
    	    of similarity between the source and target of the
    	    move or copy). For example "R100" or "C75".
    <path>      The pathname.  In a renamed/copied entry, this
    	    is the target path.
    <sep>       When the `-z` option is used, the 2 pathnames are separated
    	    with a NUL (ASCII 0x00) byte; otherwise, a tab (ASCII 0x09)
    	    byte separates them.
    <origPath>  The pathname in the commit at HEAD or in the index.
    	    This is only present in a renamed/copied entry, and
    	    tells where the renamed/copied contents came from.
    --------------------------------------------------------
pt_BR: Campo       Significado
    --------------------------------------------------------
    <XY>        Um campo com 2 characteres contendo valores XY
    	    montados e não montados descrito em um formato curto,
    	    sem modificações indicadas por um "." em vez de
    	    um espaço.
    <sub>       Um campo com 4 caracteres descrevendo a condição do submódulo.
    	    "N..." quando a entrada não for um submódulo.
    	    "S<c><m><u>" quando a entrada for um submódulo.
    	    <c> is "C" caso o commit seja modificado; senão ".".
    	    <m> is "M" caso haja mudanças rastreadas; senão ".".
    	    <u> is "U" caso não haja mudanças rastreadas; senão ".".
    <mH>        O modo de um arquivo octal no HEAD.
    <mI>        O modo de um arquivo octal no índice.
    <mW>        O modo de um arquivo octal na árvore de trabalho.
    <hH>        O nome do objeto no HEAD.
    <hI>        O nome do objeto no índice.
    <X><score>  O renomeamento ou a cópia do score "placar"(denota a porcentagem
    	    ou a similaridade entre a fonte e o destino da ação de
    	    mover ou copiar. Por exemplo, "R100" ou "C75".
    <caminho>      O `pathname` "nome do caminho".  Em um lançamento de renomeação/cópia,
    	    este é o caminho de destino.
    <sep>       Quando a opção `-z` for utilizada, os 2 `pathnames` são separados
    	    com um byte `NUL` (ASCII 0x00); senão um byte tab (ASCII 0x09)
    	    que os separam.
    <origPath>  O `pathname` dentro do commit localizado no HEAD ou no índice.
    	    Só está presente no caso de um lançamento de renomeação ou cópia
    	    assim como informa de onde a renomeação ou cópia vieram.
    --------------------------------------------------------

note: type: Plain text
en: Unmerged entries have the following format; the first character is a "u" to distinguish from ordinary changed entries.
pt_BR: As entradas que não forem mescladas têm o seguinte formato; o primeiro caractere é um "u" para se distinguir das entradas comum que foram alteradas.

note: type: Plain text
en:     u <xy> <sub> <m1> <m2> <m3> <mW> <h1> <h2> <h3> <path>
pt_BR:     u <xy> <sub> <m1> <m2> <m3> <mW> <h1> <h2> <h3> <caminho>

note: type: delimited block .
en: Field       Meaning
    --------------------------------------------------------
    <XY>        A 2 character field describing the conflict type
    	    as described in the short format.
    <sub>       A 4 character field describing the submodule state
    	    as described above.
    <m1>        The octal file mode in stage 1.
    <m2>        The octal file mode in stage 2.
    <m3>        The octal file mode in stage 3.
    <mW>        The octal file mode in the worktree.
    <h1>        The object name in stage 1.
    <h2>        The object name in stage 2.
    <h3>        The object name in stage 3.
    <path>      The pathname.
    --------------------------------------------------------
pt_BR: Campo       Significado
    --------------------------------------------------------
    <XY>        Um campo com 2 caracteres descrevendo o tipo de conflito
    	    como descrito em um formato curto.
    <sub>       Um campo com 4 caracteres descrevendo a condição do submódulo
    	    como descrito abaixo.
    <m1>        O modo de um arquivo octal no estágio 1.
    <m2>        O modo de um arquivo octal no estágio 2.
    <m3>        O modo de um arquivo octal no estágio 3.
    <mW>        O modo de um arquivo octal na árvore de trabalho.
    <h1>        O nome do objeto no estágio 1.
    <h1>        O nome do objeto no estágio 2.
    <h1>        O nome do objeto no estágio 3.
    <caminho>      O `pathname` "nome do caminho".
    --------------------------------------------------------

note: type: Title ^
en: Other Items
pt_BR: Outros itens

note: type: Plain text
en: Following the tracked entries (and if requested), a series of lines will be printed for untracked and then ignored items found in the worktree.
pt_BR: Após as entradas rastreadas (se for solicitado), uma série de linhas será impressa para os itens não rastreados e depois ignorados para os itens encontrados na árvore de trabalho.

note: type: Plain text
en: Untracked items have the following format:
pt_BR: Itens não rastreados têm o seguinte formato:

note: type: Plain text
en:     ? <path>
pt_BR:     ? <caminho>

note: type: Plain text
en: Ignored items have the following format:
pt_BR: Os itens ignorados tem o seguinte formato:

note: type: Plain text
en:     ! <path>
pt_BR:     ! <caminho>

note: type: Title ^
en: Pathname Format Notes and -z
pt_BR: Notas sobre o formato do `pathname` e `-z`

note: type: Plain text
en: When the `-z` option is given, pathnames are printed as is and without any quoting and lines are terminated with a NUL (ASCII 0x00)  byte.
pt_BR: Quando a opção `z` é utilizada os `pathnames` são exibidos como estão e sem nenhuma citação e as linhas são terminadas com um byte NUL (ASCII 0x00).

note: type: Plain text
en: Without the `-z` option, pathnames with "unusual" characters are quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]).
pt_BR: Sem a opção `z`, os `pathnames` com os caracteres "incomuns" são citados conforme explicado na variável de configuração `core.quotePath` (consulte linkgit:git-config[1]).

note: type: Plain text
en: The command honors `color.status` (or `status.color` -- they mean the same thing and the latter is kept for backward compatibility) and `color.status.<slot>` configuration variables to colorize its output.
pt_BR: O comando segue a variável `color.status` (ou `status.color`, ambos têm o mesmo significado, o último é mantido para compatibilidade com versões anteriores). As variáveis de configuração `color.status.` serve para para colorir a saída.

note: type: Plain text
en: If the config variable `status.relativePaths` is set to false, then all paths shown are relative to the repository root, not to the current directory.
pt_BR: Se a variável de configuração `status.relativePaths` estiver configurada como `false`, todos os caminhos exibidos serão relativos à raiz do repositório e não ao diretório atual.

note: type: Plain text
en: If `status.submoduleSummary` is set to a non zero number or true (identical to -1 or an unlimited number), the submodule summary will be enabled for the long format and a summary of commits for modified submodules will be shown (see --summary-limit option of linkgit:git-submodule[1]). Please note that the summary output from the status command will be suppressed for all submodules when `diff.ignoreSubmodules` is set to 'all' or only for those submodules where `submodule.<name>.ignore=all`. To also view the summary for ignored submodules you can either use the --ignore-submodules=dirty command line option or the 'git submodule summary' command, which shows a similar output but does not honor these settings.
pt_BR: Se a variável `status.submoduleSummary` for definida como um número diferente de zero ou `true` (idêntico a `-1` ou um número ilimitado), o resumo do submódulo será ativado para o formato longo e um resumo dos commits para os submódulos modificados serão exibidos (consulte a opção --summary-limit de linkgit:git-submodule[1]). Por favor note que a saída resumida do comando status será suprimida para todos os submódulos quando a variável `diff.ignoreSubmodules` estiver definida como `all` ou apenas para aqueles submódulos em onde seja o mesmo que `submodule.<nome>.ignore=all`. Para visualizar também o resumo dos submódulos ignorados, você pode usar a opção de clinha de comando `--ignore-submodules=dirty ` ou o comando `git submodule summary`, que exibe uma saída semelhante porém não respeita estas configurações.

note: type: Title -
en: BACKGROUND REFRESH
pt_BR: RENOVAÇÃO DO PLANO DE FUNDO

note: type: Plain text
en: By default, `git status` will automatically refresh the index, updating the cached stat information from the working tree and writing out the result. Writing out the updated index is an optimization that isn't strictly necessary (`status` computes the values for itself, but writing them out is just to save subsequent programs from repeating our computation). When `status` is run in the background, the lock held during the write may conflict with other simultaneous processes, causing them to fail. Scripts running `status` in the background should consider using `git --no-optional-locks status` (see linkgit:git[1] for details).
pt_BR: É predefinido que o comando `git status` renove automaticamente o índice, as estatísticas das informações armazenadas no cache da árvore de trabalho e gravando o seu resultado. Escrever o índice atualizado é uma otimização que não é estritamente necessária (o `status` calcula os valores por si só, mas escrevê-los é apenas para evitar que os programas subsequentes repitam o nosso processamento). Quando o `status` é executado em segundo plano, o bloqueio retido durante a gravação pode entrar em conflito com os outros processos simultâneos, causando falhas. Os scripts que executam `status` em segundo plano devem considerar a utilização do comando `git --no-optional-locks status` (para mais detalhes consulte linkgit:git[1]).

note: type: Plain text
en: git-stripspace - Remove unnecessary whitespace
pt_BR: git-stripspace - Remove os espaços desnecessários

note: type: Plain text
en: Read text, such as commit messages, notes, tags and branch descriptions, from the standard input and clean it in the manner used by Git.
pt_BR: Leia o texto, como mensagens de commit, notas, tags e suas respectivas descrições das ramificações, da entrada padrão e limpe-o da maneira utilizada pelo Git.

note: type: Plain text
en: With no arguments, this will:
pt_BR: Sem argumentos, isso irá:

note: type: Plain text
en: remove trailing whitespace from all lines
pt_BR: remover os espaços do final de todas as linhas

note: type: Plain text
en: collapse multiple consecutive empty lines into one empty line
pt_BR: recolher as várias linhas vazias consecutivas em apenas uma linha vazia

note: type: Plain text
en: remove empty lines from the beginning and end of the input
pt_BR: remover as linhas vazias do início e do fim da entrada

note: type: Plain text
en: add a missing '\n' to the last line if necessary.
pt_BR: adiciona um '\n' ausente à última linha se for necessário.

note: type: Plain text
en: In the case where the input consists entirely of whitespace characters, no output will be produced.
pt_BR: No caso em que a entrada consiste inteiramente em caracteres de espaço, nenhuma saída será produzida.

note: type: Plain text
en: *NOTE*: This is intended for cleaning metadata, prefer the `--whitespace=fix`
    mode of linkgit:git-apply[1] for correcting whitespace of patches or files in
    the repository.
pt_BR: * NOTA *: Destina-se à limpeza de metadados, prefira o modo `--whitespace=fix`
    do linkgit:git-apply[1] para corrigir os espaços dos patches ou os
    arquivos no repositório.

note: type: Plain text
en: Skip and remove all lines starting with comment character (default '#').
pt_BR: Ignora e remove todas as linhas que começam com o caractere predefinido de comentário ('#').

note: type: Plain text
en: Prepend comment character and blank to each line. Lines will automatically be terminated with a newline. On empty lines, only the comment character will be prepended.
pt_BR: Coloque um caractere de comentário previamente com espaço em cada linha. As linhas serão automaticamente terminadas com uma nova linha. Nas linhas vazias, apenas o caractere de comentário será anexado.

note: type: Plain text
en: Given the following noisy input with '$' indicating the end of a line:
pt_BR: Dada a seguinte entrada barulhenta com sinal '$' indicando o final de uma linha:

note: type: delimited block -
en: |A brief introduction   $
    |   $
    |$
    |A new paragraph$
    |# with a commented-out line    $
    |explaining lots of stuff.$
    |$
    |# An old paragraph, also commented-out. $
    |      $
    |The end.$
    |  $
pt_BR: |Uma breve introdução ao   $
    |   $
    |$
    |Um novo parágrafo$
    |# com uma linha de comentário    $
    |explicando um monte de coisas.$
    |$
    |# Mais um parágrafo antigo comentado. $ |      $
    |O fim.$
    |  $

note: type: Plain text
en: Use 'git stripspace' with no arguments to obtain:
pt_BR: Utilize 'git stripspace' sem argumentos para obter:

note: type: delimited block -
en: |A brief introduction$
    |$
    |A new paragraph$
    |# with a commented-out line$
    |explaining lots of stuff.$
    |$
    |# An old paragraph, also commented-out.$
    |$
    |The end.$
pt_BR: |Uma breve introdução$
    |$
    |Um novo parágrafo$
    |# com uma linha de comentário$
    |explicando um monte de coisa.$
    |$
    |# Um parágrafo antigo comentado.$
    |$
    |O fim.$

note: type: Plain text
en: Use 'git stripspace --strip-comments' to obtain:
pt_BR: Utilize `git stripspace --strip-comments` para obter:

note: type: delimited block -
en: |A brief introduction$
    |$
    |A new paragraph$
    |explaining lots of stuff.$
    |$
    |The end.$
pt_BR: |Uma breve introdução$
    |$
    |Um novo parágrafo$
    |explicando um monte de coisa.$
    |$
    |O fim.$

note: type: Plain text
en: git-submodule - Initialize, update or inspect submodules
pt_BR: git-submodule - Inicialize, atualize ou inspecione os submódulos

note: type: Plain text
en: 'git submodule' [--quiet] [--cached]
    'git submodule' [--quiet] add [<options>] [--] <repository> [<path>]
    'git submodule' [--quiet] status [--cached] [--recursive] [--] [<path>...]
    'git submodule' [--quiet] init [--] [<path>...]
    'git submodule' [--quiet] deinit [-f|--force] (--all|[--] <path>...)
    'git submodule' [--quiet] update [<options>] [--] [<path>...]
    'git submodule' [--quiet] set-branch [<options>] [--] <path>
    'git submodule' [--quiet] set-url [--] <path> <newurl>
    'git submodule' [--quiet] summary [<options>] [--] [<path>...]
    'git submodule' [--quiet] foreach [--recursive] <command>
    'git submodule' [--quiet] sync [--recursive] [--] [<path>...]
    'git submodule' [--quiet] absorbgitdirs [--] [<path>...]
pt_BR: 'git submodule' [--quiet] [--cached]
    'git submodule' [--quiet] add [<opções>] [--] <repository> [<caminho>]
    'git submodule' [--quiet] status [--cached] [--recursive] [--] [<caminho>...]
    'git submodule' [--quiet] init [--] [<caminho>...]
    'git submodule' [--quiet] deinit [-f|--force] (--all|[--] <caminho>...)
    'git submodule' [--quiet] update [<opções>] [--] [<caminho>...]
    'git submodule' [--quiet] set-branch [<opções>] [--] <caminho>
    'git submodule' [--quiet] set-url [--] <caminho> <newurl>
    'git submodule' [--quiet] summary [<opções>] [--] [<caminho>...]
    'git submodule' [--quiet] foreach [--recursive] <command>
    'git submodule' [--quiet] sync [--recursive] [--] [<caminho>...]
    'git submodule' [--quiet] absorbgitdirs [--] [<caminho>...]

note: type: Plain text
en: Inspects, updates and manages submodules.
pt_BR: Inspeciona, atualiza e gerencia os submódulos.

note: type: Plain text
en: For more information about submodules, see linkgit:gitsubmodules[7].
pt_BR: Para mais informações sobre submódulos, consulte linkgit:gitsubmodules[7].

note: type: Plain text
en: With no arguments, shows the status of existing submodules.  Several subcommands are available to perform operations on the submodules.
pt_BR: Sem argumentos, exiba a condição geral dos submódulos já existentes.  Vários subcomandos estão disponíveis para execução das operações nos submódulos.

note: type: Labeled list
en: add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--depth <depth>] [--] <repository> [<path>]
pt_BR: add [-b <ramo>] [-f|--force] [--name <nome>] [--reference <repositório>] [--depth <profundidade>] [--] <repositório> [<caminho>]

note: type: Plain text
en: Add the given repository as a submodule at the given path to the changeset to be committed next to the current project: the current project is termed the "superproject".
pt_BR: Adicione o repositório informado como um submódulo no caminho especificado ao conjunto de alterações para ser feito o commit ao lado do projeto atual: o projeto atual é chamado de "superproject".

note: type: Plain text
en: <repository> is the URL of the new submodule's origin repository.  This may be either an absolute URL, or (if it begins with ./ or ../), the location relative to the superproject's default remote repository (Please note that to specify a repository 'foo.git' which is located right next to a superproject 'bar.git', you'll have to use `../foo.git` instead of `./foo.git` - as one might expect when following the rules for relative URLs - because the evaluation of relative URLs in Git is identical to that of relative directories).
pt_BR: O <repositório> é o URL do repositório de origem do novo submódulo.  Este pode ser um URL absoluto, ou (se começar com ./ ou ../), a localização relativa ao repositório predefinido do superprojeto remoto (Por favor note que para especificar um repositório 'foo.git' que está localizado bem ao lado de um superproject 'bar.git', você terá que usar `../foo.git` em vez de `./foo.git` - como se pode esperar quando se seguem as regras para URLs relativas - porque a avaliação das URLs relativas no Git é idêntica à dos diretórios relativos).

note: type: Plain text
en: The default remote is the remote of the remote-tracking branch of the current branch. If no such remote-tracking branch exists or the HEAD is detached, "origin" is assumed to be the default remote.  If the superproject doesn't have a default remote configured the superproject is its own authoritative upstream and the current working directory is used instead.
pt_BR: A predefinição do ramo remoto é que ele seja monitorado pelo ramo atual. Se esse ramo monitorado remotamente não exista ou o `HEAD` esteja desconectado, a "origin" será assumida como o ramo remoto predefinido.  Caso o superprojeto não tenha predefinido um ramo remoto configurado, o superprojeto será o seu próprio upstream autoritativo e será utilizado o diretório de trabalho atual.

note: type: Plain text
en: The optional argument <path> is the relative location for the cloned submodule to exist in the superproject. If <path> is not given, the canonical part of the source repository is used ("repo" for "/path/to/repo.git" and "foo" for "host.xz:foo/.git"). If <path> exists and is already a valid Git repository, then it is staged for commit without cloning. The <path> is also used as the submodule's logical name in its configuration entries unless `--name` is used to specify a logical name.
pt_BR: O argumento opcional `<caminho>` é o local relativo para que o submódulo clonado exista no superprojeto. Caso o `<caminho>` não seja informado, a parte canônica do repositório da origem será utilizada ("repo" para o "/path/to/repo.git" e "foo" para o "host.xz:foo/.git"). Caso o `<caminho>` exista e já for um repositório Git válido, ele será preparado para o commit sem clonagem. O `<caminho>` também é utilizado como o nome lógico do sub-módulo nas suas entradas de configuração, a menos que `--name` seja utilizado para definir um nome lógico.

note: type: Plain text
en: The given URL is recorded into `.gitmodules` for use by subsequent users cloning the superproject. If the URL is given relative to the superproject's repository, the presumption is the superproject and submodule repositories will be kept together in the same relative location, and only the superproject's URL needs to be provided.  git-submodule will correctly locate the submodule using the relative URL in `.gitmodules`.
pt_BR: A URL informada é registrada no `.gitmodules` para a utilização dos subsequentes usuários que clonam o superprojeto. Caso a URL seja informada com relação ao repositório do superprojeto, a presunção que os repositórios do superprojeto e dos submódulos serão mantidos juntos, peóximos do mesmo local, somente a URL do superprojeto precisará ser informada.  O comando `git-submodule` localizará corretamente o submódulo utilizando uma URL relativa em `.gitmodules`.

note: type: Labeled list
en: status [--cached] [--recursive] [--] [<path>...]
pt_BR: status [--cached] [--recursive] [--] [<caminho>...]

note: type: Plain text
en: Show the status of the submodules. This will print the SHA-1 of the currently checked out commit for each submodule, along with the submodule path and the output of 'git describe' for the SHA-1. Each SHA-1 will possibly be prefixed with `-` if the submodule is not initialized, `+` if the currently checked out submodule commit does not match the SHA-1 found in the index of the containing repository and `U` if the submodule has merge conflicts.
pt_BR: Exiba a condição geral dos submódulos. Irá exibir o SHA-1 do commit registrado atualmente para cada submódulo, junto com o caminho do submódulo e a saída do comando 'git description' para o SHA-1. Cada SHA-1 provavelmente será prefixado com `-` caso o submódulo não seja inicializado,`+` caso o commit verificado do submódulo atual não coincida com o SHA-1 encontrado no índice do repositório que contenha o `U` caso o submódulo tenha conflitos de mesclagem.

note: type: Plain text
en: If `--cached` is specified, this command will instead print the SHA-1 recorded in the superproject for each submodule.
pt_BR: Caso a opção `--cached` seja utilizado, este comando exibirá o SHA-1 registrado no superprojeto para cada sub-módulo.

note: type: Plain text
en: If `--recursive` is specified, this command will recurse into nested submodules, and show their status as well.
pt_BR: Caso `--recursive` seja utilizado, este comando será recusado no submódulos aninhados e exibirá a sua condição geral também.

note: type: Plain text
en: If you are only interested in changes of the currently initialized submodules with respect to the commit recorded in the index or the HEAD, linkgit:git-status[1] and linkgit:git-diff[1] will provide that information too (and can also report changes to a submodule's work tree).
pt_BR: Caso apenas tenha interesse nas alterações dos submódulos inicializados no momento em relação ao commit registrado no índice ou no HEAD, o linkgit:git-status[1] e o linkgit:git-diff[1] também disponibilizarão essas informações (e podem também relatar as alterações na árvore de trabalho de um submódulo).

note: type: Labeled list
en: init [--] [<path>...]
pt_BR: init [--] [<caminho>...]

note: type: Plain text
en: Initialize the submodules recorded in the index (which were added and committed elsewhere) by setting `submodule.$name.url` in .git/config. It uses the same setting from `.gitmodules` as a template. If the URL is relative, it will be resolved using the default remote. If there is no default remote, the current repository will be assumed to be upstream.
pt_BR: Inicialize os submódulos registrados no índice (que foram adicionados e onde os commits foram feitos em outros lugares) configurando o `submodule.$name.url` no `.git/config`. Ele usa a mesma configuração do `.gitmodules` como um modelo. Caso a URL seja relativa, será resolvido utilizando ramo remoto predefinido. Caso não nenhum ramo remoto seja predefinido, o repositório atual será reconhecido como sendo a upstream.

note: type: Plain text
en: Optional <path> arguments limit which submodules will be initialized.  If no path is specified and submodule.active has been configured, submodules configured to be active will be initialized, otherwise all submodules are initialized.
pt_BR: Os argumentos opcionais do `<caminho>` limitam quais foram os submódulos que serão inicializados.  Caso nenhum caminho seja informado e o `submodule.active` tenha sido configurado, apenas os submódulos configurados para estarem ativos serão inicializados, caso contrário, todos os submódulos serão.

note: type: Plain text
en: When present, it will also copy the value of `submodule.$name.update`.  This command does not alter existing information in .git/config.  You can then customize the submodule clone URLs in .git/config for your local setup and proceed to `git submodule update`; you can also just use `git submodule update --init` without the explicit 'init' step if you do not intend to customize any submodule locations.
pt_BR: Quando presente, também copiará o valor do `submodule.$name.update`.  Este comando não altera as informações existentes no `.git/config`. É possível personalizar os clones dos submódulos das URLs no `.git/config` para sua configuração local e prosseguir para o `git submodule update`; tamém é possível utilizar o `git submodule update --init` sem a etapa 'init' de forma explícita caso não pretenda personalizar nenhum local do submodule.

note: type: Plain text
en: See the add subcommand for the definition of default remote.
pt_BR: Consulte o subcomando `add` para obter a definição predefinida do ramo remoto.

note: type: Labeled list
en: deinit [-f|--force] (--all|[--] <path>...)
pt_BR: deinit [-f|--force] (--all|[--] <caminho>...)

note: type: Plain text
en: Unregister the given submodules, i.e. remove the whole `submodule.$name` section from .git/config together with their work tree. Further calls to `git submodule update`, `git submodule foreach` and `git submodule sync` will skip any unregistered submodules until they are initialized again, so use this command if you don't want to have a local checkout of the submodule in your working tree anymore.
pt_BR: Cancele o registro dos submódulos informado, ou seja, remova toda a seção `submodule.$name` do `.git/config` junto com a sua árvore de trabalho. Outras futuras chamadas para o comando `git submodule update`, `git submodule foreach` e `git submodule sync` irão ignorar todos os submódulos não registrados até que sejam inicializados novamente, então utilize este comando caso não queira mais fazer uma verificação do submódulo na sua árvore de trabalho local.

note: type: Plain text
en: When the command is run without pathspec, it errors out, instead of deinit-ing everything, to prevent mistakes.
pt_BR: O comando exibe um erro quando for executado sem o `pathspec` em vez de cancelar a inicialização de tudo, evitando erros.

note: type: Plain text
en: If `--force` is specified, the submodule's working tree will be removed even if it contains local modifications.
pt_BR: Caso `--force` seja utilizado, a árvore de trabalho do submódulo será removida, mesmo que contenha alterações locais.

note: type: Plain text
en: If you really want to remove a submodule from the repository and commit that use linkgit:git-rm[1] instead. See linkgit:gitsubmodules[7] for removal options.
pt_BR: Caso realmente deseja remover um submódulo do repositório e fazer o commit em vez disso utilize linkgit:git-rm[1] Para opções de remoção consulte linkgit:gitsubmodules[7].

note: type: Labeled list
en: update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference <repository>] [--depth <depth>] [--recursive] [--jobs <n>] [--[no-]single-branch] [--] [<path>...]
pt_BR: update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference <repositório>] [--depth <profundidade>] [--recursive] [--jobs <n>] [--[no-]single-branch] [--] [<caminho>...]

note: type: Plain text
en: Update the registered submodules to match what the superproject expects by cloning missing submodules, fetching missing commits in submodules and updating the working tree of the submodules. The "updating" can be done in several ways depending on command line options and the value of `submodule.<name>.update` configuration variable. The command line option takes precedence over the configuration variable. If neither is given, a 'checkout' is performed.  The 'update' procedures supported both from the command line as well as through the `submodule.<name>.update` configuration are:
pt_BR: Atualize os submódulos registrados para que coincidam com o que o superprojeto espera, clonando os submódulos ausentes, capturando os commit que estejam ausentes nos submódulos e atualizando a árvore de trabalho dos submódulos. A "atualização" pode ser feita de várias maneiras, dependendo das opções da linha de comando e do valor da variável de configuração `submodule.<nome>.update`. A opção da linha de comando tem precedência sobre a variável de configuração. Caso nenhum seja informado, um 'checkout' é realizado.  Os procedimentos de 'atualização' compatíveis tanto na linha de comando quanto na configuração `submodule.<nome>.update` são:

note: type: Plain text
en: the commit recorded in the superproject will be
pt_BR: o commit registrado no superprojeto será

note: type: Plain text
en: checked out in the submodule on a detached HEAD.
pt_BR: verificado no submódulo em um HEAD desanexado.

note: type: Plain text
en: If `--force` is specified, the submodule will be checked out (using `git checkout --force`), even if the commit specified in the index of the containing repository already matches the commit checked out in the submodule.
pt_BR: Caso a opção `--force` utilizado, o submódulo será averiguado (utilizando `git checkout --force`), mesmo que o commit definido no índice do repositório que o contenha já coincida com os commits que já foram verificados.

note: type: Plain text
en: the current branch of the submodule will be rebased
pt_BR: a fundação do submódulo do ramo atual será refeito

note: type: Plain text
en: onto the commit recorded in the superproject.
pt_BR: no commit registrado no superprojeto.

note: type: Plain text
en: the commit recorded in the superproject will be merged
pt_BR: o commit registrado no superprojeto será mesclado

note: type: Plain text
en: into the current branch in the submodule.
pt_BR: na ramificação atual no submódulo.

note: type: Plain text
en: The following 'update' procedures are only available via the `submodule.<name>.update` configuration variable:
pt_BR: Os seguintes procedimentos de 'atualização' estão disponíveis apenas através da variável de configuração `submodule.<nome>.update`:

note: type: Labeled list
en: custom command
pt_BR: comando personalizado

note: type: Plain text
en: arbitrary shell command that takes a single
pt_BR: comando shell arbitrário que utiliza um único

note: type: Plain text
en: argument (the sha1 of the commit recorded in the
    superproject) is executed. When `submodule.<name>.update`
    is set to '!command', the remainder after the exclamation mark
    is the custom command.
pt_BR: argumento (o sha1 do commit registrado no
    superprojeto) é executado. Quando `submodule.<nome>.update`
    está definido como '!command', o comando personalizado
    é o restante após o ponto de exclamação.

note: type: Plain text
en: the submodule is not updated.
pt_BR: o submódulo não é atualizado.

note: type: Plain text
en: If the submodule is not yet initialized, and you just want to use the setting as stored in `.gitmodules`, you can automatically initialize the submodule with the `--init` option.
pt_BR: Se o submódulo ainda não foi inicializado e você apenas deseja utilizar a configuração armazenada no `.gitmodules`, você pode inicializar automaticamente o submódulo com a opção `--init`.

note: type: Plain text
en: If `--recursive` is specified, this command will recurse into the registered submodules, and update any nested submodules within.
pt_BR: Caso a opção `--recursive` seja utilizada, este comando recursará nos submódulos registrados e atualizará todos os submódulos aninhados.

note: type: Labeled list
en: set-branch (-b|--branch) <branch> [--] <path>
pt_BR: set-branch (-b|--branch) <ramo> [--] <caminho>

note: type: Labeled list
en: set-branch (-d|--default) [--] <path>
pt_BR: set-branch (-d|--default) [--] <caminho>

note: type: Plain text
en: Sets the default remote tracking branch for the submodule. The `--branch` option allows the remote branch to be specified. The `--default` option removes the submodule.<name>.branch configuration key, which causes the tracking branch to default to the remote 'HEAD'.
pt_BR: Define o submódulo como predefinido nos ramos monitorados remotamente. A opção `--branch` permite que o nome do ramo remoto seja definido. A opção `--default` remove a chave da configuração `submodule.<nome>.branch`, que faz com que a predefinição do ramo monitorado seja o 'HEAD' remoto.

note: type: Labeled list
en: set-url [--] <path> <newurl>
pt_BR: set-url [--] <caminho> <newurl>

note: type: Plain text
en: Sets the URL of the specified submodule to <newurl>. Then, it will automatically synchronize the submodule's new remote URL configuration.
pt_BR: Define a URL do submódulo informado para `<newurl>` . Em seguida, sincronize automaticamente a nova configuração da URL remota do submódulo.

note: type: Labeled list
en: summary [--cached|--files] [(-n|--summary-limit) <n>] [commit] [--] [<path>...]
pt_BR: summary [--cached|--files] [(-n|--summary-limit) <n>] [commit] [--] [<caminho>...]

note: type: Plain text
en: Show commit summary between the given commit (defaults to HEAD) and working tree/index. For a submodule in question, a series of commits in the submodule between the given super project commit and the index or working tree (switched by `--cached`) are shown. If the option `--files` is given, show the series of commits in the submodule between the index of the super project and the working tree of the submodule (this option doesn't allow to use the `--cached` option or to provide an explicit commit).
pt_BR: Exiba o resumo do commit entre o commit informado (a predefinição retorna para `HEAD`) e a árvore de trabalho/índice. Para um submódulo em questão, são exibidas uma série de commit do submódulo entre o commit do super projeto e o índice ou a árvore de trabalho (alternada por `--cached`). Caso a opção `--files` seja utilizada, exiba a série dos commits no submódulo entre o índice do super projeto e a árvore de trabalho do submódulo (esta opção não permite a utilização da opção `--cached` ou para informar um commit de forma explícita).

note: type: Plain text
en: Using the `--submodule=log` option with linkgit:git-diff[1] will provide that information too.
pt_BR: O uso da opção `--submodule=log` com linkgit:git-diff[1] também fornecerá estas informações.

note: type: Labeled list
en: foreach [--recursive] <command>
pt_BR: foreach [--recursive] <comando>

note: type: Plain text
en: Evaluates an arbitrary shell command in each checked out submodule.  The command has access to the variables $name, $sm_path, $displaypath, $sha1 and $toplevel: $name is the name of the relevant submodule section in `.gitmodules`, $sm_path is the path of the submodule as recorded in the immediate superproject, $displaypath contains the relative path from the current working directory to the submodules root directory, $sha1 is the commit as recorded in the immediate superproject, and $toplevel is the absolute path to the top-level of the immediate superproject.  Note that to avoid conflicts with '$PATH' on Windows, the '$path' variable is now a deprecated synonym of '$sm_path' variable.  Any submodules defined in the superproject but not checked out are ignored by this command. Unless given `--quiet`, foreach prints the name of each submodule before evaluating the command.  If `--recursive` is given, submodules are traversed recursively (i.e.  the given shell command is evaluated in nested submodules as well).  A non-zero return from the command in any submodule causes the processing to terminate. This can be overridden by adding '|| :' to the end of the command.
pt_BR: Avalia um comando arbitrário do shell em cada sub-módulo averiguado.  O comando tem acesso às variáveis `$name`, `$sm_path`, `$displaypath`, `$sha1` e `$toplevel`: '$name' é o nome da seção do submódulo relevante no `.gitmodules`, '$sm_path' é o caminho do submódulo conforme foi diretamente registrado no superprojeto, '$displaypath' contém o caminho relativo do diretório de trabalho atual para o diretório raiz dos sub-módulos, '$sha1' é o commit conforme registrado diretamente no superprojeto e '$toplevel' é o caminho absoluto e direto para o nível mais alto do superprojeto.  Observe que para evitar conflitos com '$ PATH' no Windows, a variável '$path' agora é um sinônimo obsoleto da variável '$sm_path'.  Todos os submódulos definidos no superprojeto, mas sem averiguação, são ignorados por este comando. A menos que seja utilizado a opção `--quiet`, o 'foreach' imprime o nome de cada submódulo antes de avaliar o comando.  Caso a opção `--recursive` seja utilizada, os submódulos serão percorridos de forma recursiva (ou seja, o comando shell informado também será avaliado nos submódulos aninhados).  Um retorno do comando diferente de zero em qualquer submódulo, faz com que o processamento seja finalizado. Isso pode ser alterado adicionando '|| :' até o final do comando.

note: type: Plain text
en: As an example, the command below will show the path and currently checked out commit for each submodule:
pt_BR: Como um exemplo, o comando abaixo exibirá o caminho e a averiguação atual do commit para cada submódulo:

note: type: Labeled list
en: sync [--recursive] [--] [<path>...]
pt_BR: sync [--recursive] [--] [<caminho>...]

note: type: Plain text
en: Synchronizes submodules' remote URL configuration setting to the value specified in `.gitmodules`. It will only affect those submodules which already have a URL entry in .git/config (that is the case when they are initialized or freshly added). This is useful when submodule URLs change upstream and you need to update your local repositories accordingly.
pt_BR: Sincroniza a configuração da URL remota dos submódulos com o valor definido em `.gitmodules`. Afetará apenas os submódulos que já possuem uma entrada da URL no `.git/config` (é o caso quando eles são inicializados ou foram adicionados recentemente). É útil quando as URLs do submódulo mudam a upstream e você precisa atualizar os seus repositórios locais de acordo.

note: type: Plain text
en: `git submodule sync` synchronizes all submodules while `git submodule sync -- A` synchronizes submodule "A" only.
pt_BR: O comando `git submodule sync` sincroniza todos os submódulos enquanto o comando `git submodule sync - A` sincroniza apenas o submódulo "A".

note: type: Plain text
en: If `--recursive` is specified, this command will recurse into the registered submodules, and sync any nested submodules within.
pt_BR: Caso a opção `--recursive` seja utilizada, este comando recursará nos submódulos registrados e sincronizará todos os submódulos aninhados.

note: type: Plain text
en: If a git directory of a submodule is inside the submodule, move the git directory of the submodule into its superproject's `$GIT_DIR/modules` path and then connect the git directory and its working directory by setting the `core.worktree` and adding a .git file pointing to the git directory embedded in the superprojects git directory.
pt_BR: Caso um diretório git de um submódulo estiver dentro dele, mova o diretório git do submódulo para o caminho `$GIT_DIR/modules` do superprojeto, conecte o diretório git, o seu diretório de trabalho, definindo `core.worktree` e adicionando um Arquivo .git apontando para o diretório git incorporado no diretório git dos superprojetos.

note: type: Plain text
en: A repository that was cloned independently and later added as a submodule or old setups have the submodules git directory inside the submodule instead of embedded into the superprojects git directory.
pt_BR: Um repositório que foi clonado de forma independente e posteriormente adicionado como um submódulo ou com configurações antigas, que possua o diretório git dentro do submódulo, em vez de estar incorporado ao diretório git dos superprojetos.

note: type: Plain text
en: This command is recursive by default.
pt_BR: A predefinição deste comando é ser recursivo.

note: type: Plain text
en: Only print error messages.
pt_BR: Exiba apenas as mensagens de erro.

note: type: Plain text
en: This option is only valid for add and update commands.  Progress status is reported on the standard error stream by default when it is attached to a terminal, unless -q is specified. This flag forces progress status even if the standard error stream is not directed to a terminal.
pt_BR: Esta opção só é válida para os comandos `add` e `update`.  É predefinido que a condição geral do progresso seja relatada no fluxo de erros quando estiver conectado em um terminal, a menos que `-q` seja utilizado. Esta opção impõem a condição geral do progresso, mesmo que o fluxo de erro predefinido não seja direcionado para um terminal.

note: type: Plain text
en: This option is only valid for the deinit command. Unregister all submodules in the working tree.
pt_BR: Esta opção só é válida para o comando `deinit`. Cancele o registro de todos os submódulos na árvore de trabalho.

note: type: Labeled list
en: -b <branch>
pt_BR: -b <ramo>

note: type: Plain text
en: Branch of repository to add as submodule.  The name of the branch is recorded as `submodule.<name>.branch` in `.gitmodules` for `update --remote`.  A special value of `.` is used to indicate that the name of the branch in the submodule should be the same name as the current branch in the current repository.  If the option is not specified, it defaults to the remote 'HEAD'.
pt_BR: O ramo do repositório para ser adicionado como um submódulo.  O nome do ramo é registrado como `submodule.<nome>.branch` no `.gitmodules` para `update --remote`.  Um valor especial de `.` é utilizado para indicar que o nome do ramo no submódulo deve ser o mesmo nome como o da ramificação atual, no repositório atual.  Caso a opção não seja utilizada, a predefinição retorna para o 'HEAD' remoto.

note: type: Plain text
en: This option is only valid for add, deinit and update commands.  When running add, allow adding an otherwise ignored submodule path.  When running deinit the submodule working trees will be removed even if they contain local changes.  When running update (only effective with the checkout procedure), throw away local changes in submodules when switching to a different commit; and always run a checkout operation in the submodule, even if the commit listed in the index of the containing repository matches the commit checked out in the submodule.
pt_BR: Esta opção só é válida para os comandos `add`, `deinit` e `update`.  Ao executar `add`, permita adicionar um caminho ignorado do submódulo.  Ao executar o `deinit`, as árvores de trabalho do submódulo serão removidos mesmo que contenham alterações locais.  Ao executar `update` (efetiva apenas com o procedimento de averiguação), descarte as alterações locais nos submódulos durante a alternância para um commit diferente; sempre execute uma operação de averiguação no submódulo, mesmo que o commit listado no índice do repositório coincida com o commit averiguado no submódulo.

note: type: Plain text
en: This option is only valid for status and summary commands.  These commands typically use the commit found in the submodule HEAD, but with this option, the commit stored in the index is used instead.
pt_BR: Esta opção só é válida para os comandos `status` e `summary`.  Esses comandos normalmente utilizam o commit encontrado no submódulo `HEAD`, porém o commit armazenado no índice que é utilizado em seu lugar.

note: type: Plain text
en: This option is only valid for the summary command. This command compares the commit in the index with that in the submodule HEAD when this option is used.
pt_BR: Esta opção só é válida para o comando `summary`. Quando esta opção é utilizada o comando compara o commit no índice em conjunto com o que está no submódulo `HEAD`.

note: type: Plain text
en: This option is only valid for the summary command.  Limit the summary size (number of commits shown in total).  Giving 0 will disable the summary; a negative number means unlimited (the default). This limit only applies to modified submodules. The size is always limited to 1 for added/deleted/typechanged submodules.
pt_BR: Esta opção só é válida para o comando `summary`.  Limite o tamanho do resumo (quantidade de commits exibidos no total).  O número 0 desativa o resumo; um número negativo significa ilimitado (já predefinido). Este limite se aplica apenas aos submódulos modificados. O tamanho é sempre limitado a 1 para os submódulos adicionado/excluído/tipo alterado.

note: type: Plain text
en: This option is only valid for the update command.  Instead of using the superproject's recorded SHA-1 to update the submodule, use the status of the submodule's remote-tracking branch.  The remote used is branch's remote (`branch.<name>.remote`), defaulting to `origin`.  The remote branch used defaults to the remote `HEAD`, but the branch name may be overridden by setting the `submodule.<name>.branch` option in either `.gitmodules` or `.git/config` (with `.git/config` taking precedence).
pt_BR: Esta opção só é válida para o comando `update`.  Em vez de utilizar o SHA-1 registrado no superprojeto para atualizar o submódulo, utilize a condição geral do submódulo do ramo monitorado remotamente.  O ramo remoto utilizado é o ramo (`branch.<nome>.remote`)  predefinido para `origin`.  O ramo remoto costumava retornar para o `HEAD` remoto, porém o nome do ramo pode ser substituído ao definir a opção `submodule.<nome>.branch` ou entre `.gitmodules` ou `.git/config` (onde `.git/config` tem prioridade).

note: type: Plain text
en: This works for any of the supported update procedures (`--checkout`, `--rebase`, etc.).  The only change is the source of the target SHA-1.  For example, `submodule update --remote --merge` will merge upstream submodule changes into the submodules, while `submodule update --merge` will merge superproject gitlink changes into the submodules.
pt_BR: Funciona para qualquer um dos procedimentos compatíveis de atualização (`--checkout`, `--rebase`, etc.).  A única alteração é a origem do SHA-1 do destino.  Por exemplo, `submodule update --remote --merge` mesclará as alterações iniciais do submódulo nos submódulos, enquanto `submodule update --merge` mesclará as alterações do 'gitlink' do superprojeto nos submódulos.

note: type: Plain text
en: In order to ensure a current tracking branch state, `update --remote` fetches the submodule's remote repository before calculating the SHA-1.  If you don't want to fetch, you should use `submodule update --remote --no-fetch`.
pt_BR: Para garantir uma condição de monitoramento da ramificação atual, `update --remote` captura o repositório remoto do submódulo antes de calcular o seu SHA-1.  Caso não queira capturar, utilize `submodule update --remote --no-fetch`.

note: type: Plain text
en: Use this option to integrate changes from the upstream subproject with your submodule's current HEAD.  Alternatively, you can run `git pull` from the submodule, which is equivalent except for the remote branch name: `update --remote` uses the default upstream repository and `submodule.<name>.branch`, while `git pull` uses the submodule's `branch.<name>.merge`.  Prefer `submodule.<name>.branch` if you want to distribute the default upstream branch with the superproject and `branch.<name>.merge` if you want a more native feel while working in the submodule itself.
pt_BR: Use esta opção para integrar as alterações a partir do subprojeto upstream ao `HEAD` atual do seu submódulo.  Como alternativa, você pode executar o comando `git pull` a partir do submódulo, que é equivalente, exceto pelo nome do ramo remoto: `update --remote` utiliza o repositório upstream predefinido e `submodule.<nome>.branch`, enquanto `git pull` utiliza o submódulo `branch.<nome>.merge`.  Prefira o `submodule.<nome>.branch` caso queira distribuir a ramificação upstream predefinido com o superprojeto e `branch.<nome>.merge` caso queira uma sensação mais nativa ao trabalhar no próprio submódulo.

note: type: Plain text
en: This option is only valid for the update command.  Don't fetch new objects from the remote site.
pt_BR: Esta opção só é válida para o comando `update`.  Não capture os novos objetos do site remoto.

note: type: Plain text
en: This option is only valid for the update command.  Checkout the commit recorded in the superproject on a detached HEAD in the submodule. This is the default behavior, the main use of this option is to override `submodule.$name.update` when set to a value other than `checkout`.  If the key `submodule.$name.update` is either not explicitly set or set to `checkout`, this option is implicit.
pt_BR: Esta opção só é válida para o comando `update`.  Faça a averiguação do commit registrado no superprojeto em um `HEAD` desanexado no submódulo. Este é o comportamento predefinido, a utilização principal desta opção é substituir o `submodule.$name.update` quando definido como um valor diferente do `checkout`.  Caso a chave do `submodule.$name.update` não esteja nem explicitamente configurada ou definida com `checkout` (para averiguação), então esta opção se torna implícita.

note: type: Plain text
en: This option is only valid for the update command.  Merge the commit recorded in the superproject into the current branch of the submodule. If this option is given, the submodule's HEAD will not be detached. If a merge failure prevents this process, you will have to resolve the resulting conflicts within the submodule with the usual conflict resolution tools.  If the key `submodule.$name.update` is set to `merge`, this option is implicit.
pt_BR: Esta opção só é válida para o comando `update`.  Mescle o commit registrado no superprojeto do ramo atual do submódulo. Caso esta opção seja utilizada, o `HEAD` do submódulo não será desconectado. Caso uma mesclagem falhe e interrompa este processo, será necessário resolver os conflitos resultantes no submódulo com as ferramentas habituais da resolução de conflitos.  Caso a chave `submodule.$name.update` esteja configurada para `mesclar`, então esta opção se torna implícita.

note: type: Plain text
en: This option is only valid for the update command.  Rebase the current branch onto the commit recorded in the superproject. If this option is given, the submodule's HEAD will not be detached. If a merge failure prevents this process, you will have to resolve these failures with linkgit:git-rebase[1].  If the key `submodule.$name.update` is set to `rebase`, this option is implicit.
pt_BR: Esta opção só é válida para o comando `update`.  Reorganize a fundação do ramo atual no commit registrado no superprojeto. Caso esta opção seja utilizada, o `HEAD` do submódulo não será desconectado. Caso uma mesclagem falhe e interrompa este processo, será necessário resolver os conflitos resultantes com linkgit:git-rebase[1].  Caso a chave `submodule.$name.update` esteja definida como `rebase`, então esta opção se torna implícita.

note: type: Plain text
en: This option is only valid for the update command.  Initialize all submodules for which "git submodule init" has not been called so far before updating.
pt_BR: Esta opção só é válida para o comando `update`.  Inicialize todos os submódulos para os quais o comando "git submodule init" não foi chamado até o momento antes da atualização.

note: type: Plain text
en: This option is only valid for the add command. It sets the submodule's name to the given string instead of defaulting to its path. The name must be valid as a directory name and may not end with a '/'.
pt_BR: Esta opção só é válida para o comando `add`. Define o nome do submódulo para a carreira de caracteres informada em vez de padronizar o seu caminho. O nome deve ser válido como um nome de diretório e não pode terminar com um '/'.

note: type: Labeled list
en: --reference <repository>
pt_BR: --reference <repositório>

note: type: Plain text
en: This option is only valid for add and update commands.  These commands sometimes need to clone a remote repository. In this case, this option will be passed to the linkgit:git-clone[1] command.
pt_BR: Esta opção só é válida para os comandos `add` e `update`.  Às vezes estes comandos precisam clonar um repositório remoto. Neste caso, esta opção será passada ao comando linkgit:git-clone[1].

note: type: Plain text
en: *NOTE*: Do *not* use this option unless you have read the note
    for linkgit:git-clone[1]'s `--reference`, `--shared`, and `--dissociate`
    options carefully.
pt_BR: *OBSERVAÇÃO*: *Jamais* utilize esta opção, a menos que você tenha lido as observações para
    as opções linkgit:git-clone[1]'s `--reference`, `--shared`, e `--dissociate`
    com muita atenção.

note: type: Plain text
en: *NOTE*: see the NOTE for the `--reference` option.
pt_BR: *OBSERVAÇÃO*: Consulte a OBSERVAÇÃO para a opção `--reference`.

note: type: Plain text
en: This option is only valid for foreach, update, status and sync commands.  Traverse submodules recursively. The operation is performed not only in the submodules of the current repo, but also in any nested submodules inside those submodules (and so on).
pt_BR: Esta opção só é válida para os comandos `foreach`, `update`, `status` e `sync`.  Transponha os submódulos recursivamente. A operação é executada não apenas nos submódulos do repositório atual, mas também em qualquer outro submódulo aninhado dentro desses submódulos (e assim por diante).

note: type: Plain text
en: This option is valid for add and update commands. Create a 'shallow' clone with a history truncated to the specified number of revisions.  See linkgit:git-clone[1]
pt_BR: Esta opção é válida para os comandos `add` e `update`. Crie uma clonagem 'superficial' com um histórico truncado para uma quantidade determinada de revisões.  Consulte linkgit:git-clone[1]

note: type: Plain text
en: This option is only valid for the update command.  The initial clone of a submodule will use the recommended `submodule.<name>.shallow` as provided by the `.gitmodules` file by default. To ignore the suggestions use `--no-recommend-shallow`.
pt_BR: Esta opção só é válida para o comando `update`.  O clone inicial de um submódulo por predefinição, utilizará o `submodule.<nome>.shallow` recomendado conforme é fornecido pelo arquivo `.gitmodules`. Para ignorar as sugestões, utilize `--no-recommend-shallow`.

note: type: Plain text
en: This option is only valid for the update command.  Clone new submodules in parallel with as many jobs.  Defaults to the `submodule.fetchJobs` option.
pt_BR: Esta opção só é válida para o comando `update`.  Clone novos submódulos em paralelo com a mesmo quantidade de trabalhos.  A predefinição retorna para a configuração existente em `submodule.fetchJobs`.

note: type: Plain text
en: This option is only valid for the update command.  Clone only one branch during update: HEAD or one specified by --branch.
pt_BR: Esta opção só é válida para o comando `update`.  Clone apenas uma ramificação durante a atualização: `HEAD` ou uma definida pela opção `--branch`.

note: type: Plain text
en: Paths to submodule(s). When specified this will restrict the command to only operate on the submodules found at the specified paths.  (This argument is required with add).
pt_BR: Caminhos para o submódulo(s). Quando for utilizado, restringe o comando a operar apenas nos submódulos encontrados nos caminhos informados.  (É obrigatório a utilização desta opção com o `add`).

note: type: Plain text
en: When initializing submodules, a `.gitmodules` file in the top-level directory of the containing repository is used to find the url of each submodule.  This file should be formatted in the same way as `$GIT_DIR/config`. The key to each submodule url is "submodule.$name.url".  See linkgit:gitmodules[5] for details.
pt_BR: Durante a atualização dos submódulos um arquivo `.gitmodules` fica no topo do diretório do repositório que o contenha, é utilizado para encontrar a URL de cada submódulo.  Este arquivo deve ser formatado da mesma maneira que `$GIT_DIR/config`. A chave para cada URL do submódulo é `submodule.$name.url`.  Para mais detalhes consulte linkgit:gitmodules[5].

note: type: Plain text
en: git-svn - Bidirectional operation between a Subversion repository and Git
pt_BR: git-svn - Operação bidirecional entre um repositório do Subversion e o Git

note: type: Plain text
en: 'git svn' <command> [<options>] [<arguments>]
pt_BR: 'git svn' <comando> [<opções>] [<argumentos>]

note: type: Plain text
en: 'git svn' is a simple conduit for changesets between Subversion and Git.  It provides a bidirectional flow of changes between a Subversion and a Git repository.
pt_BR: 'git svn' é um canal simples para os conjuntos das alterações entre o Subversion e o Git.  Ele fornece um fluxo bidirecional das alterações entre um Subversion e um repositório Git.

note: type: Plain text
en: 'git svn' can track a standard Subversion repository, following the common "trunk/branches/tags" layout, with the --stdlayout option.  It can also follow branches and tags in any layout with the -T/-t/-b options (see options to 'init' below, and also the 'clone' command).
pt_BR: O 'git svn' pode monitorar um repositório Subversion padrão, seguindo o layout comum "trunk/branches/tags", com a opção `--stdlayout`.  Ele também pode seguir as ramificações e as tags em qualquer layout com as opções '-T/-t/-b' (consulte as opções para 'init' abaixo e também para o comando 'clone').

note: type: Plain text
en: Once tracking a Subversion repository (with any of the above methods), the Git repository can be updated from Subversion by the 'fetch' command and Subversion updated from Git by the 'dcommit' command.
pt_BR: Depois de monitorar um repositório Subversion (com qualquer um dos métodos acima), o repositório Git pode ser atualizado no Subversion através do comando 'fetch' e o Subversion atualizado no Git através do comando 'dcommit'.

note: type: Plain text
en: Initializes an empty Git repository with additional metadata directories for 'git svn'.  The Subversion URL may be specified as a command-line argument, or as full URL arguments to -T/-t/-b.  Optionally, the target directory to operate on can be specified as a second argument.  Normally this command initializes the current directory.
pt_BR: Inicializa um repositório Git vazio com diretórios de metadados adicionais para o 'git svn'.  A URL do Subversion pode ser utilizada como um argumento na linha de comando ou como uma URL completa para -T/-t/-b.  Opcionalmente, o diretório do destino para operar, pode ser definido como um segundo argumento.  Normalmente este comando inicializa o diretório atual.

note: type: Plain text
en: These are optional command-line options for init.  Each of these flags can point to a relative repository path (--tags=project/tags) or a full url (--tags=https://foo.org/project/tags).  You can specify more than one --tags and/or --branches options, in case your Subversion repository places tags or branches under multiple paths.  The option --stdlayout is a shorthand way of setting trunk,tags,branches as the relative paths, which is the Subversion default. If any of the other options are given as well, they take precedence.
pt_BR: Estas são opções opcionais de linha de comando para o init.  Cada uma destas opções pode apontar para um caminho relativo do repositório (`--tags=project/tags`) ou uma URL completa (`--tags=https://foo.org/project/tags`).  Você pode definir mais de uma opção `--tags` e/ou `--branches`, caso o repositório do Subversion coloque tags ou ramificações em vários caminhos.  A opção `--stdlayout` é uma maneira abreviada de configurar o trunks,tags,branches como os caminhos relativos, que é a predefinição do Subversion. Se qualquer uma das outras opções também for utilizada, elas terão precedência.

note: type: Plain text
en: Set the 'noMetadata' option in the [svn-remote] config.  This option is not recommended, please read the 'svn.noMetadata' section of this manpage before using this option.
pt_BR: Defina a opção 'noMetadata' na configuração [svn-remote].  Esta opção não é recomendada, leia a seção 'svn.noMetadata' desta página do manual antes de usar esta opção.

note: type: Plain text
en: Set the 'useSvmProps' option in the [svn-remote] config.
pt_BR: Define a opção 'useSvmProps' na configuração [svn-remote].

note: type: Plain text
en: Set the 'useSvnsyncProps' option in the [svn-remote] config.
pt_BR: Define a opção 'useSvnsyncProps' na configuração [svn-remote].

note: type: Plain text
en: Set the 'rewriteRoot' option in the [svn-remote] config.
pt_BR: Define a opção 'rewriteRoot' na configuração [svn-remote].

note: type: Plain text
en: Set the 'rewriteUUID' option in the [svn-remote] config.
pt_BR: Define a opção 'rewriteUUID' na configuração [svn-remote].

note: type: Labeled list
en: --username=<user>
pt_BR: --username=<usuário>

note: type: Plain text
en: For transports that SVN handles authentication for (http, https, and plain svn), specify the username.  For other transports (e.g. `svn+ssh://`), you must include the username in the URL, e.g. `svn+ssh://foo@svn.bar.com/project`
pt_BR: Para transportes onde o SVN lida com a autenticação (http, https e svn simples), defina o nome de usuário.  Para os outros transportes (como por exemplo, `svn+ssh://`), você deve incluir o nome de usuário na URL, como `svn+ssh://foo@svn.bar.com/project` por exemplo

note: type: Plain text
en: This allows one to specify a prefix which is prepended to the names of remotes if trunk/branches/tags are specified.  The prefix does not automatically include a trailing slash, so be sure you include one in the argument if that is what you want.  If --branches/-b is specified, the prefix must include a trailing slash.  Setting a prefix (with a trailing slash) is strongly encouraged in any case, as your SVN-tracking refs will then be located at "refs/remotes/$prefix/*", which is compatible with Git's own remote-tracking ref layout (refs/remotes/$remote/*). Setting a prefix is also useful if you wish to track multiple projects that share a common repository.  By default, the prefix is set to 'origin/'.
pt_BR: Permite definir um prefixo que é anexado aos nomes dos ramos remotos caso o 'trunk/branches/tags' seja definidos.  O prefixo não inclui automaticamente uma barra final, portanto, inclua uma no argumento, caso seja isso que você queira.  Caso '--branches/-b' seja utilizado, o prefixo deverá incluir uma barra final.  A configuração de um prefixo (com uma barra à direita) é fortemente incentivada em qualquer caso, pois as suas refs para monitoramento SVN estarão localizados no "refs/remotes/$prefix/*", que é compatível com o próprio layout da "ref" do monitoramento remoto do Git ('refs/remotes/$remote/*'). Definir um prefixo também é útil caso queira monitorar vários projetos que compartilhem de um repositório comum.  É predefinido que o prefixo esteja definido para 'origin/'.

note: type: Plain text
en: Before Git v2.0, the default prefix was "" (no prefix). This meant that SVN-tracking refs were put at "refs/remotes/*", which is incompatible with how Git's own remote-tracking refs are organized.  If you still want the old default, you can get it by passing `--prefix ""` on the command line (`--prefix=""` may not work if your Perl's Getopt::Long is < v2.37).
pt_BR: Antes do Git v2.0, o prefixo padrão era "" (sem prefixo). Isso significava que as referências de monitoramento SVN foram colocadas no "refs/remotes/*", o que é incompatível com a organização das referências de monitoramento remoto do Git.  Caso ainda queira o padrão antigo, utilize a opção `--prefix" "` na linha de comando (o `--prefix =" "` `pode não funcionar caso o Getopt::Long do Perl for < v2.37) .

note: type: Labeled list
en: --ignore-refs=<regex>
pt_BR: --ignore-refs=<expressão-regular>

note: type: Plain text
en: When passed to 'init' or 'clone' this regular expression will be preserved as a config key.  See 'fetch' for a description of `--ignore-refs`.
pt_BR: Quando encaminhada para o 'init' ou 'clone', essa expressão regular será preservada como uma chave de configuração.  Consulte 'fetch' para obter uma descrição da opção `--ignore-refs`.

note: type: Labeled list
en: --ignore-paths=<regex>
pt_BR: --ignore-paths=<expressão-regular>

note: type: Plain text
en: When passed to 'init' or 'clone' this regular expression will be preserved as a config key.  See 'fetch' for a description of `--ignore-paths`.
pt_BR: Quando encaminhada para o 'init' ou 'clone', essa expressão regular será preservada como uma chave de configuração.  Consulte 'fetch' para obter uma descrição da opção `--ignore-paths`.

note: type: Labeled list
en: --include-paths=<regex>
pt_BR: --include-paths=<expressão-regular>

note: type: Plain text
en: When passed to 'init' or 'clone' this regular expression will be preserved as a config key.  See 'fetch' for a description of `--include-paths`.
pt_BR: Quando encaminhada para o 'init' ou 'clone', essa expressão regular será preservada como uma chave de configuração.  Consulte 'fetch' para obter uma descrição da opção `--include-paths`.

note: type: Plain text
en: When tracking multiple directories (using --stdlayout, --branches, or --tags options), git svn will attempt to connect to the root (or highest allowed level) of the Subversion repository.  This default allows better tracking of history if entire projects are moved within a repository, but may cause issues on repositories where read access restrictions are in place.  Passing `--no-minimize-url` will allow git svn to accept URLs as-is without attempting to connect to a higher level directory.  This option is off by default when only one URL/branch is tracked (it would do little good).
pt_BR: Ao monitorar os vários diretórios (utilizando as opções ´--stdlayout`, `--branches` ou `--tags`), o comando 'git svn' tentará se conectar à raiz (ou ao nível mais alto permitido) do repositório do Subversion.  Esta predefinição permite um melhor rastreamento do histórico caso os projetos inteiros forem movidos para dentro de um repositório, mas pode causar problemas nos repositórios dos quais exista restrições de acesso de leitura.  Utilizando a opção `--no-minimize-url` permitirá que o 'git svn' aceite as URLs como estão, sem tentar se conectar em um diretório no nível mais alto.  É predefinido que esta opção esteja desativada quando apenas uma URL/ramo for monitorada (seria de pouca utilidade).

note: type: Plain text
en: Fetch unfetched revisions from the Subversion remote we are tracking.  The name of the [svn-remote "..."] section in the $GIT_DIR/config file may be specified as an optional command-line argument.
pt_BR: Busque revisões não obtidas do ramo remoto do Subversion que estamos monitorando.  O nome da seção [svn-remote "..."] no arquivo `$GIT_DIR/config` pode ser definido como um argumento opcional da linha de comandos.

note: type: Plain text
en: This automatically updates the rev_map if needed (see '$GIT_DIR/svn/\**/.rev_map.*' in the FILES section below for details).
pt_BR: Atualiza automaticamente o 'rev_map', caso seja necessário (para mais detalhes, consulte '$GIT_DIR/svn/\**/.rev_map.*' na seção FILES abaixo).

note: type: Plain text
en: Store Git commit times in the local time zone instead of UTC.  This makes 'git log' (even without --date=local) show the same times that `svn log` would in the local time zone.
pt_BR: Armazene os horários dos commits do Git no fuso horário local em vez do UTC.  Faz com que 'git log' (mesmo sem `--date=local`) mostre os mesmos horários que o 'svn log' faria no fuso horário local.

note: type: Plain text
en: This doesn't interfere with interoperating with the Subversion repository you cloned from, but if you wish for your local Git repository to be able to interoperate with someone else's local Git repository, either don't use this option or you should both use it in the same local time zone.
pt_BR: Não interfere na interoperação com o repositório Subversion de onde você clonou, porém caso queira que o seu repositório Git local possa interoperar com o repositório Git local de outra pessoa, não utilize esta opção ou você deve usá-lo no o mesmo fuso horário local.

note: type: Plain text
en: Fetch only from the SVN parent of the current HEAD.
pt_BR: Busque apenas do parente do SVN do HEAD atual.

note: type: Plain text
en: Ignore refs for branches or tags matching the Perl regular expression. A "negative look-ahead assertion" like `^refs/remotes/origin/(?!tags/wanted-tag|wanted-branch).*$` can be used to allow only certain refs.
pt_BR: Ignore as refs para as ramificações ou as tags coincidentes com a expressão regular Perl. Uma "declaração negativa de antecipação" como `^refs/remotes/origin/(?!tags/wanted-tag|wanted-branch).*$` Pode ser utilizada para permitir apenas determinadas referências.

note: type: Plain text
en: config key: svn-remote.<name>.ignore-refs
pt_BR: config key: svn-remote.<nome>.ignore-refs

note: type: Plain text
en: If the ignore-refs configuration key is set, and the command-line option is also given, both regular expressions will be used.
pt_BR: Caso a chave de configuração 'ignore-refs' estiver definida e a opção da linha de comandos também for utilizada, ambas as expressões regulares serão utilizadas.

note: type: Plain text
en: This allows one to specify a Perl regular expression that will cause skipping of all matching paths from checkout from SVN.  The `--ignore-paths` option should match for every 'fetch' (including automatic fetches due to 'clone', 'dcommit', 'rebase', etc) on a given repository.
pt_BR: Permite definir uma expressão regular Perl que fará com que ignore todos os caminhos coincidentes do 'checkout' do SVN.  A opção `--ignore-paths` deve coincidir com cada 'busca' (incluindo buscas automáticas devido ao 'clone', 'dcommit', 'rebase', etc) em um determinado repositório.

note: type: Plain text
en: config key: svn-remote.<name>.ignore-paths
pt_BR: config key: svn-remote.<nome>.ignore-paths

note: type: Plain text
en: If the ignore-paths configuration key is set, and the command-line option is also given, both regular expressions will be used.
pt_BR: Caso a chave de configuração 'ignore-paths' esteja definida e a opção da linha de comandos também for utilizada, ambas as expressões regulares serão utilizadas.

note: type: Labeled list
en: Skip "doc*" directory for every fetch
pt_BR: Ignore o diretório "doc*" em cada busca

note: type: Labeled list
en: Skip "branches" and "tags" of first level directories
pt_BR: Ignora o primeiro nível dos diretórios "branches" e "tags"

note: type: Plain text
en: This allows one to specify a Perl regular expression that will cause the inclusion of only matching paths from checkout from SVN.  The `--include-paths` option should match for every 'fetch' (including automatic fetches due to 'clone', 'dcommit', 'rebase', etc) on a given repository. `--ignore-paths` takes precedence over `--include-paths`.
pt_BR: Permite definir uma expressão regular Perl que causará a inclusão apenas dos caminhos coincidentes no 'checkout' do SVN.  A opção `--include-paths` deve coincidir com cada 'busca' (incluindo buscas automáticas devido ao 'clone', 'dcommit', 'rebase', etc) em um determinado repositório. A opção `--ignore-paths` tem precedência sobre `--include-paths`.

note: type: Plain text
en: config key: svn-remote.<name>.include-paths
pt_BR: config key: svn-remote.<nome>.include-paths

note: type: Plain text
en: Fetch <n> log entries per request when scanning Subversion history.  The default is 100. For very large Subversion repositories, larger values may be needed for 'clone'/'fetch' to complete in reasonable time. But overly large values may lead to higher memory usage and request timeouts.
pt_BR: Busque <n> entradas do registro log através da solicitação ao verificar o histórico do Subversion.  A predefinição é 100. Para repositórios Subversion muito grandes, os valores maiores podem ser necessários para que 'clone'/'fetch' seja concluído em um tempo razoável. Porém os valores excessivamente grandes que podem levar a uma maior utilização da memória e solicitações de tempo.

note: type: Plain text
en: Runs 'init' and 'fetch'.  It will automatically create a directory based on the basename of the URL passed to it; or if a second argument is passed; it will create a directory and work within that.  It accepts all arguments that the 'init' and 'fetch' commands accept; with the exception of `--fetch-all` and `--parent`.  After a repository is cloned, the 'fetch' command will be able to update revisions without affecting the working tree; and the 'rebase' command will be able to update the working tree with the latest changes.
pt_BR: Executa 'init' e 'fetch'.  Cria automaticamente um diretório com base no nome da base da URL passada para ele; ou caso um segundo argumento seja passado; ele criará um diretório e funcionará dentro dele.  Aceita todos os argumentos que os comandos 'init' e 'fetch' aceitam; com exceção de `--fetch-all` e `--parent`. Após a clonagem de um repositório, o comando 'fetch' poderá atualizar as revisões sem afetar a árvore de trabalho; e o comando 'rebase' poderá atualizar a árvore de trabalho com as alterações mais recentes.  Depois do repositório ser clonado, o comando 'fetch' será capaz de atualizar as revisões sem afetar a árvore de trabalho; e o comando 'rebase' poderá atualizar a árvore de trabalho com as alterações mais recentes.

note: type: Plain text
en: Create a placeholder file in the local Git repository for each empty directory fetched from Subversion.  This includes directories that become empty by removing all entries in the Subversion repository (but not the directory itself).  The placeholder files are also tracked and removed when no longer necessary.
pt_BR: Crie um arquivo com espaço reservado no repositório Git local para cada diretório vazio que foi buscado no Subversion.  Isso inclui os diretórios que ficam vazios, removendo todas as entradas no repositório do Subversion (mas não o próprio diretório).  Os arquivos com espaço reservado também são monitorados e removidos quando não são mais necessários.

note: type: Labeled list
en: --placeholder-filename=<filename>
pt_BR: --placeholder-filename=<nome-do-arquivo>

note: type: Plain text
en: Set the name of placeholder files created by --preserve-empty-dirs.  Default: ".gitignore"
pt_BR: Define o nome dos arquivos 'placeholder' (espaço reservado) criado através da opção `--preserve-empty-dirs`.  Predefinição: ".gitignore"

note: type: Plain text
en: This fetches revisions from the SVN parent of the current HEAD and rebases the current (uncommitted to SVN) work against it.
pt_BR: Busca as revisões do pai SVN do HEAD atual e reconstrói o atual (não comprometido com o SVN) contra ele.

note: type: Plain text
en: This works similarly to `svn update` or 'git pull' except that it preserves linear history with 'git rebase' instead of 'git merge' for ease of dcommitting with 'git svn'.
pt_BR: Funciona da mesma maneira que o comando `svn update` ou o 'git pull', exceto que preserva o histórico linear com o comando 'git rebase' em vez do 'git merge' para facilitar a comunicação com comando 'git svn'.

note: type: Plain text
en: This accepts all options that 'git svn fetch' and 'git rebase' accept.  However, `--fetch-all` only fetches from the current [svn-remote], and not all [svn-remote] definitions.
pt_BR: Isso aceita todas as opções que os comandos 'git svn fetch' e 'git rebase' aceitam.  No entanto, a opção `--fetch-all` busca apenas as definições [svn-remote] atuais mas não todas as definições [svn-remote].

note: type: Plain text
en: Like 'git rebase'; this requires that the working tree be clean and have no uncommitted changes.
pt_BR: Como 'git rebase'; isso requer que a árvore de trabalho esteja limpa e não tenha alterações em commits não realizados.

note: type: Plain text
en: Do not fetch remotely; only run 'git rebase' against the last fetched commit from the upstream SVN.
pt_BR: Não busque remotamente; execute apenas o comando 'git rebase' no último commit obtido da 'upstream SVN'.

note: type: Plain text
en: Commit each diff from the current branch directly to the SVN repository, and then rebase or reset (depending on whether or not there is a diff between SVN and head).  This will create a revision in SVN for each commit in Git.
pt_BR: Faça o commit a cada diff da ramificação atual diretamente no repositório SVN e em seguida, refaça ou a redefine (dependendo caso exista ou não uma diferença entre o SVN e o cabeçalho).  Isso criará uma revisão no SVN para cada commit no Git.

note: type: Plain text
en: When an optional Git branch name (or a Git commit object name)  is specified as an argument, the subcommand works on the specified branch, not on the current branch.
pt_BR: Quando um nome opcional do ramo Git (ou um nome do objeto do commit Git) seja definido como um argumento, o subcomando funciona no ramo definido, não no ramo atual.

note: type: Plain text
en: Use of 'dcommit' is preferred to 'set-tree' (below).
pt_BR: A utilização do 'dcommit' é o preferido para o 'set-tree' (abaixo).

note: type: Plain text
en: After committing, do not rebase or reset.
pt_BR: Após fazer o commit, não reconstrua ou redefina.

note: type: Plain text
en: Commit to this SVN URL (the full path).  This is intended to allow existing 'git svn' repositories created with one transport method (e.g. `svn://` or `http://` for anonymous read) to be reused if a user is later given access to an alternate transport method (e.g. `svn+ssh://` or `https://`) for commit.
pt_BR: Faça o commit com esta URL SVN (o caminho completo).  Visa permitir que os repositórios 'git svn' existentes criados com um método de transporte (como por exemplo, `svn://` ou `http://` para a leitura anônima) sejam reutilizados caso um usuário tenha acesso posterior a um método de transporte alternativo (`svn + ssh://` ou `https://` por exemplo) para o commit.

note: type: Plain text
en: config key: svn-remote.<name>.commiturl
    config key: svn.commiturl (overwrites all svn-remote.<name>.commiturl options)
pt_BR: config key: svn-remote.<nome>.commiturl
    config key: svn.commiturl (sobrescreve todas as opções svn-remote.<nome>.commiturl)

note: type: Plain text
en: Note that the SVN URL of the commiturl config key includes the SVN branch.  If you rather want to set the commit URL for an entire SVN repository use svn-remote.<name>.pushurl instead.
pt_BR: Observe que a URL SVN da chave de configuração do 'commiturl' inclui o ramo SVN.  Caso prefira definir a URL do commit para um repositório SVN inteiro, em vez disso utilize 'svn-remote.<nome>.pushurl'.

note: type: Plain text
en: Using this option for any other purpose (don't ask) is very strongly discouraged.
pt_BR: O uso desta opção para qualquer outra finalidade (não pergunte) é veementemente desencorajada.

note: type: Plain text
en: Add the given merge information during the dcommit (e.g. `--mergeinfo="/branches/foo:1-10"`). All svn server versions can store this information (as a property), and svn clients starting from version 1.5 can make use of it. To specify merge information from multiple branches, use a single space character between the branches (`--mergeinfo="/branches/foo:1-10 /branches/bar:3,5-6,8"`)
pt_BR: Adicione as informações da mesclagem informadas durante o 'dcommit' (como por exemplo, `--mergeinfo="/branches/foo:1-10"`). Todas as versões do servidor svn podem armazenar estas informações (como uma propriedade) e a partir da versão 1.5 os clientes svn também podem usá-las. Para definir as informações da mesclagem das várias ramificações, utilize um caractere de espaço simples entre as ramificações (`--mergeinfo="/branches/foo:1-10 /branches/bar:3,5-6,8"`)

note: type: Plain text
en: This option will cause git-svn to attempt to automatically populate the svn:mergeinfo property in the SVN repository when possible. Currently, this can only be done when dcommitting non-fast-forward merges where all parents but the first have already been pushed into SVN.
pt_BR: Esta opção fará com que o 'git-svn' tente preencher automaticamente a propriedade do 'svn:mergeinfo' no repositório SVN, quando for possível. Atualmente, isso só pode ser feito quando 'dcommitting' as mesclagens de avanço não rápido onde todos os pais, exceto o primeiro, já tenha sido inseridos no SVN.

note: type: Plain text
en: Ask the user to confirm that a patch set should actually be sent to SVN.  For each patch, one may answer "yes" (accept this patch), "no" (discard this patch), "all" (accept all patches), or "quit".
pt_BR: Peça ao usuário para confirmar que um conjunto de patches deve realmente ser enviado ao SVN.  Para cada patch, pode-se responder "yes" (aceitar este patch), "no" (descartar este patch), "all" (aceitar todos os patches) ou "encerrar".

note: type: Plain text
en: 'git svn dcommit' returns immediately if answer is "no" or "quit", without committing anything to SVN.
pt_BR: O comando 'git svn dcommit' retorna imediatamente caso a resposta seja "no" (não) ou "quit" (sair), sem comprometer nada com no SVN.

note: type: Plain text
en: Create a branch in the SVN repository.
pt_BR: Crie um ramo no repositório SVN.

note: type: Plain text
en: Allows to specify the commit message.
pt_BR: Permite definir a mensagem do commit.

note: type: Plain text
en: Create a tag by using the tags_subdir instead of the branches_subdir specified during git svn init.
pt_BR: Crie uma tag utilizando o 'tags_subdir' em vez do 'branches_subdir' definido durante o comando `git svn init`.

note: type: Labeled list
en: -d<path>
pt_BR: -d<caminho>

note: type: Labeled list
en: --destination=<path>
pt_BR: --destination=<caminho>

note: type: Plain text
en: If more than one --branches (or --tags) option was given to the 'init' or 'clone' command, you must provide the location of the branch (or tag) you wish to create in the SVN repository.  <path> specifies which path to use to create the branch or tag and should match the pattern on the left-hand side of one of the configured branches or tags refspecs.  You can see these refspecs with the commands
pt_BR: No caso de mais de uma opção `--branches` (ou `--tags`) seja encaminhada ao comando 'init' ou 'clone', você deve informar o local do ramo (ou a 'tag') que deseja criar no repositório SVN.  o <caminho> especifica qual o caminho utilizar para criar o ramo ou a tag que deve coincidir ao padrão no lado esquerdo de um dos ramos configurados ou uma das tags refspecs.  Você pode ver estes refspecs com os comandos

note: type: Plain text
en: git config --get-all svn-remote.<name>.branches git config --get-all svn-remote.<name>.tags
pt_BR: git config --get-all svn-remote.<nome>.branches git config --get-all svn-remote.<nome>.tags

note: type: Plain text
en: where <name> is the name of the SVN repository as specified by the -R option to 'init' (or "svn" by default).
pt_BR: onde <nome> é o nome do repositório SVN, conforme definido pela opção '-R' para o 'init' (ou por predefinição, o "svn").

note: type: Plain text
en: Specify the SVN username to perform the commit as.  This option overrides the 'username' configuration property.
pt_BR: Define o nome do usuário SVN para executar o commit com esta identidade.  Esta opção substitui a propriedade de configuração 'username'.

note: type: Plain text
en: Use the specified URL to connect to the destination Subversion repository.  This is useful in cases where the source SVN repository is read-only.  This option overrides configuration property 'commiturl'.
pt_BR: Use a URL informada para conectar-se ao repositório Subversion do destino.  É útil nos casos onde o repositório SVN da origem seja somente leitura.  Esta opção substitui a propriedade de configuração 'commiturl'.

note: type: Plain text
en: git config --get-all svn-remote.<name>.commiturl
pt_BR: git config --get-all svn-remote.<nome>.commiturl

note: type: Plain text
en: Create parent folders. This parameter is equivalent to the parameter --parents on svn cp commands and is useful for non-standard repository layouts.
pt_BR: Crie diretórios parentes. Este parâmetro é equivalente a `--parents` nos comandos 'svn cp' e é útil para os layouts do repositório fora do padrão.

note: type: Plain text
en: Create a tag in the SVN repository. This is a shorthand for 'branch -t'.
pt_BR: Crie uma tag no repositório SVN. Esta é uma abreviação para 'branch -t'.

note: type: Plain text
en: This should make it easy to look up svn log messages when svn users refer to -r/--revision numbers.
pt_BR: Isso deve facilitar a consulta das mensagens 'svn log' quando os usuários svn se referem ao `-r/--revision numbers`.

note: type: Plain text
en: The following features from `svn log' are supported:
pt_BR: Os seguintes recursos do `svn log` são compatíveis:

note: type: Plain text
en: is supported, non-numeric args are not: HEAD, NEXT, BASE, PREV, etc ...
pt_BR: é compatível, argumentos não numéricos não são: `HEAD`, `NEXT`, `BASE`, `PREV`, etc ...

note: type: Plain text
en: it's not completely compatible with the --verbose output in svn log, but reasonably close.
pt_BR: não é completamente compatível com a saída `--verbose` no 'svn log', porém é razoavelmente próximo.

note: type: Plain text
en: is NOT the same as --max-count, doesn't count merged/excluded commits
pt_BR: NÃO é o mesmo que a opção `--max-count`, não conta os commits que foram mesclados/excluídos

note: type: Plain text
en: supported
pt_BR: compatível

note: type: Plain text
en: New features:
pt_BR: Novos recursos:

note: type: Plain text
en: shows the Git commit sha1, as well
pt_BR: exiba o SHA1 do commit do Git, também

note: type: Plain text
en: our version of --pretty=oneline
pt_BR: a nossa versão do `--pretty=oneline`

note: type: Plain text
en: SVN itself only stores times in UTC and nothing else. The regular svn client converts the UTC time to the local time (or based on the TZ= environment). This command has the same behaviour.
pt_BR: O próprio SVN armazena apenas os horários em UTC e mais nada. O cliente svn comum converte a hora UTC em hora local (ou com base no ambiente 'TZ='). Este comando tem o mesmo comportamento.

note: type: Plain text
en: Any other arguments are passed directly to 'git log'
pt_BR: Quaisquer outros argumentos são passados diretamente para o comando 'git log'

note: type: Plain text
en: Show what revision and author last modified each line of a file. The output of this mode is format-compatible with the output of `svn blame' by default. Like the SVN blame command, local uncommitted changes in the working tree are ignored; the version of the file in the HEAD revision is annotated. Unknown arguments are passed directly to 'git blame'.
pt_BR: Exiba quais foram as últimas modificações feitas em cada linha de um arquivo separados pela versão da revisão e do autor da modificação. É predefinido que a saída deste modo seja compatível com o formato `svn blame'. Como o "SVN blame", as alterações dos commits locais que não tenham sido feitas na árvore de trabalho são ignoradas; a versão do arquivo na revisão `HEAD` é anotada. os argumentos desconhecidos são passados diretamente para o comando 'git blame'.

note: type: Plain text
en: Produce output in the same format as 'git blame', but with SVN revision numbers instead of Git commit hashes. In this mode, changes that haven't been committed to SVN (including local working-copy edits) are shown as revision 0.
pt_BR: Gere a saída no mesmo formato que o comando 'git blame', porém com números da revisão do SVN em vez dos hashes dos commits do Git. Nesse modo, as alterações onde os commits não foram feitos no SVN (incluindo as edições locais da cópia de trabalho) são exibidas como revisão.

note: type: Plain text
en: When given an SVN revision number of the form 'rN', returns the corresponding Git commit hash (this can optionally be followed by a tree-ish to specify which branch should be searched).  When given a tree-ish, returns the corresponding SVN revision number.
pt_BR: Quando recebe um número da revisão SVN no formato 'rN', retorna o hash do commit Git correspondente (isso pode ser seguido opcionalmente por um 'tree-ish' da árvore para definir qual o ramo deve ser pesquisado).  Quando informar um 'tree-ish', retorna o número da revisão SVN correspondente.

note: type: Plain text
en: Don't require an exact match if given an SVN revision, instead find the commit corresponding to the state of the SVN repository (on the current branch) at the specified revision.
pt_BR: Não exija uma coincidência exata caso receba uma revisão SVN; em vez disso, encontre o commit correspondente na condição do repositório SVN (no ramo atual) na revisão informada.

note: type: Plain text
en: Don't require an exact match if given an SVN revision; if there is not an exact match return the closest match searching forward in the history.
pt_BR: Não exija uma coincidência exata caso receba uma revisão SVN; caso não haja uma coincidência exata, retorne a coincidência mais próxima pesquisando no histórico.

note: type: Plain text
en: You should consider using 'dcommit' instead of this command.  Commit specified commit or tree objects to SVN.  This relies on your imported fetch data being up to date.  This makes absolutely no attempts to do patching when committing to SVN, it simply overwrites files with those specified in the tree or commit.  All merging is assumed to have taken place independently of 'git svn' functions.
pt_BR: Você deve considerar a utilização do 'dcommit' em vez deste comando.  Faça o commit de determinados commits ou objetos árvore para o SVN.  Depende que os seus dados buscados estejam atualizados.  Não faz absolutamente nenhuma tentativa de fazer correções ao fazer o commit com o SVN, simplesmente substitui os arquivos pelos definidos na árvore ou pelo commit.  Supõe-se que todas as mesclagens ocorreram independentemente das funções do comando 'git svn'.

note: type: Plain text
en: Recursively finds the svn:ignore property on directories and creates matching .gitignore files. The resulting files are staged to be committed, but are not committed. Use -r/--revision to refer to a specific revision.
pt_BR: Localiza de forma recursiva a propriedade 'svn:ignore' nos diretórios e cria os arquivos `.gitignore` correspondentes. Os arquivos resultantes apenas são preparados para que os commits sejam feitos, mas não são. Utilize `-r/--revision` quando se referir a uma revisão específica.

note: type: Plain text
en: Recursively finds and lists the svn:ignore property on directories.  The output is suitable for appending to the $GIT_DIR/info/exclude file.
pt_BR: Localiza e lista recursivamente a propriedade 'svn:ignore' nos diretórios.  A saída é adequada para anexar ao arquivo `$GIT_DIR/info/exclude`.

note: type: Plain text
en: Attempts to recreate empty directories that core Git cannot track based on information in $GIT_DIR/svn/<refname>/unhandled.log files.  Empty directories are automatically recreated when using "git svn clone" and "git svn rebase", so "mkdirs" is intended for use after commands like "git checkout" or "git reset".  (See the svn-remote.<name>.automkdirs config file option for more information.)
pt_BR: As tentativas de recriar os diretórios vazios que o Git principal não pode rastrear com base nas informações dos arquivos '$GIT_DIR/svn/<refname>/unhandled.log'.  Os diretórios vazios são recriados automaticamente ao utilizar o comando "git svn clone" e o "git svn rebase"; portanto, o comando "mkdirs" deve ser utilizado após os comandos como "git checkout" ou "git reset".  (Para mais informações, consulte a opção do arquivo de configuração 'svn-remote.<nome>.automkdirs'.)

note: type: Plain text
en: Commits the diff of two tree-ish arguments from the command-line.  This command does not rely on being inside a `git svn init`-ed repository.  This command takes three arguments, (a) the original tree to diff against, (b) the new tree result, (c) the URL of the target Subversion repository.  The final argument (URL) may be omitted if you are working from a 'git svn'-aware repository (that has been `init`-ed with 'git svn').  The -r<revision> option is required for this.
pt_BR: Faz o commit da diferença entre dois argumentos da árvore na linha de comando.  Este comando não depende de estar dentro de um repositório `git svn init`.  Este comando utiliza três argumentos, (a) a árvore original que será comparada, (b) o novo resultado da árvore, (c) a URL do repositório de destino do Subversion.  O argumento final (URL) pode ser omitido caso você esteja trabalhando em um repositório compatível com o comando 'git svn' (que foi iniciado com 'git svn').  Para isso, a opção -r <revisão> é necessária.

note: type: Plain text
en: The commit message is supplied either directly with the `-m` or `-F` option, or indirectly from the tag or commit when the second tree-ish denotes such an object, or it is requested by invoking an editor (see `--edit` option below).
pt_BR: A mensagem do commit é informada diretamente com a opção `-m` ou `-F`, ou indiretamente da tag ou commit quando a segunda 'tree-ish' denota este objeto ou é solicitada pela chamada de um editor (consulte a opção `--edit` abaixo).

note: type: Plain text
en: Use the given `msg` as the commit message. This option disables the `--edit` option.
pt_BR: Utilize a `msg` informada como a mensagem do commit. Esta opção desativa a opção `--edit`.

note: type: Labeled list
en: -F <filename>
pt_BR: -F <nome-do-arquivo>

note: type: Labeled list
en: --file=<filename>
pt_BR: --file=<nome-do-arquivo>

note: type: Plain text
en: Take the commit message from the given file. This option disables the `--edit` option.
pt_BR: Pega a mensagem de commit vindo de um determinado arquivo. This option disables the `--edit` option.

note: type: Plain text
en: Shows information about a file or directory similar to what `svn info' provides.  Does not currently support a -r/--revision argument.  Use the --url option to output only the value of the 'URL:' field.
pt_BR: Exibe as informações sobre um arquivo ou diretório semelhante ao que o `svn info` provê.  Atualmente não é compatível com o argumento da opção '-r/--revision'.  Utilize a opção `--url` para gerar apenas o valor do campo 'URL:'.

note: type: Plain text
en: Lists the properties stored in the Subversion repository about a given file or directory.  Use -r/--revision to refer to a specific Subversion revision.
pt_BR: Lista as propriedades armazenadas no repositório do Subversion sobre um determinado arquivo ou diretório.  Utilize '-r/--revision' para se referir a uma revisão específica do Subversion.

note: type: Plain text
en: Gets the Subversion property given as the first argument, for a file.  A specific revision can be specified with -r/--revision.
pt_BR: Obtém a propriedade do Subversion informado como o primeiro argumento, para um arquivo.  Uma revisão específica pode ser definida através da opção `-r`/`--revision`.

note: type: Plain text
en: Sets the Subversion property given as the first argument, to the value given as the second argument for the file given as the third argument.
pt_BR: Define a propriedade Subversion informada como o primeiro argumento, como o valor fornecido como o segundo argumento para o arquivo informado como o terceiro argumento.

note: type: Plain text
en: This will set the property 'svn:keywords' to 'FreeBSD=%H' for the file 'devel/py-tipper/Makefile'.
pt_BR: Isso definirá a propriedade 'svn:keywords' como 'FreeBSD=%H' para o arquivo 'devel/py-tipper/Makefile'.

note: type: Plain text
en: Shows the Subversion externals.  Use -r/--revision to specify a specific revision.
pt_BR: Exibe os externos do Subversion.  Utilize '-r/--revision' para definir uma revisão específica.

note: type: Plain text
en: Compress $GIT_DIR/svn/<refname>/unhandled.log files and remove $GIT_DIR/svn/<refname>/index files.
pt_BR: Compacte os arquivos `$GIT_DIR/svn/<refname>/unhandled.log` e remova os arquivos `$GIT_DIR/svn/<refname>/index`.

note: type: Plain text
en: Undoes the effects of 'fetch' back to the specified revision.  This allows you to re-'fetch' an SVN revision.  Normally the contents of an SVN revision should never change and 'reset' should not be necessary.  However, if SVN permissions change, or if you alter your --ignore-paths option, a 'fetch' may fail with "not found in commit" (file not previously visible) or "checksum mismatch" (missed a modification).  If the problem file cannot be ignored forever (with --ignore-paths) the only way to repair the repo is to use 'reset'.
pt_BR: Desfaz os efeitos do 'fetch' de volta à revisão informada.  Permite que você refaça um 'fetch' de uma revisão SVN.  Normalmente, o conteúdo de uma revisão SVN nunca deve mudar e o 'reset' não deve ser necessário.  No entanto, caso as permissões SVN mudem, ou caso você altere a opção `--ignore-paths`, um 'fetch' poderá falhar com "não encontrado no commit" (arquivo não visível anteriormente) ou "houve uma incompatibilidade com o checksum" (perdeu uma alteração).  Caso o arquivo com problema não puder ser ignorado para sempre (com a opção `--ignore-paths`), a única maneira de reparar o repositório é usando 'reset'.

note: type: Plain text
en: Only the rev_map and refs/remotes/git-svn are changed (see '$GIT_DIR/svn/\**/.rev_map.*' in the FILES section below for details).  Follow 'reset' with a 'fetch' and then 'git reset' or 'git rebase' to move local branches onto the new tree.
pt_BR: Somente o 'rev_map' e o 'refs/remotes/git-svn' são alterados (para mais detalhes, consulte '$GIT_DIR/svn/\**/.rev_map.*' Na seção FILES abaixo).  Acompanhe 'reset' com um 'fetch' seguido do comando 'git reset' ou 'git rebase' para mover as ramificações locais para a nova árvore.

note: type: Plain text
en: Specify the most recent revision to keep.  All later revisions are discarded.
pt_BR: Defina a revisão mais recente que será mantida.  Todas as revisões posteriores são descartadas.

note: type: Plain text
en: Discard the specified revision as well, keeping the nearest parent instead.
pt_BR: Descarte também a revisão informada, mantendo o parente mais próximo.

note: type: Plain text
en: Assume you have local changes in "master", but you need to refetch "r2".
pt_BR: Suponha que você tenha alterações locais em "master", porém é necessário buscar "r2" novamente.

note: type: Plain text
en: Fix the ignore-paths or SVN permissions problem that caused "r2" to be incomplete in the first place.  Then:
pt_BR: Corrija os 'ignore-paths' (ignore os caminhos) ou as permissões do SVN que em primeiro lugar, fazia com que "r2" estivesse incompleto.  Então:

note: type: Plain text
en: Then fixup "master" with 'git rebase'.  Do NOT use 'git merge' or your history will not be compatible with a future 'dcommit'!
pt_BR: Então repare o "master" com 'git rebase'.  Não use o comando 'git merge' ou o seu histórico não será mais compatível com um futuro 'dcommit'!

note: type: Plain text
en: Only used with the 'init' command.  These are passed directly to 'git init'.
pt_BR: Utilizado apenas com o comando 'init'.  Estes são passados diretamente ao comando 'git init'.

note: type: Plain text
en: Used with the 'fetch' command.
pt_BR: Usado com o comando 'fetch' (traga).

note: type: Plain text
en: This allows revision ranges for partial/cauterized history to be supported.  $NUMBER, $NUMBER1:$NUMBER2 (numeric ranges), $NUMBER:HEAD, and BASE:$NUMBER are all supported.
pt_BR: Permite que os intervalos da revisão para o histórico parcial/cauterizado sejam compatíveis.  $NUMBER, $NUMBER1:$NUMBER2 (faixas numéricas), $NUMBER:HEAD, e BASE:$NUMBER todos são compatíveis.

note: type: Plain text
en: This can allow you to make partial mirrors when running fetch; but is generally not recommended because history will be skipped and lost.
pt_BR: Pode permitir que você faça espelhos parciais ao executar a busca; porém geralmente não é recomendado pois o histórico será ignorado e perdido.

note: type: Plain text
en: Only used with the 'set-tree' command.
pt_BR: Apenas utilizado com o comando 'set-tree'.

note: type: Plain text
en: Read a list of commits from stdin and commit them in reverse order.  Only the leading sha1 is read from each line, so 'git rev-list --pretty=oneline' output can be used.
pt_BR: Leia uma lista dos commits vinda do stdin e faça o commit deles em ordem inversa.  Apenas o SHA1 principal é lido em cada linha, portanto, a saída 'git rev-list --pretty=oneline' pode ser utilizado.

note: type: Plain text
en: Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands.
pt_BR: Utilizado apenas com os comandos 'dcommit', 'set-tree' e 'commit-diff'.

note: type: Plain text
en: Remove directories from the SVN tree if there are no files left behind.  SVN can version empty directories, and they are not removed by default if there are no files left in them.  Git cannot version empty directories.  Enabling this flag will make the commit to SVN act like Git.
pt_BR: Remova os diretórios da árvore SVN caso não haja arquivos deixados para trás.  O SVN pode dar versão a diretórios vazios, e por predefinição eles não são removidos, caso não haja arquivos neles.  O Git não pode dar versão nos diretórios vazios.  A ativação dessa opção fará com que o commit no SVN aja como o Git.

note: type: Plain text
en: Edit the commit message before committing to SVN.  This is off by default for objects that are commits, and forced on when committing tree objects.
pt_BR: Edite a mensagem do commit antes de fazer o commit no SVN.  A predefinição é deixar desativado para os objetos que sejam commits e é imposto que esteja ativo ao fazer o commit nos objetos da árvore.

note: type: Plain text
en: They are both passed directly to 'git diff-tree'; see linkgit:git-diff-tree[1] for more information.
pt_BR: Ambos são repassados diretamente para 'git diff-tree'; para mais informações consulte linkgit:git-diff-tree[1].

note: type: Labeled list
en: -A<filename>
pt_BR: -A<nome-do-arquivo>

note: type: Labeled list
en: --authors-file=<filename>
pt_BR: --authors-file=<nome-do-arquivo>

note: type: Plain text
en: Syntax is compatible with the file used by 'git cvsimport' but an empty email address can be supplied with '<>':
pt_BR: A sintaxe é compatível com o arquivo usado pelo comando 'git cvsimport', porém um endereço de e-mail vazio pode ser informado com '<>':

note: type: Plain text
en: If this option is specified and 'git svn' encounters an SVN committer name that does not exist in the authors-file, 'git svn' will abort operation. The user will then have to add the appropriate entry.  Re-running the previous 'git svn' command after the authors-file is modified should continue operation.
pt_BR: Caso esta opção seja definida e o comando 'git svn' encontrar um nome de que fez o commit SVN que não exista no arquivo de autores, o 'git svn' interromperá a operação. É preciso que o usuário adicione a entrada apropriada.  Após a reexecução do comando 'git svn' anterior depois da devida alteração no arquivo dos autores, deve fazer com que a operação continue.

note: type: Labeled list
en: --authors-prog=<filename>
pt_BR: --authors-prog=<nome-do-arquivo>

note: type: Plain text
en: If this option is specified, for each SVN committer name that does not exist in the authors file, the given file is executed with the committer name as the first argument.  The program is expected to return a single line of the form "Name <email>" or "Name <>", which will be treated as if included in the authors file.
pt_BR: Caso esta opção seja definida, para cada nome de quem fez o commit SVN que não exista no arquivo de autores, o arquivo informado será executado com o nome do committer como o primeiro argumento.  Espera-se que o programa retorne uma única linha do formulário "Nome <e-mail>" ou "Nome <>", que será tratado como se fosse incluído no arquivo dos autores.

note: type: Plain text
en: Due to historical reasons a relative 'filename' is first searched relative to the current directory for 'init' and 'clone' and relative to the root of the working tree for 'fetch'. If 'filename' is not found, it is searched like any other command in '$PATH'.
pt_BR: Devido a razões históricas, um 'nome do arquivo' relativo é o primeiro pesquisado em relação ao diretório atual através do 'init' e 'clone' em relação à raiz da árvore de trabalho para uma 'busca'. Caso o 'filename' não seja encontrado, ele será pesquisado como qualquer outro comando no '$PATH'.

note: type: Plain text
en: Make 'git svn' less verbose. Specify a second time to make it even less verbose.
pt_BR: Torne 'git svn' menos loquaz. Defina uma segunda vez para torná-lo ainda menos loquaz.

note: type: Labeled list
en: -s<strategy>
pt_BR: -s<estratégia>

note: type: Labeled list
en: --preserve-merges (DEPRECATED)
pt_BR: --preserve-merges (DESCONTINUADO)

note: type: Plain text
en: These are only used with the 'dcommit' and 'rebase' commands.
pt_BR: Estes são usados apenas com os comandos 'dcommit' e 'rebase'.

note: type: Plain text
en: Passed directly to 'git rebase' when using 'dcommit' if a 'git reset' cannot be used (see 'dcommit').
pt_BR: Passado diretamente para o comando 'git rebase' ao utilizar o 'dcommit' caso um 'git reset' não puder ser utilizado (consulte 'dcommit').

note: type: Plain text
en: This can be used with the 'dcommit', 'rebase', 'branch' and 'tag' commands.
pt_BR: Isso pode ser usado com os comandos 'dcommit', 'rebase', 'branch' e 'tag'.

note: type: Plain text
en: For 'dcommit', print out the series of Git arguments that would show which diffs would be committed to SVN.
pt_BR: Para o 'dcommit', imprima a série de opções Git que exibiriam quais os "diffs" seriam feitos os commits para o SVN.

note: type: Plain text
en: For 'rebase', display the local branch associated with the upstream svn repository associated with the current branch and the URL of svn repository that will be fetched from.
pt_BR: Para 'rebase', exiba o ramo local associado ao repositório 'svn upstream' associado à ramificação atual e a URL do repositório svn que será buscado.

note: type: Plain text
en: For 'branch' and 'tag', display the urls that will be used for copying when creating the branch or tag.
pt_BR: Para 'ramo' e 'tag', exiba as URLs que serão utilizados para copiar durante a criação do ramo ou tag.

note: type: Plain text
en: When retrieving svn commits into Git (as part of 'fetch', 'rebase', or 'dcommit' operations), look for the first `From:` or `Signed-off-by:` line in the log message and use that as the author string.
pt_BR: Ao recuperar commits svn no Git (como parte das operações 'fetch', 'rebase' ou 'dcommit'), procure pela primeira linha `From:` ou `Signed off by:` na mensagem do registro log e use-a como texto do autor.

note: type: Plain text
en: When committing to svn from Git (as part of 'set-tree' or 'dcommit' operations), if the existing log message doesn't already have a `From:` or `Signed-off-by:` line, append a `From:` line based on the Git commit's author string.  If you use this, then `--use-log-author` will retrieve a valid author string for all commits.
pt_BR: Ao fazer o commit no svn a partir do Git (como parte das operações 'set tree' ou 'dcommit'), caso a mensagem do registro log existente ainda não tenha uma linha `From:` ou `Signed off by:`, adicione uma linha `From:` com base no texto do autor do commit do Git.  Caso você use isso, então o `--use-log-author` recuperará uma sequência de autores válidos para todos os commits.

note: type: Title -
en: ADVANCED OPTIONS
pt_BR: OPÇÕES AVANÇADAS

note: type: Plain text
en: This sets GIT_SVN_ID (instead of using the environment).  This allows the user to override the default refname to fetch from when tracking a single URL.  The 'log' and 'dcommit' commands no longer require this switch as an argument.
pt_BR: Define o `GIT_SVN_ID` (em vez de usar o ambiente).  Permite que o usuário substitua o nome da referência predefinida para buscar durante o monitoramento de uma única URL.  Os comandos 'log' e 'dcommit' não exigem mais essa opção como argumento.

note: type: Labeled list
en: -R<remote name>
pt_BR: -R<nome remoto>

note: type: Labeled list
en: --svn-remote <remote name>
pt_BR: --svn-remote <nome remoto>

note: type: Plain text
en: Specify the [svn-remote "<remote name>"] section to use, this allows SVN multiple repositories to be tracked.  Default: "svn"
pt_BR: Define a seção [svn-remote "<nome remoto>"] a ser utilizada, isso permitirá que vários repositórios do SVN sejam monitorados.  Predefinição: "svn"

note: type: Plain text
en: This option is only relevant if we are tracking branches (using one of the repository layout options --trunk, --tags, --branches, --stdlayout). For each tracked branch, try to find out where its revision was copied from, and set a suitable parent in the first Git commit for the branch.  This is especially helpful when we're tracking a directory that has been moved around within the repository.  If this feature is disabled, the branches created by 'git svn' will all be linear and not share any history, meaning that there will be no information on where branches were branched off or merged.  However, following long/convoluted histories can take a long time, so disabling this feature may speed up the cloning process. This feature is enabled by default, use --no-follow-parent to disable it.
pt_BR: Esta opção é relevante apenas caso estivermos monitorando as ramificações (usando uma das opções de layout do repositório `--trunk`, `--tags`, `--branches`, `--stdlayout`). Para cada ramo monitorado, tente descobrir de onde a sua revisão foi copiada e defina um pai adequado no primeiro commit do Git para o ramo.  Isso é especialmente útil quando monitoramos um diretório que foi movido pelo repositório.  Caso este recurso esteja desativado, os desvios criados pelo comando 'git svn' serão todos lineares e não compartilharão nenhum histórico, o que significa que não haverá informações sobre onde os desvios foram ramificados ou mesclados.  No entanto, o acompanhamento dos históricos longos/complicados podem levar muito tempo, portanto, desativar este recurso pode acelerar o processo da clonagem. É predefinido que este recurso esteja ativado, não use a opção `--no-follow-parent` para desativá-lo.

note: type: Title -
en: CONFIG FILE-ONLY OPTIONS
pt_BR: OPÇÕES APENAS PARA A CONFIGURAÇÃO DOS ARQUIVOS

note: type: Labeled list
en: svn-remote.<name>.noMetadata
pt_BR: svn-remote.<nome>.noMetadata

note: type: Plain text
en: This gets rid of the 'git-svn-id:' lines at the end of every commit.
pt_BR: Se livra das linhas 'git-svn-id:' no final de cada commit.

note: type: Plain text
en: This option can only be used for one-shot imports as 'git svn' will not be able to fetch again without metadata. Additionally, if you lose your '$GIT_DIR/svn/\**/.rev_map.*' files, 'git svn' will not be able to rebuild them.
pt_BR: Esta opção pode ser usada apenas para as importações de captura única, já que 'git svn' não poderá buscar novamente sem os metadados. Além disso, caso perca os seus arquivos '$GIT_DIR/svn/\**/.rev_map.*', o comando 'git svn' não será capaz de reconstruí-los.

note: type: Plain text
en: The 'git svn log' command will not work on repositories using this, either.  Using this conflicts with the 'useSvmProps' option for (hopefully) obvious reasons.
pt_BR: O comando 'git svn log' também não funcionará nos repositórios que usam isso.  Usar isso entra em conflito com a opção 'useSvmProps' por (espero) razões óbvias.

note: type: Plain text
en: This option is NOT recommended as it makes it difficult to track down old references to SVN revision numbers in existing documentation, bug reports, and archives.  If you plan to eventually migrate from SVN to Git and are certain about dropping SVN history, consider https://github.com/newren/git-filter-repo[git-filter-repo] instead.  filter-repo also allows reformatting of metadata for ease-of-reading and rewriting authorship info for non-"svn.authorsFile" users.
pt_BR: Esta opção NÃO é recomendada pois dificulta o monitoramento das referências mais antigas para os números da revisão do SVN na documentação existente, nos relatórios de erros e nos arquivos.  Caso planeje eventualmente migrar do SVN para o Git e tenha certeza de descartar o histórico do SVN, em vez disso, considere a consulta no https://github.com/newren/git-filter-repo[git-filter-repo].  O 'filter-repo' também permite reformatar os metadados para facilitar a leitura e reescrever as informações da autoria para os usuários que não estejam no "svn.authorsFile".

note: type: Labeled list
en: svn-remote.<name>.useSvmProps
pt_BR: svn-remote.<nome>.useSvmProps

note: type: Plain text
en: This allows 'git svn' to re-map repository URLs and UUIDs from mirrors created using SVN::Mirror (or svk) for metadata.
pt_BR: Isso permite ao 'git svn' remapear novamente as URLs e os UUIDs do repositório a partir dos espelhos criados usando SVN::Mirror (ou svk) para o metadados.

note: type: Plain text
en: If an SVN revision has a property, "svm:headrev", it is likely that the revision was created by SVN::Mirror (also used by SVK).  The property contains a repository UUID and a revision.  We want to make it look like we are mirroring the original URL, so introduce a helper function that returns the original identity URL and UUID, and use it when generating metadata in commit messages.
pt_BR: Caso uma revisão SVN tenha uma propriedade "svm:headrev", é provável que a revisão tenha sido criada através do `SVN::Mirror` (também utilizado pelo SVK).  A propriedade contém um UUID do repositório e uma revisão.  Queremos fazer parecer que estamos espelhando a URL original; portanto, introduza uma função auxiliar que retorne a URL da identidade original e seu UUID e utilize-a ao gerar os metadados nas mensagens dos commits.

note: type: Labeled list
en: svn-remote.<name>.useSvnsyncprops
pt_BR: svn-remote.<nome>.useSvnsyncprops

note: type: Plain text
en: Similar to the useSvmProps option; this is for users of the svnsync(1) command distributed with SVN 1.4.x and later.
pt_BR: Semelhante à opção 'useSvmProps'; isso serve para usuários do comando svnsync(1) distribuído com o SVN 1.4.x e mais recentes.

note: type: Labeled list
en: svn-remote.<name>.rewriteRoot
pt_BR: svn-remote.<nome>.rewriteRoot

note: type: Plain text
en: This allows users to create repositories from alternate URLs.  For example, an administrator could run 'git svn' on the server locally (accessing via file://) but wish to distribute the repository with a public http:// or svn:// URL in the metadata so users of it will see the public URL.
pt_BR: Permite que os usuários criem repositórios a partir das URLs alternativas.  Como, por exemplo, um administrador pode executar o comando 'git svn' no servidor localmente (acessando através do file://), mas queira distribuir o repositório com uma URL pública 'http://' ou 'svn://' nos metadados para que os usuários vejam a URL pública.

note: type: Labeled list
en: svn-remote.<name>.rewriteUUID
pt_BR: svn-remote.<nome>.rewriteUUID

note: type: Plain text
en: Similar to the useSvmProps option; this is for users who need to remap the UUID manually. This may be useful in situations where the original UUID is not available via either useSvmProps or useSvnsyncProps.
pt_BR: Semelhante à opção 'useSvmProps'; isso serve para os usuários que precisam remapear o UUID manualmente. Pode ser útil em situações onde o UUID original não está disponível através do 'useSvmProps' ou o 'useSvnsyncProps'.

note: type: Labeled list
en: svn-remote.<name>.pushurl
pt_BR: svn-remote.<nome>.pushurl

note: type: Plain text
en: Similar to Git's `remote.<name>.pushurl`, this key is designed to be used in cases where 'url' points to an SVN repository via a read-only transport, to provide an alternate read/write transport. It is assumed that both keys point to the same repository. Unlike 'commiturl', 'pushurl' is a base path. If either 'commiturl' or 'pushurl' could be used, 'commiturl' takes precedence.
pt_BR: Semelhante ao `remote.<nome>.pushurl` do Git, essa chave é projetada para ser usada nos casos onde a 'url' apontr para um repositório SVN através de um transporte de leitura apenas, fornecendo um transporte alternativo de leitura/gravação. Supõe-se que ambas as chaves apontem para o mesmo repositório. Ao contrário do 'commiturl', 'pushurl' é um caminho da base. Caso 'commiturl' ou 'pushurl' puder ser usado, o 'commiturl' terá precedência.

note: type: Plain text
en: This disables potentially expensive checks to workaround broken symlinks checked into SVN by broken clients.  Set this option to "false" if you track a SVN repository with many empty blobs that are not symlinks.  This option may be changed while 'git svn' is running and take effect on the next revision fetched.  If unset, 'git svn' assumes this option to be "true".
pt_BR: Desabilita as verificações potencialmente dispendiosas para solucionar os links simbólicos quebrados registrados no SVN feito por clientes problemáticos.  Defina esta opção como 'false' caso você monitore um repositório SVN com muitas bolhas vazias que não sejam links simbólicos.  Esta opção pode ser alterada enquanto o comando 'git svn' estiver em execução e entrar em vigor na busca da próxima revisão.  Caso não esteja definido, o comando 'git svn' assume que esta opção seja "verdadeira" (true).

note: type: Plain text
en: This instructs git svn to recode pathnames to a given encoding.  It can be used by windows users and by those who work in non-utf8 locales to avoid corrupted file names with non-ASCII characters.  Valid encodings are the ones supported by Perl's Encode module.
pt_BR: Informa o 'git svn' para re-codificar os nomes do caminho para uma determinada codificação.  Ele pode ser utilizado pelos usuários do Windows e por aqueles que trabalham em locais que não utilizem utf8, para evitar que nomes dos arquivos sejam corrompidos com caracteres que não sejam ASCII.  Codificações válidas são compatíveis pelo módulo Encode do Perl.

note: type: Labeled list
en: svn-remote.<name>.automkdirs
pt_BR: svn-remote.<nome>.automkdirs

note: type: Plain text
en: Normally, the "git svn clone" and "git svn rebase" commands attempt to recreate empty directories that are in the Subversion repository.  If this option is set to "false", then empty directories will only be created if the "git svn mkdirs" command is run explicitly.  If unset, 'git svn' assumes this option to be "true".
pt_BR: Normalmente, os comandos "git svn clone" e o "git svn rebase" tentam recriar os diretórios vazios que estão no repositório do Subversion.  Caso esta opção esteja configurada como 'false', os diretórios vazios serão criados apenas caso o comando "git svn mkdirs" seja executado de forma explicita.  Caso não esteja definido, o comando 'git svn' assume que esta opção seja "verdadeira" (true).

note: type: Plain text
en: Since the noMetadata, rewriteRoot, rewriteUUID, useSvnsyncProps and useSvmProps options all affect the metadata generated and used by 'git svn'; they *must* be set in the configuration file before any history is imported and these settings should never be changed once they are set.
pt_BR: Como as opções 'noMetadata', 'rewriteRoot', 'rewriteUUID', 'useSvnsyncProps' e 'useSvmProps' afetam os metadados gerados e usados pelo comando 'git svn'; eles *devem* ser definidos no arquivo de configuração antes que qualquer histórico seja importado e estas configurações nunca devem ser alteradas depois que forem definidas.

note: type: Plain text
en: Additionally, only one of these options can be used per svn-remote section because they affect the 'git-svn-id:' metadata line, except for rewriteRoot and rewriteUUID which can be used together.
pt_BR: Além disso, apenas uma destas opções podem ser utilizadas por uma seção 'svn-remote' porque elas afetam a linha de metadados 'git-svn-id:', exceto para `rewriteRoot` e `rewriteUUID`, que podem ser utilizadas juntas.

note: type: Title -
en: BASIC EXAMPLES
pt_BR: EXEMPLOS BÁSICOS

note: type: Plain text
en: Tracking and contributing to the trunk of a Subversion-managed project (ignoring tags and branches):
pt_BR: Monitorando e contribuindo para o 'trunk' de um projeto gerenciado pelo Subversion (ignorando as tags e as ramificações):

note: type: delimited block -
en: # Clone a repo (like git clone):
    	git svn clone http://svn.example.com/project/trunk
    # Enter the newly cloned directory:
    	cd trunk
    # You should be on master branch, double-check with 'git branch'
    	git branch
    # Do some work and commit locally to Git:
    	git commit ...
    # Something is committed to SVN, rebase your local changes against the
    # latest changes in SVN:
    	git svn rebase
    # Now commit your changes (that were committed previously using Git) to SVN,
    # as well as automatically updating your working HEAD:
    	git svn dcommit
    # Append svn:ignore settings to the default Git exclude file:
    	git svn show-ignore >> .git/info/exclude
pt_BR: # Clone um repo (como o git clone):
    	git svn clone http://svn.example.com/project/trunk
    # Entre no novo diretório que foi clonado:
    	cd trunk
    # Você deve estar no ramo master, verifique com 'git branch'
    	git branch
    # Trabalhe em algo e faça o commit local:
    	git commit ...
    # Algum commit está feito no SVN, reconstrua as suas alterações locais contra as
    # últimas alterações no SVN:
    	git svn rebase
    # Agora, faça o commit das suas alterações (que foram anteriormente feitas utilizando o Git) no SVN,
    # bem como atualizar automaticamente o seu HEAD de trabalho:
    	git svn dcommit
    # Anexe as configurações do svn:ignore ao arquivo de exclusão predefinido do Git:
    	git svn show-ignore >> .git/info/exclude

note: type: Plain text
en: Tracking and contributing to an entire Subversion-managed project (complete with a trunk, tags and branches):
pt_BR: Monitorando e contribuindo para todo um projeto gerenciado pelo Subversion (completo com um 'trunk', tags e ramificações):

note: type: delimited block -
en: # Clone a repo with standard SVN directory layout (like git clone):
    	git svn clone http://svn.example.com/project --stdlayout --prefix svn/
    # Or, if the repo uses a non-standard directory layout:
    	git svn clone http://svn.example.com/project -T tr -b branch -t tag --prefix svn/
    # View all branches and tags you have cloned:
    	git branch -r
    # Create a new branch in SVN
    	git svn branch waldo
    # Reset your master to trunk (or any other branch, replacing 'trunk'
    # with the appropriate name):
    	git reset --hard svn/trunk
    # You may only dcommit to one branch/tag/trunk at a time.  The usage
    # of dcommit/rebase/show-ignore should be the same as above.
pt_BR: # Clone um repositório com o layout do diretório SVN predefinido(como o git clone):
    	git svn clone http://svn.example.com/project --stdlayout --prefix svn/
    # Ou, se o repositório utilizar um layout de diretório fora do padrão:
    	git svn clone http://svn.example.com/project -T tr -b branch -t tag --prefix svn/
    # Ver todos os ramos e tags que você clonou:
    	git branch -r
    # Crie um novo ramo no SVN
    	git svn branch waldo
    # Redefina o seu 'master' para 'trunk' (ou qualquer outro ramo, substituindo o 'trunk'
    # para o nome apropriado):
    	git reset --hard svn/trunk
    # Você só pode fazer o commit para um ramo/tag/trunk por vez.  A forma de utilização
    # do dcommit/rebase/show-ignore deve ser o mesmo mostrado acima.

note: type: Plain text
en: The initial 'git svn clone' can be quite time-consuming (especially for large Subversion repositories). If multiple people (or one person with multiple machines) want to use 'git svn' to interact with the same Subversion repository, you can do the initial 'git svn clone' to a repository on a server and have each person clone that repository with 'git clone':
pt_BR: O comando 'git svn clone' inicial pode consumir bastante tempo (especialmente para grandes repositórios Subversion). Caso várias pessoas (ou uma pessoa com várias máquinas) quiserem usar o comando 'git svn' para interagir com o mesmo repositório do Subversion, você poderá executar o comando 'git svn clone' inicial em um repositório em um servidor e fazer com que cada pessoa clone esse repositório com o comando 'clone git':

note: type: delimited block -
en: # Do the initial import on a server
    	ssh server "cd /pub && git svn clone http://svn.example.com/project [options...]"
    # Clone locally - make sure the refs/remotes/ space matches the server
    	mkdir project
    	cd project
    	git init
    	git remote add origin server:/pub/project
    	git config --replace-all remote.origin.fetch '+refs/remotes/*:refs/remotes/*'
    	git fetch
    # Prevent fetch/pull from remote Git server in the future,
    # we only want to use git svn for future updates
    	git config --remove-section remote.origin
    # Create a local branch from one of the branches just fetched
    	git checkout -b master FETCH_HEAD
    # Initialize 'git svn' locally (be sure to use the same URL and
    # --stdlayout/-T/-b/-t/--prefix options as were used on server)
    	git svn init http://svn.example.com/project [options...]
    # Pull the latest changes from Subversion
    	git svn rebase
pt_BR: # Faça a importação inicial em um servidor
    	ssh server "cd /pub && git svn clone http://svn.example.com/project [options...]"
    # Clone localmente - tenha certeza se os espaços refs/remotes/ coincidem com o servidor
    	mkdir project
    	cd project
    	git init
    	git remote add origin server:/pub/project
    	git config --replace-all remote.origin.fetch '+refs/remotes/*:refs/remotes/*'
    	git fetch
    # Impeça o 'fetch/pull' do servidor Git remoto no futuro,
    # queremos utilizar apenas o git svn para as atualizações futuras
    	git config --remove-section remote.origin
    # Crie um ramo local a partir de uma das ramificações que foram buscadas
    	git checkout -b master FETCH_HEAD
    # Inicialize o 'git svn' localmente (tenha certeza de utilizar a mesma URL
    # e as opções --stdlayout/-T/-b/-t/--prefix que foram utilizadas no servidor)
    	git svn init http://svn.example.com/project [options...]
    # Obtenha as últimas alterações do Subversion
    	git svn rebase

note: type: Title -
en: REBASE VS. PULL/MERGE
pt_BR: RECONSTRUIR VS. "PULL/MERGE"

note: type: Plain text
en: Prefer to use 'git svn rebase' or 'git rebase', rather than 'git pull' or 'git merge' to synchronize unintegrated commits with a 'git svn' branch. Doing so will keep the history of unintegrated commits linear with respect to the upstream SVN repository and allow the use of the preferred 'git svn dcommit' subcommand to push unintegrated commits back into SVN.
pt_BR: Prefira usar o comando 'git svn rebase' ou o 'git rebase', em vez do comando 'git pull' ou o 'git merge' para sincronizar os commits que não foram integrados a um ramo com 'git svn'. Isso manterá o histórico linear dos commits não integrados em relação ao repositório SVN 'upstream' e permitirá a utilização do subcomando 'git svn dcommit' preferido para impulsionar os commits que não foram integrados de volta ao SVN.

note: type: Plain text
en: Originally, 'git svn' recommended that developers pulled or merged from the 'git svn' branch.  This was because the author favored `git svn set-tree B` to commit a single head rather than the `git svn set-tree A..B` notation to commit multiple commits. Use of 'git pull' or 'git merge' with `git svn set-tree A..B` will cause non-linear history to be flattened when committing into SVN and this can lead to merge commits unexpectedly reversing previous commits in SVN.
pt_BR: Originalmente, o comando 'git svn' recomendava que os desenvolvedores extraíssem ou mesclassem o ramo 'git svn'.  Isso ocorreu porque o autor favoreceu o `git svn set tree B` para o commit um único cabeçalho, em vez da notação `git svn set-tree A..B` para fazer o commit de vários commits. O uso do comando 'git pull' ou do 'git merge' com o `git svn set tree A..B` fará com que o histórico não linear seja achatado ao fazer o commit no SVN e isso pode levar a uma mesclagem dos commits, revertendo de forma inesperada os commits anteriores no SVN.

note: type: Title -
en: MERGE TRACKING
pt_BR: MONITORAMENTO DA MESCLAGEM

note: type: Plain text
en: While 'git svn' can track copy history (including branches and tags) for repositories adopting a standard layout, it cannot yet represent merge history that happened inside git back upstream to SVN users.  Therefore it is advised that users keep history as linear as possible inside Git to ease compatibility with SVN (see the CAVEATS section below).
pt_BR: Embora o 'git svn' possa monitorar a cópia do histórico (incluindo as ramificações e as tags) dos repositórios que adotam um layout padrão, ele ainda não pode representar o histórico da mesclagem que ocorreu dentro do git de volta para os usuários do SVN.  Portanto, é recomendável que os usuários mantenham o histórico o mais linear possível dentro do Git para facilitar a compatibilidade com o SVN (consulte a seção RESSALVAS abaixo).

note: type: Title -
en: HANDLING OF SVN BRANCHES
pt_BR: LIDANDO COM OS RAMOS DO SVN

note: type: Plain text
en: If 'git svn' is configured to fetch branches (and --follow-branches is in effect), it sometimes creates multiple Git branches for one SVN branch, where the additional branches have names of the form 'branchname@nnn' (with nnn an SVN revision number).  These additional branches are created if 'git svn' cannot find a parent commit for the first commit in an SVN branch, to connect the branch to the history of the other branches.
pt_BR: Caso o 'git svn' estiver configurado para buscar as ramificações (e a opção `--follow-branches` estiver em vigor), às vezes ele criará várias ramificações Git para um ramo SVN, onde as ramificações adicionais terão nomes no formato 'nomedoramo@nnn' (onde 'nnn' é o número de revisão SVN).  Estas ramificações adicionais são criadas caso o comando 'git svn' não puder encontrar um commit parente para o primeiro commit em um ramo SVN, para conectar o ramo ao histórico das outras ramificações.

note: type: Plain text
en: Normally, the first commit in an SVN branch consists of a copy operation. 'git svn' will read this commit to get the SVN revision the branch was created from. It will then try to find the Git commit that corresponds to this SVN revision, and use that as the parent of the branch. However, it is possible that there is no suitable Git commit to serve as parent.  This will happen, among other reasons, if the SVN branch is a copy of a revision that was not fetched by 'git svn' (e.g. because it is an old revision that was skipped with `--revision`), or if in SVN a directory was copied that is not tracked by 'git svn' (such as a branch that is not tracked at all, or a subdirectory of a tracked branch). In these cases, 'git svn' will still create a Git branch, but instead of using an existing Git commit as the parent of the branch, it will read the SVN history of the directory the branch was copied from and create appropriate Git commits.  This is indicated by the message "Initializing parent: <branchname>".
pt_BR: Normalmente, o primeiro commit em um ramo SVN consiste em uma operação de cópia. o 'git svn' irá ler este commit obtendo a revisão SVN onde o ramo foi criado. Ele tentará encontrar o commit do Git que coincida com esta revisão do SVN e vai usá-lo como o parente do ramo. Contudo, é possível que não haja um commit Git adequado para servir como parente.  Isso acontecerá, dentre outros motivos, caso o ramo SVN seja uma cópia de uma revisão que não foi buscada pelo 'git svn' (como por exemplo, porque é uma revisão antiga que foi ignorada com a opção `--revision`), ou no caso do SVN ter sido copiado de um diretório que não é monitorado pelo 'git svn' (como um ramo que não é monitorado de maneira alguma ou um subdiretório de um ramo monitorado). Nesses casos, o comando 'git svn' ainda criará um ramo Git, porém, em vez de utilizar um commit Git já existente como parente do ramo, ele lerá o histórico SVN do diretório onde o ramo foi copiado e criará os commits Git apropriadas.  Isto é indicado através da mensagem "Initializing parent: <nome-do-ramo>" (Inicializando parente: <nomedoramo>).

note: type: Plain text
en: Additionally, it will create a special branch named '<branchname>@<SVN-Revision>', where <SVN-Revision> is the SVN revision number the branch was copied from.  This branch will point to the newly created parent commit of the branch.  If in SVN the branch was deleted and later recreated from a different version, there will be multiple such branches with an '@'.
pt_BR: Além disso, ele criará um ramo especial chamado '<nome-do-ramo>@<SVN-Revision>', onde <Revisão SVN> é o número da revisão do SVN onde o ramo foi copiado.  Este ramo apontará para o commit da origem recém-criado do ramo.  Se no SVN o ramo foi excluído e posteriormente recriado a partir de uma versão diferente, haverá vários ramos com um '@'.

note: type: Plain text
en: Note that this may mean that multiple Git commits are created for a single SVN revision.
pt_BR: Observe que isso pode significar que vários commits do Git sejam criados para uma única revisão do SVN.

note: type: Plain text
en: An example: in an SVN repository with a standard trunk/tags/branches layout, a directory trunk/sub is created in r.100.  In r.200, trunk/sub is branched by copying it to branches/. 'git svn clone -s' will then create a branch 'sub'. It will also create new Git commits for r.100 through r.199 and use these as the history of branch 'sub'. Thus there will be two Git commits for each revision from r.100 to r.199 (one containing trunk/, one containing trunk/sub/). Finally, it will create a branch 'sub@200' pointing to the new parent commit of branch 'sub' (i.e. the commit for r.200 and trunk/sub/).
pt_BR: Um exemplo: em um repositório SVN com um layout predefinido de 'trunk/tags/branches', um diretório 'trunk/sub' é criado na 'r.100'.  Em 'r.200', o 'trunk/sub' é ramificado ao copiá-lo para 'branches/'. O comando 'git svn clone -s' criará um ramo 'sub'. Ele também criará novos commits do Git para 'r.100' até 'r.199' e os utilizará como o histórico do ramo 'sub'. Portanto, haverá dois commits do Git para cada revisão de 'r.100' até 'r.199' (um contendo 'trunk/', outro contendo 'trunk/sub/'). Finalmente será criado o ramo 'sub@200' apontando para o novo commit parente do ramo 'sub' (o commit para 'r.200' e o 'trunk/sub/' por exemplo).

note: type: Plain text
en: For the sake of simplicity and interoperating with Subversion, it is recommended that all 'git svn' users clone, fetch and dcommit directly from the SVN server, and avoid all 'git clone'/'pull'/'merge'/'push' operations between Git repositories and branches.  The recommended method of exchanging code between Git branches and users is 'git format-patch' and 'git am', or just 'dcommit'ing to the SVN repository.
pt_BR: Por uma questão de simplicidade e interoperação com o Subversion, é recomendável que todos os usuários do 'git svn' clonem, busquem e desfaçam um commit diretamente no servidor SVN e evitem todas as operações dos comandos 'git clone'/'pull'/'merge'/'push' entre os repositórios e as ramificações do Git.  O método recomendado da troca do código entre os ramos e os usuários do Git é 'git format-patch' e 'git am', ou apenas desfazendo o commit com 'dcommit' no repositório SVN.

note: type: Plain text
en: Running 'git merge' or 'git pull' is NOT recommended on a branch you plan to 'dcommit' from because Subversion users cannot see any merges you've made.  Furthermore, if you merge or pull from a Git branch that is a mirror of an SVN branch, 'dcommit' may commit to the wrong branch.
pt_BR: Executar o comando 'git merge' ou o 'git pull' NÃO é recomendado em um ramo onde você planeja fazer um 'dcommit', porque os usuários do Subversion não podem ver nenhuma mesclagem que você tenha feito.  Além disso, caso você mescle ou extraia de um ramo Git que seja um espelho de um ramo SVN, o 'dcommit' poderá fazer o commit do ramo errado.

note: type: Plain text
en: If you do merge, note the following rule: 'git svn dcommit' will attempt to commit on top of the SVN commit named in
pt_BR: Caso você mescle, observe a seguinte regra: o `git svn dcommit` tentará fazer o commit sobre o commit do SVN informado em

note: type: Plain text
en: You 'must' therefore ensure that the most recent commit of the branch you want to dcommit to is the 'first' parent of the merge.  Chaos will ensue otherwise, especially if the first parent is an older commit on the same SVN branch.
pt_BR: Você 'deve' garantir, portanto, que o commit mais recente do ramo que você queira fazer o commit seja o 'primeiro' pai da mesclagem.  O caos ocorrerá de outra forma, especialmente caso o primeiro pai seja um commit mais antigo no mesmo ramo SVN.

note: type: Plain text
en: 'git clone' does not clone branches under the refs/remotes/ hierarchy or any 'git svn' metadata, or config.  So repositories created and managed with using 'git svn' should use 'rsync' for cloning, if cloning is to be done at all.
pt_BR: O comando 'git clone' não clona as ramificações sob a hierarquia 'refs/remotes/', qualquer metadado 'git svn' ou configuração. Portanto, os repositórios criados e gerenciados com a utilização do 'git svn' devem utilizar o 'rsync' para a clonagem, caso a clonagem precise ser feita.

note: type: Plain text
en: Since 'dcommit' uses rebase internally, any Git branches you 'git push' to before 'dcommit' on will require forcing an overwrite of the existing ref on the remote repository.  This is generally considered bad practice, see the linkgit:git-push[1] documentation for details.
pt_BR: Como o 'dcommit' usa o 'rebase' internamente, qualquer ramificação do Git para onde você fez o comando 'git push' antes do 'dcommit' exigirá uma reposição da "ref" existente no repositório remoto.  Isso geralmente é considerado uma má prática, consulte a documentação do linkgit:git-push[1] para obter mais detalhes.

note: type: Plain text
en: Do not use the --amend option of linkgit:git-commit[1] on a change you've already dcommitted.  It is considered bad practice to --amend commits you've already pushed to a remote repository for other users, and dcommit with SVN is analogous to that.
pt_BR: Não utilize a opção `--amend` do linkgit:git-commit[1] nas alterações que você já tenha desfeito no commit.  Não é considerado uma boa prática utilizar a opção `--amend` nos commits que você já impulsionou para um repositório remoto para outros usuários, desfazer o commit com SVN é análogo a isto.

note: type: Plain text
en: When cloning an SVN repository, if none of the options for describing the repository layout is used (--trunk, --tags, --branches, --stdlayout), 'git svn clone' will create a Git repository with completely linear history, where branches and tags appear as separate directories in the working copy.  While this is the easiest way to get a copy of a complete repository, for projects with many branches it will lead to a working copy many times larger than just the trunk. Thus for projects using the standard directory structure (trunk/branches/tags), it is recommended to clone with option `--stdlayout`. If the project uses a non-standard structure, and/or if branches and tags are not required, it is easiest to only clone one directory (typically trunk), without giving any repository layout options.  If the full history with branches and tags is required, the options `--trunk` / `--branches` / `--tags` must be used.
pt_BR: Ao clonar um repositório SVN, caso nenhuma das opções para descrever o layout do repositório seja usada (`--trunk`, `--tags`, `--branches`, `--stdlayout`), o comando 'git svn clone' criará um repositório Git com o histórico completamente linear, onde as ramificações e as tags aparecerão como diretórios separados na cópia de trabalho.  Embora essa seja a maneira mais fácil de se obter uma cópia de um repositório completo, para os projetos com muitas ramificações, ela resultará em uma cópia de trabalho muitas vezes maior do que apenas o 'trunk'. Portanto, para os projetos que utilizem a estrutura predefinida dos diretórios ('trunk/branches/tags'), é recomendável clonar com a opção `--stdlayout`. Caso o projeto use uma estrutura fora do padrão e/ou caso as ramificações e as tags não forem necessárias, é mais fácil clonar um diretório (normalmente o 'trunk'), sem fornecer as opções do layout do repositório.  Caso o histórico completo das ramificações e das tags seja necessário, as opções `--trunk` / `--branches` / `--tags` devem ser usadas.

note: type: Plain text
en: When using multiple --branches or --tags, 'git svn' does not automatically handle name collisions (for example, if two branches from different paths have the same name, or if a branch and a tag have the same name).  In these cases, use 'init' to set up your Git repository then, before your first 'fetch', edit the $GIT_DIR/config file so that the branches and tags are associated with different name spaces.  For example:
pt_BR: Quando utilizar vários `--branches` ou `--tags`, o comando `git svn` não lida com as colisões dos nomes de forma automática (caso dois ramos com caminhos diferentes tiverem o mesmo nome ou caso um ramo e uma marcação tiverem o mesmo nome por exemplo).  Nestes casos, utilize `init` para configurar o seu repositório Git antes do seu primeiro 'fetch', edite o arquivo `$GIT_DIR/config` para que as ramificações e as tags sejam associadas com diferentes espaços de nome.  Por exemplo:

note: type: Plain text
en: We ignore all SVN properties except svn:executable.  Any unhandled properties are logged to $GIT_DIR/svn/<refname>/unhandled.log
pt_BR: Ignoramos todas as propriedades SVN, exceto o `svn:executable`.  Quaisquer propriedades não manipuladas são registradas no `$GIT_DIR/svn/<refname>/unhandled.log`

note: type: Plain text
en: Renamed and copied directories are not detected by Git and hence not tracked when committing to SVN.  I do not plan on adding support for this as it's quite difficult and time-consuming to get working for all the possible corner cases (Git doesn't do it, either).  Committing renamed and copied files is fully supported if they're similar enough for Git to detect them.
pt_BR: Os diretórios renomeados e copiados não são detectados pelo Git e portanto, não são monitorados ao fazer o commit com o SVN.  Não pretendo adicionar suporte para isso, pois é bastante difícil e demorado trabalhar para todos os casos possíveis (o Git também não faz isso).  Fazer o commit dos arquivos renomeados e copiados é totalmente compatível caso eles sejam semelhantes o suficiente para que o Git os detecte.

note: type: Plain text
en: In SVN, it is possible (though discouraged) to commit changes to a tag (because a tag is just a directory copy, thus technically the same as a branch). When cloning an SVN repository, 'git svn' cannot know if such a commit to a tag will happen in the future. Thus it acts conservatively and imports all SVN tags as branches, prefixing the tag name with 'tags/'.
pt_BR: No SVN, é possível (embora desencorajado) fazer o commit nas alterações em uma tag (porque uma tag é apenas uma cópia do diretório, portanto tecnicamente o mesmo que um ramo). Ao clonar um repositório SVN, o comando 'git svn' não pode saber se tal commit com uma tag ocorrerá no futuro. Portanto, ele age de maneira conservadora e importa todas as tags SVN como ramificações, prefixando o nome da tag com 'tags/'.

note: type: Plain text
en: 'git svn' stores [svn-remote] configuration information in the repository $GIT_DIR/config file.  It is similar the core Git [remote] sections except 'fetch' keys do not accept glob arguments; but they are instead handled by the 'branches' and 'tags' keys.  Since some SVN repositories are oddly configured with multiple projects glob expansions such those listed below are allowed:
pt_BR: O 'git svn' armazena as informações de configuração [svn-remote] no arquivo '$GIT_DIR/config' do repositório.  É semelhante às seções principais do Git [remote], exceto que as teclas 'fetch' não aceitam os argumentos globais; porém eles são manipulados pelas teclas 'branches' e 'tags'.  Como alguns repositórios SVN são configurados de forma estranha com vários projetos, as expansões globais são permitidas, como as listadas abaixo:

note: type: Plain text
en: Keep in mind that the `*` (asterisk) wildcard of the local ref
    (right of the `:`) *must* be the farthest right path component;
    however the remote wildcard may be anywhere as long as it's an
    independent path component (surrounded by `/` or EOL).   This
    type of configuration is not automatically created by 'init' and
    should be manually entered with a text-editor or using 'git config'.
pt_BR: Lembre-se que o curinga `*` (asterisco) da referência local
    (à direita do `:`) *deve* ser o componente mais distante do caminho à direita;
    no entanto, o curinga remoto pode estar em qualquer lugar, desde que seja um
    componente independente do caminho (cercado por `/` ou `EOL` (um caractere que indica o final da linha)).   Este
    tipo de configuração não é criado de forma automática pelo 'init' e
    deve ser inserido manualmente com um editor de texto ou utilizando o comando 'git config'.

note: type: Plain text
en: Also note that only one asterisk is allowed per word. For example:
pt_BR: Observe também que apenas um asterisco é permitido por palavra. Por exemplo:

note: type: Plain text
en: will match branches 'release', 'rese', 're123se', however
pt_BR: corresponderá às ramificações 'release', 'rese', 're123se', no entanto

note: type: Plain text
en: will produce an error.
pt_BR: irá produzir um erro.

note: type: Plain text
en: It is also possible to fetch a subset of branches or tags by using a comma-separated list of names within braces. For example:
pt_BR: Também é possível capturar um subconjunto de ramos ou tags utilizando uma lista com os nomes separados por vírgulas dentro de colchetes. Por exemplo:

note: type: Plain text
en: Multiple fetch, branches, and tags keys are supported:
pt_BR: São compatíveis várias chaves de captura, ramificações e tags:

note: type: Plain text
en: Creating a branch in such a configuration requires disambiguating which location to use using the -d or --destination flag:
pt_BR: A criação de uma ramificação nessa configuração requer desambiguar qual o local usar com a flag `-d` ou `--destination`:

note: type: Plain text
en: Note that git-svn keeps track of the highest revision in which a branch or tag has appeared. If the subset of branches or tags is changed after fetching, then $GIT_DIR/svn/.metadata must be manually edited to remove (or reset) branches-maxRev and/or tags-maxRev as appropriate.
pt_BR: Observe que o 'git-svn' acompanha a revisão mais alta onde um ramo ou uma tag tenha aparecido. Caso o subconjunto das ramificações ou das tags seja alterada após a busca, então `$GIT_DIR/svn/.metadata` deverá ser editado manualmente para remover (ou redefinir) `branches-maxRev` e/ou `tags-maxRev`, conforme seja apropriado.

note: type: Plain text
en: Mapping between Subversion revision numbers and Git commit names.  In a repository where the noMetadata option is not set, this can be rebuilt from the git-svn-id: lines that are at the end of every commit (see the 'svn.noMetadata' section above for details).
pt_BR: Mapeamento entre os números da revisão do Subversion e os nomes dos commits do Git.  Em um repositório onde a opção `noMetadata` não está definido, isso pode ser reconstruído a partir do 'git-svn-id': as linhas que estão no final de cada commit (consulte a seção 'svn.noMetadata' acima para obter detalhes).

note: type: Plain text
en: 'git svn fetch' and 'git svn rebase' automatically update the rev_map if it is missing or not up to date.  'git svn reset' automatically rewinds it.
pt_BR: O comando 'git svn fetch' e o 'git svn rebase' atualizam automaticamente o 'rev_map' caso ele esteja ausente ou não tenha sido atualizado.  O comando 'git svn reset' o o retrocede de forma automática.

note: type: Plain text
en: git-switch - Switch branches
pt_BR: git-switch - Alterna entre ramos

note: type: Plain text
en: 'git switch' [<options>] [--no-guess] <branch>
    'git switch' [<options>] --detach [<start-point>]
    'git switch' [<options>] (-c|-C) <new-branch> [<start-point>]
    'git switch' [<options>] --orphan <new-branch>
pt_BR: 'git switch' [<opções>] [--no-guess] <ramo>
    'git switch' [<opções>] --detach [<ponto-de-partida>]
    'git switch' [<opções>] (-c|-C) <novo-ramo> [<ponto-de-partida>]
    'git switch' [<opções>] --orphan <novo-ramo>

note: type: Plain text
en: Switch to a specified branch. The working tree and the index are updated to match the branch. All new commits will be added to the tip of this branch.
pt_BR: Alterna para um ramo específico. A árvore de trabalho e o índice são atualizados para coincidir com o ramo. Todos os novos commits serão adicionadas ao cume deste ramo.

note: type: Plain text
en: Optionally a new branch could be created with either `-c`, `-C`, automatically from a remote branch of same name (see `--guess`), or detach the working tree from any branch with `--detach`, along with switching.
pt_BR: Opcionalmente, um novo ramo pode ser criado com `-c`, `-C`, automaticamente a partir de um ramo remoto com o mesmo nome (consulte `--guess`), ou desanexe a árvore de trabalho de qualquer outro ramo com a opção `--detach`, em conjunto com a alternância.

note: type: Plain text
en: Switching branches does not require a clean index and working tree (i.e. no differences compared to `HEAD`). The operation is aborted however if the operation leads to loss of local changes, unless told otherwise with `--discard-changes` or `--merge`.
pt_BR: A alternância das ramificações não requer um índice limpo e uma árvore de trabalho (ou seja, não há diferenças em comparação com o `HEAD`). A operação é interrompida no entanto caso a operação leve à perda das alterações locais, a menos que seja dito o contrário com a opção `--discard-changes` ou `--merge`.

note: type: Plain text
en: Branch to switch to.
pt_BR: O ramo para onde nos mudaremos.

note: type: Labeled list
en: <new-branch>
pt_BR: <novo-ramo>

note: type: Plain text
en: The starting point for the new branch. Specifying a `<start-point>` allows you to create a branch based on some other point in history than where HEAD currently points. (Or, in the case of `--detach`, allows you to inspect and detach from some other point.)
pt_BR: O ponto de partida para criar o novo ramo. Definindo um `<ponto-de-partida>` permite criar um ramo com base em algum outro ponto na história que não seja o local onde o `HEAD` aponte atualmente. (Ou, no caso da opção `--detach`, permitir que você inspecione e desanexe de algum outro ponto.)

note: type: Plain text
en: You can use the `@{-N}` syntax to refer to the N-th last branch/commit switched to using "git switch" or "git checkout" operation. You may also specify `-` which is synonymous to `@{-1}`.  This is often used to switch quickly between two branches, or to undo a branch switch by mistake.
pt_BR: Você pode usar a sintaxe `@{-N}` para se referir ao último ramo/commit alternado utilizando as operações "git switch" ou "git checkout". Você também pode especificar `-` que é sinônimo de`@{-1}`.  Isso geralmente é utilizado para alternar rapidamente entre duas ramificações ou para desfazer uma alternância de ramificação feita por engano.

note: type: Labeled list
en: -c <new-branch>
pt_BR: -c <novo-ramo>

note: type: Labeled list
en: --create <new-branch>
pt_BR: --create <novo-ramo>

note: type: Plain text
en: Create a new branch named `<new-branch>` starting at `<start-point>` before switching to the branch. This is a convenient shortcut for:
pt_BR: Crie um novo ramo chamado `<novo-ramo>` começando em `<ponto-de-partida>` antes de mudar para o ramo. Este é um atalho conveniente para:

note: type: delimited block -
en: $ git branch <new-branch>
    $ git switch <new-branch>
pt_BR: $ git branch <novo-ramo>
    $ git switch <novo-ramo>

note: type: Labeled list
en: -C <new-branch>
pt_BR: -C <novo-ramo>

note: type: Labeled list
en: --force-create <new-branch>
pt_BR: --force-create <novo-ramo>

note: type: Plain text
en: Similar to `--create` except that if `<new-branch>` already exists, it will be reset to `<start-point>`. This is a convenient shortcut for:
pt_BR: É similar a opção `--create` exceto quando `<novo-ramo>` já exista, ele será redefinido para o `<ponto-de-partida>`. Este é um atalho conveniente para:

note: type: delimited block -
en: $ git branch -f <new-branch>
    $ git switch <new-branch>
pt_BR: $ git branch -f <novo-ramo>
    $ git switch <novo-ramo>

note: type: Plain text
en: Switch to a commit for inspection and discardable experiments. See the "DETACHED HEAD" section in linkgit:git-checkout[1] for details.
pt_BR: Alterne para um commit que será inspecionado e poderá ser feito experimentos descartáveis nele. Consulte a seção "HEAD DESANEXADO" no linkgit:git-checkout[1] para mais detalhes.

note: type: delimited block -
en: $ git switch -c <branch> --track <remote>/<branch>
pt_BR: $ git switch -c <ramo> --track <remoto>/<ramo>

note: type: Plain text
en: `--guess` is the default behavior. Use `--no-guess` to disable it.
pt_BR: `--guess` é o comportamento predefinido. Utilize a opção `--no-guess` para desativá-lo.

note: type: Plain text
en: An alias for `--discard-changes`.
pt_BR: Um atalho para `--discard-changes`.

note: type: Plain text
en: Proceed even if the index or the working tree differs from `HEAD`. Both the index and working tree are restored to match the switching target. If `--recurse-submodules` is specified, submodule content is also restored to match the switching target. This is used to throw away local changes.
pt_BR: Prossiga mesmo que o índice ou a árvore de trabalho seja diferente do `HEAD`. Ambos o índice e a árvore de trabalho são restauradas para coincidir com a alternância do destino. Caso a opção `--recurse-submodules` seja utilizada, o conteúdo do submódulo também será restaurado para coincidir a alternância do destino. Isso é utilizado para descartar as alterações locais.

note: type: Plain text
en: If you have local modifications to one or more files that are different between the current branch and the branch to which you are switching, the command refuses to switch branches in order to preserve your modifications in context.  However, with this option, a three-way merge between the current branch, your working tree contents, and the new branch is done, and you will be on the new branch.
pt_BR: Caso tenha alterações locais em um ou mais arquivos que sejam diferentes entre o ramo atual e o ramo para onde você está alternando, o comando se recusará a alternar as ramificações visando preservar as suas alterações dada a circunstância.  Contudo, com esta opção, é feita uma mesclagem de três vias entre o ramo atual, o conteúdo da árvore de trabalho e o novo ramo, fazendo com que você esteja neste novo ramo.

note: type: Plain text
en: When creating a new branch, set up "upstream" configuration.  `-c` is implied. See `--track` in linkgit:git-branch[1] for details.
pt_BR: Ao criar uma nova ramificação, defina a configuração "upstream".  A opção `-c` está implícita. Para mais detalhes, consulte `--track` no linkgit:git-branch[1].

note: type: Plain text
en: If no `-c` option is given, the name of the new branch will be derived from the remote-tracking branch, by looking at the local part of the refspec configured for the corresponding remote, and then stripping the initial part up to the "*".  This would tell us to use `hack` as the local branch when branching off of `origin/hack` (or `remotes/origin/hack`, or even `refs/remotes/origin/hack`).  If the given name has no slash, or the above guessing results in an empty name, the guessing is aborted.  You can explicitly give a name with `-c` in such a case.
pt_BR: Caso nenhuma opção `-c` seja utilizada, o nome do novo ramo será derivado do ramo monitorado remotamente, observando a parte local da "refspec" configurada para o ramo remoto correspondente e removendo a parte inicial para o "*" em seguida.  Isso nos diria para usar um `hack` como um ramo local ao se ramificar do `origin/hack` (ou `remotes/origin/hack` ou até  mesmo do `refs/remotes/origin/hack`).  Caso o nome informado não tenha barra ou se a dedução acima resultar em um nome vazio, a dedução será abortada.  Em tais casos, você pode explicitamente dar um nome com a opção `-c`.

note: type: Labeled list
en: --orphan <new-branch>
pt_BR: --orphan <novo-ramo>

note: type: Plain text
en: Create a new 'orphan' branch, named `<new-branch>`. All tracked files are removed.
pt_BR: Crie um novo ramo 'órfão', chamado `<novo-ramo>`. Todos os arquivos monitorados são removidos.

note: type: Plain text
en: `git switch` refuses when the wanted ref is already checked out by another worktree. This option makes it check the ref out anyway. In other words, the ref can be held by more than one worktree.
pt_BR: O comando `git switch` se recusa quando a "ref" desejada já está foi averiguada por uma outra árvore de trabalho. Esta opção faz com que ele averigue a "ref" mesmo assim. Em outras palavras, a "ref" pode ser mantida por mais de uma árvore de trabalho.

note: type: Plain text
en: Using `--recurse-submodules` will update the content of all active submodules according to the commit recorded in the superproject. If nothing (or `--no-recurse-submodules`) is used, submodules working trees will not be updated. Just like linkgit:git-submodule[1], this will detach `HEAD` of the submodules.
pt_BR: O uso da opção `--recurse-submodules` atualizará o conteúdo de todos os submódulos ativos de acordo com commit gravado no superprojeto. Caso nada (ou a opção `--no-recurse-submodules`) seja utilizado, os submódulos que trabalham nas árvores não serão atualizados. Assim como linkgit:git-submodule[1], isso faz com que `HEAD` seja desanexando dos submódulos.

note: type: Plain text
en: The following command switches to the "master" branch:
pt_BR: O comando a seguir alterna para o ramo principal "master":

note: type: Plain text
en: However, your "wrong" branch and correct "mytopic" branch may differ in files that you have modified locally, in which case the above switch would fail like this:
pt_BR: No entanto, o seu ramo "errado" e o correto "mytopic" podem diferir nos arquivos modificados localmente por você. A mudança entre os ramos acima falhará assim:

note: type: delimited block -
en: $ git switch mytopic
    error: You have local changes to 'frotz'; not switching branches.
pt_BR: $ git switch mytopic
    erro: você tem alterações locais em 'frotz'; não mudar de ramo.

note: type: Plain text
en: To switch back to the previous branch before we switched to mytopic (i.e. "master" branch):
pt_BR: Para voltar à ramificação anterior antes de mudarmos para "mytopic" (ou seja, para a ramificação "master"):

note: type: Plain text
en: You can grow a new branch from any commit. For example, switch to "HEAD~3" and create branch "fixup":
pt_BR: Você pode aumentar um novo ramo a partir de qualquer commit. Por exemplo, mude para "HEAD~3" e crie o ramo "fixup":

note: type: delimited block -
en: $ git switch -c fixup HEAD~3
    Switched to a new branch 'fixup'
pt_BR: $ git switch -c fixup HEAD~3
    Foi alternado para um novo ramo 'fixup'

note: type: Plain text
en: If you want to start a new branch from a remote branch of the same name:
pt_BR: Caso queira criar uma nova ramificação a partir do ramo remoto de mesmo nome:

note: type: delimited block -
en: $ git switch new-topic
    Branch 'new-topic' set up to track remote branch 'new-topic' from 'origin'
    Switched to a new branch 'new-topic'
pt_BR: $ git switch new-topic
    O ramo 'new-topic' foi configurada para monitorar o ramo remoto 'new-topic' da 'origin'
    Foi alternado para um novo ramo 'new-topic'

note: type: Plain text
en: To check out commit `HEAD~3` for temporary inspection or experiment without creating a new branch:
pt_BR: Para averiguar o commit `HEAD~3` por inspeções temporárias ou experimentos sem criar um novo ramo:

note: type: Plain text
en: If it turns out whatever you have done is worth keeping, you can always create a new name for it (without switching away):
pt_BR: Se acontecer de valer a pena manter o que você fez, é possível criar um novo nome para ele (sem precisar alternar):

note: type: Plain text
en: git-symbolic-ref - Read, modify and delete symbolic refs
pt_BR: git-symbolic-ref - Lê, altera e exclui refs simbólicas

note: type: Plain text
en: 'git symbolic-ref' [-m <reason>] <name> <ref>
    'git symbolic-ref' [-q] [--short] <name>
    'git symbolic-ref' --delete [-q] <name>
pt_BR: 'git symbolic-ref' [-m <motivo>] <nome> <ref>
    'git symbolic-ref' [-q] [--short] <nome>
    'git symbolic-ref' --delete [-q] <nome>

note: type: Plain text
en: Given one argument, reads which branch head the given symbolic ref refers to and outputs its path, relative to the `.git/` directory.  Typically you would give `HEAD` as the <name> argument to see which branch your working tree is on.
pt_BR: Ao informar uma opção, lê em qual cabeçalho do ramo a referência simbólica informada se refere e gera o seu caminho em relação ao diretório `.git/`.  Normalmente você utilizaria o `HEAD` como uma opção `<nome>` para ver em qual ramo a sua árvore de trabalho está.

note: type: Plain text
en: Given two arguments, creates or updates a symbolic ref <name> to point at the given branch <ref>.
pt_BR: Quando foi dois argumentos fortem utilizados, cria ou atualiza uma referência simbólica <nome> para apontar para o ramo <ref> informado.

note: type: Plain text
en: Given `--delete` and an additional argument, deletes the given symbolic ref.
pt_BR: Ao utilizar `--delete` e um argumento adicional, exclui a referência simbólica informada.

note: type: Plain text
en: A symbolic ref is a regular file that stores a string that begins with `ref: refs/`.  For example, your `.git/HEAD` is a regular file whose contents is `ref: refs/heads/master`.
pt_BR: Uma 'ref' simbólica é um arquivo regular que armazena um texto 'string' que começa com `ref: refs/`.  Como por exemplo, o seu `.git/HEAD` é um arquivo regular cujo conteúdo seja `ref: refs/heads/master`.

note: type: Plain text
en: Delete the symbolic ref <name>.
pt_BR: Exclua o <nome> da "ref" simbólica.

note: type: Plain text
en: Do not issue an error message if the <name> is not a symbolic ref but a detached HEAD; instead exit with non-zero status silently.
pt_BR: Não emita uma mensagem de erro caso o <nome> não seja uma referência simbólica, e sim um `HEAD` desanexado; em vez disso, saia com uma condição diferente de zero de forma silenciosa.

note: type: Plain text
en: When showing the value of <name> as a symbolic ref, try to shorten the value, e.g. from `refs/heads/master` to `master`.
pt_BR: Ao exibir o valor de um <nome> como uma "ref" simbólica, tente encurtar o valor, como, por exemplo, de `refs/heads/master` para `master`.

note: type: Plain text
en: Update the reflog for <name> with <reason>.  This is valid only when creating or updating a symbolic ref.
pt_BR: Atualiza o "reflog" para um <nome> com um <motivo>.  É válido apenas durante a criação ou a atualização de uma "ref" simbólica.

note: type: Plain text
en: In the past, `.git/HEAD` was a symbolic link pointing at `refs/heads/master`.  When we wanted to switch to another branch, we did `ln -sf refs/heads/newbranch .git/HEAD`, and when we wanted to find out which branch we are on, we did `readlink .git/HEAD`.  But symbolic links are not entirely portable, so they are now deprecated and symbolic refs (as described above) are used by default.
pt_BR: No passado, `.git/HEAD` era um link simbólico apontando para `refs/heads/master`.  Quando queríamos mudar para um outro ramo, fizemos `ln -sf refs/heads/newbranch .git/HEAD`, e quando queríamos descobrir em qual ramo estávamos, fazíamos `readlink .git/HEAD`.  Como os links simbólicos não são totalmente portáteis, eles agora estão obsoletos e as referências simbólicas (conforme descrito acima) são utilizada de forma predefinida.

note: type: Plain text
en: 'git symbolic-ref' will exit with status 0 if the contents of the symbolic ref were printed correctly, with status 1 if the requested name is not a symbolic ref, or 128 if another error occurs.
pt_BR: O comando 'git symbolic-ref' encerrará com a condição 0 caso o conteúdo da ref simbólica tenha sido impresso corretamente, com a condição 1 caso o nome solicitado não seja uma ref simbólica ou 128 caso ocorra um outro erro.

note: type: Plain text
en: git-tag - Create, list, delete or verify a tag object signed with GPG
pt_BR: git-tag - Crie, liste, exclua or verifique um objeto tag assinado com GPG

note: type: Plain text
en: 'git tag' [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>] [-e]
    	<tagname> [<commit> | <object>]
    'git tag' -d <tagname>...
    'git tag' [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]
    	[--points-at <object>] [--column[=<options>] | --no-column]
    	[--create-reflog] [--sort=<key>] [--format=<format>]
    	[--[no-]merged [<commit>]] [<pattern>...]
    'git tag' -v [--format=<format>] <tagname>...
pt_BR: 'git tag' [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <arquivo>] [-e]
    	<nome da tag> [<commit> | <objeto>]
    'git tag' -d <nome da tag>...
    'git tag' [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]
    	[--points-at <objeto>] [--column[=<opções>] | --no-column]
    	[--create-reflog] [--sort=<chave>] [--format=<formato>]
    	[--[no-]merged [<commit>]] [<padrão>...]
    'git tag' -v [--format=<formato>] <tagname>...

note: type: Plain text
en: Add a tag reference in `refs/tags/`, unless `-d/-l/-v` is given to delete, list or verify tags.
pt_BR: Adicione uma tag de referência em `refs/tags/`, a menos que `-d/-l/-v` seja utilizado para excluir, listar ou verificar as tags.

note: type: Plain text
en: Unless `-f` is given, the named tag must not yet exist.
pt_BR: A menos que `-f` seja utilizado, a tag informada não deve existir ainda.

note: type: Plain text
en: If one of `-a`, `-s`, or `-u <keyid>` is passed, the command creates a 'tag' object, and requires a tag message.  Unless `-m <msg>` or `-F <file>` is given, an editor is started for the user to type in the tag message.
pt_BR: Caso um dos comandos `-a`, `-s` ou `-u <keyid>` seja informado, o comando criará um objeto 'tag' e exigirá uma mensagem para a tag.  A menos que as opções `-m <msg>` ou `-F <arquivo>` sejam utilizadas, um editor é iniciado para que o usuário digite a mensagem da tag.

note: type: Plain text
en: If `-m <msg>` or `-F <file>` is given and `-a`, `-s`, and `-u <keyid>` are absent, `-a` is implied.
pt_BR: Caso a opção `-m <msg>` ou `-F <arquivo>` seja utilizado e a opção `-a`, `-s` e `-u <keyid>` estiverem ausentes, a opção `-a` estará implícita.

note: type: Plain text
en: Otherwise, a tag reference that points directly at the given object (i.e., a lightweight tag) is created.
pt_BR: Caso contrário, é criada uma tag de referência que aponte diretamente para o objeto informado (ou seja, uma tag leve).

note: type: Plain text
en: A GnuPG signed tag object will be created when `-s` or `-u <keyid>` is used.  When `-u <keyid>` is not used, the committer identity for the current user is used to find the GnuPG key for signing. 	The configuration variable `gpg.program` is used to specify custom GnuPG binary.
pt_BR: Um objeto de etiqueta assinada pelo GnuPG será criada quando `-s` ou `-u <keyid>` for utilizado.  Quando `-u <keyid>` não é utilizado, a identidade do usuário atual é utilizada para encontrar a assinatura da chave GnuPG. 	A variável de configuração `gpg.program` é usada para definir o binário personalizado do GnuPG.

note: type: Plain text
en: Tag objects (created with `-a`, `-s`, or `-u`) are called "annotated" tags; they contain a creation date, the tagger name and e-mail, a tagging message, and an optional GnuPG signature. Whereas a "lightweight" tag is simply a name for an object (usually a commit object).
pt_BR: Os objetos tag (criados com `-a`, `-s` ou `-u`) são chamados de tags "anotadas"; eles contêm uma data de criação, o nome e o e-mail do marcador, uma mensagem de marcação e uma assinatura opcional do GnuPG. Enquanto uma tag "leve" é simplesmente um nome para um objeto (geralmente um objeto commit).

note: type: Plain text
en: Annotated tags are meant for release while lightweight tags are meant for private or temporary object labels. For this reason, some git commands for naming objects (like `git describe`) will ignore lightweight tags by default.
pt_BR: As tags anotadas destinam-se ao lançamento, enquanto as tags leves (light) destinam-se aos rótulos dos objetos particulares ou temporários. Por este motivo que é predefinido que alguns comandos git para nomear os objetos (como `git description`) ignorem essas tags leves.

note: type: Plain text
en: Make an unsigned, annotated tag object
pt_BR: Fazendo um objeto sem assinatura, com a tad anotada

note: type: Plain text
en: Make a GPG-signed tag, using the default e-mail address's key.  The default behavior of tag GPG-signing is controlled by `tag.gpgSign` configuration variable if it exists, or disabled otherwise.  See linkgit:git-config[1].
pt_BR: Faça uma etiqueta assinada por GPG utilizando a chave predefinida do endereço de e-mail.  O comportamento predefinido da assinatura da tag GPG é controlado pela variável de configuração `tag.gpgSign`, se existir, caso contrário é desativada.  Consulte linkgit:git-config[1].

note: type: Plain text
en: Override `tag.gpgSign` configuration variable that is set to force each and every tag to be signed.
pt_BR: Substitua a variável de configuração `tag.gpgSign` que está configurada para impor a obrigatoriedade da assinatura de cada tag.

note: type: Plain text
en: Make a GPG-signed tag, using the given key.
pt_BR: Fazer uma tag assinada por GPG utilizando a chave informada.

note: type: Plain text
en: Replace an existing tag with the given name (instead of failing)
pt_BR: Substituir uma tag existente com um determinado nome (em vez de falhar)

note: type: Plain text
en: Delete existing tags with the given names.
pt_BR: Excluir as tags existentes com os nomes informados.

note: type: Plain text
en: Verify the GPG signature of the given tag names.
pt_BR: Verifique a assinatura GPG com os nomes informados.

note: type: Plain text
en: <num> specifies how many lines from the annotation, if any, are printed when using -l. Implies `--list`.
pt_BR: O <num> determina a quantidade das linhas de anotação, caso haja, são exibidas quando utilizadas com `-l`. Implica no uso da opção `--list`.

note: type: Plain text
en: The default is not to print any annotation lines.  If no number is given to `-n`, only the first line is printed.  If the tag is not annotated, the commit message is displayed instead.
pt_BR: A predefinição é não imprimir nenhuma linha de anotação.  Caso nenhum número for atribuído para  `-n ', apenas a primeira linha será impressa.  Caso a tag não seja anotada, a mensagem do commit será exibido.

note: type: Plain text
en: List tags. With optional `<pattern>...`, e.g. `git tag --list 'v-*'`, list only the tags that match the pattern(s).
pt_BR: Listar as tags. Com `<padrão>...`, exemplo, `git tag --list 'v-*'` liste apenas as tags que coincidam ao(s) padrões.

note: type: Plain text
en: Running "git tag" without arguments also lists all tags. The pattern is a shell wildcard (i.e., matched using fnmatch(3)). Multiple patterns may be given; if any of them matches, the tag is shown.
pt_BR: Executar "tag git" sem argumentos também lista todas as tags. O padrão é um curinga do shell (exemplo, quando coincidir ao usar fnmatch(3)). Padrões múltiplos podem ser informados; caso haja coincidência entre alguns deles, a tag será exibida.

note: type: Plain text
en: This option is implicitly supplied if any other list-like option such as `--contains` is provided. See the documentation for each of those options for details.
pt_BR: Esta opção é fornecida de forma implícita caso qualquer outra lista como a opção `--contains` seja utilizada. Para mais detalhes consulte a documentação de cada uma dessas opções.

note: type: Plain text
en: Sort based on the key given.  Prefix `-` to sort in descending order of the value. You may use the --sort=<key> option multiple times, in which case the last key becomes the primary key. Also supports "version:refname" or "v:refname" (tag names are treated as versions). The "version:refname" sort order can also be affected by the "versionsort.suffix" configuration variable.  The keys supported are the same as those in `git for-each-ref`.  Sort order defaults to the value configured for the `tag.sort` variable if it exists, or lexicographic order otherwise. See linkgit:git-config[1].
pt_BR: Classifique com base na chave informada.  O prefixo `-` é utilizado para classificar em ordem decrescente. Você pode utilizar a opção `--sort=<chave>` mais de uma vez; nesse caso, a última chave se torna a chave primária. Também é compatível com `versão:refname` ou `v:refname` (nomes das tags são tratados como versões). A ordem de classificação `versão:refname` também pode ser afetada pela variável de configuração `versionsort.sufix`.  As chaves compatíveis são as mesmas que as do `git for-each-ref`.  A classificação da ordem retorna para a predefinição do valor configurado pela variável `tag.sort` caso exista ou então pela ordem lexicográfica. Consulte linkgit:git-config[1].

note: type: Plain text
en: Sorting and filtering tags are case insensitive.
pt_BR: As referências de classificação e filtragem não diferenciam maiúsculas de minúsculas.

note: type: Plain text
en: Display tag listing in columns. See configuration variable column.tag for option syntax.`--column` and `--no-column` without options are equivalent to 'always' and 'never' respectively.
pt_BR: Exiba a listagem de tags nas colunas. See configuration variable column.tag for option syntax.`--column` and `--no-column` without options are equivalent to 'always' and 'never' respectively.

note: type: Plain text
en: This option is only applicable when listing tags without annotation lines.
pt_BR: Esta opção é aplicável apenas ao listar as tags sem linhas de anotação.

note: type: Plain text
en: Only list tags which contain the specified commit (HEAD if not specified). Implies `--list`.
pt_BR: Liste apenas as tags que contenham um commit em específico (`HEAD`caso não esteja definido). Implica no uso da opção `--list`.

note: type: Plain text
en: Only list tags which don't contain the specified commit (HEAD if not specified). Implies `--list`.
pt_BR: Liste apenas as tags que não contenham nenhum commit em específico (`HEAD`caso não esteja definido). Implica no uso da opção `--list`.

note: type: Plain text
en: Only list tags whose commits are reachable from the specified commit (`HEAD` if not specified), incompatible with `--no-merged`.
pt_BR: Liste apenas as tags cujos commits sejam acessíveis de um determinado commit (`HEAD`caso não esteja definido), é incompatível com `--no-merged`.

note: type: Plain text
en: Only list tags whose commits are not reachable from the specified commit (`HEAD` if not specified), incompatible with `--merged`.
pt_BR: Liste apenas as tags cujos commits não sejam acessíveis em um commit em específico (`HEAD`caso não esteja definido), é incompatível com `--merged`.

note: type: Plain text
en: Only list tags of the given object (HEAD if not specified). Implies `--list`.
pt_BR: Liste apenas as tags dos objetos informados (`HEAD`caso não esteja definido). Implica no uso da opção `--list`.

note: type: Plain text
en: Use the given tag message (instead of prompting).  If multiple `-m` options are given, their values are concatenated as separate paragraphs.  Implies `-a` if none of `-a`, `-s`, or `-u <keyid>` is given.
pt_BR: Utilize a mensagem da tag informada (em vez de solicitar).  Caso múltiplas opções `-m` sejam utilizadas, os seus valores são concatenados como separados por parágrafo. Implica na utilização de `-a` caso nenhum dos `-a`, `-s`, ou `-u <keyid>` sejam utilizados.

note: type: Plain text
en: Take the tag message from the given file.  Use '-' to read the message from the standard input.  Implies `-a` if none of `-a`, `-s`, or `-u <keyid>` is given.
pt_BR: Assume a mensagem da tag de um determinado arquivo.  Utilize '-' para ler a mensagem da entrada padrão. Implica na utilização da opção `-a` caso nenhum `-a`, `-s` ou `-u <keyid>` seja utilizado.

note: type: Plain text
en: The message taken from file with `-F` and command line with `-m` are usually used as the tag message unmodified.  This option lets you further edit the message taken from these sources.
pt_BR: A mensagem tirada do arquivo com `-F` e a linha de comando com `-m` normalmente são utilizadas como mensagens das tags sem alterações.  Esta opção permite editar ainda mais a mensagem retirada destas fontes.

note: type: Plain text
en: This option sets how the tag message is cleaned up.  The '<mode>' can be one of 'verbatim', 'whitespace' and 'strip'.  The 'strip' mode is default. The 'verbatim' mode does not change message at all, 'whitespace' removes just leading/trailing whitespace lines and 'strip' removes both whitespace and commentary.
pt_BR: Esta opção define como a tag da mensagem é limpa.  O '<modo>' pode ser entre 'verbatim', 'whitespace' e 'strip'.  O modo predefinido é 'strip'. O modo 'verbatim' não altera a mensagem de forma alguma, 'whitespace' remove apenas as linhas de espaço iniciais/finais e 'strip' remove o espaço junto com os comentários.

note: type: Plain text
en: Create a reflog for the tag. To globally enable reflogs for tags, see `core.logAllRefUpdates` in linkgit:git-config[1].  The negated form `--no-create-reflog` only overrides an earlier `--create-reflog`, but currently does not negate the setting of `core.logAllRefUpdates`.
pt_BR: Cria um "reflog" para a tag. Para ativar globalmente, consulte `core.logAllRefUpdates` em linkgit:git-config[1].  A forma negada do comando `--no-create-reflog` substitui apenas um `--create-reflog` anterior, mas atualmente não nega a configuração do `core.logAllRefUpdates`.

note: type: Plain text
en: A string that interpolates `%(fieldname)` from a tag ref being shown and the object it points at.  The format is the same as that of linkgit:git-for-each-ref[1].  When unspecified, defaults to `%(refname:strip=2)`.
pt_BR: Uma cadeia de caracteres que interpola `%(fieldname)` vindo de uma referência sendo exibida e o objeto para o qual aponta.  O formato é o mesmo do linkgit:git-for-each-ref[1].  Quando não for definido, a predefinição retorna para `%(refname:strip=2)`.

note: type: Labeled list
en: <tagname>
pt_BR: <nome-da-tag>

note: type: Plain text
en: The name of the tag to create, delete, or describe.  The new tag name must pass all checks defined by linkgit:git-check-ref-format[1].  Some of these checks may restrict the characters allowed in a tag name.
pt_BR: O nome da tag para criar, excluir ou descrever.  O novo nome da tag que deve passar em todas as verificações definidas pelo linkgit:git-check-ref-format[1].  Algumas destas verificações podem limitar os caracteres permitidos em um nome de uma tag.

note: type: Plain text
en: The object that the new tag will refer to, usually a commit.  Defaults to HEAD.
pt_BR: O objeto que a nova tag terá referência, geralmente um commit.  A predefinição retorna para `HEAD`.

note: type: Plain text
en: By default, 'git tag' in sign-with-default mode (-s) will use your committer identity (of the form `Your Name <your@email.address>`) to find a key.  If you want to use a different default key, you can specify it in the repository configuration as follows:
pt_BR: É predefinido que 'tag git' no modo de assinatura com a predefinição (-s) utilizará a identidade de quem fez o commit (no formato `Seu Nome <seu@end.email>`) para encontrar uma chave.  Caso queira utilizar uma chave diferente da predefinida, especifique-a na configuração do repositório da seguinte maneira:

note: type: Plain text
en: `pager.tag` is only respected when listing tags, i.e., when `-l` is used or implied. The default is to use a pager.  See linkgit:git-config[1].
pt_BR: A variável `pager.tag` só é respeitada quando listar as tags, por exemplo, quando `-l` for utilizada ou indicada.  A predefinição é utilizar um pager.  Consulte linkgit:git-config[1].

note: type: Title ~
en: On Re-tagging
pt_BR: Sobre renomeação de tag

note: type: Plain text
en: What should you do when you tag a wrong commit and you would want to re-tag?
pt_BR: O que você deve fazer quando marcar um commit errado e quiser marca-lo novamente?

note: type: Plain text
en: If you never pushed anything out, just re-tag it. Use "-f" to replace the old one. And you're done.
pt_BR: Caso nunca tenha impulsionado nada, basta remarcá-lo. Utilize "-f" para substituir o antigo. E pronto.

note: type: Plain text
en: But if you have pushed things out (or others could just read your repository directly), then others will have already seen the old tag. In that case you can do one of two things:
pt_BR: Porém caso você impulsione as coisas para fora (ou as outras pessoas apenas puderam ler o seu repositório diretamente), as outras pessoas já viram a tag antiga. Nesse caso, é possível fazer uma de duas coisas:

note: type: Plain text
en: The sane thing.  Just admit you screwed up, and use a different name. Others have already seen one tag-name, and if you keep the same name, you may be in the situation that two people both have "version X", but they actually have 'different' "X"'s.  So just call it "X.1" and be done with it.
pt_BR: A coisa sã.  Apenas admita que você estragou tudo e use um nome diferente. Outros já viram um nome da tag e se você mantiver o mesmo nome, pode estar na situação onde as duas pessoas têm a "versão X", porém na verdade têm "X" diferentes.  Então, basta chamá-lo de "X.1" e acabar logo com isso.

note: type: Plain text
en: The insane thing.  You really want to call the new version "X" too, 'even though' others have already seen the old one. So just use 'git tag -f' again, as if you hadn't already published the old one.
pt_BR: A coisa insana.  Você também quer chamar a nova versão de "X", mesmo que as outras pessoas já tenham visto a antiga. Portanto, basta usar 'git tag -f' novamente, como se você ainda não tivesse publicado o antigo.

note: type: Plain text
en: However, Git does *not* (and it should not) change tags behind users back. So if somebody already got the old tag, doing a 'git pull' on your tree shouldn't just make them overwrite the old one.
pt_BR: No entanto, o Git *não* (e não deve) alterar as tags sem o conhecimento dos usuários. Portanto, se alguém já recebeu a tag antiga, fazer um 'git pull' na sua árvore não substituirá a antiga.

note: type: Plain text
en: If somebody got a release tag from you, you cannot just change the tag for them by updating your own one. This is a big security issue, in that people MUST be able to trust their tag-names.  If you really want to do the insane thing, you need to just fess up to it, and tell people that you messed up. You can do that by making a very public announcement saying:
pt_BR: Caso alguém tenha recebido uma etiqueta de lançamento de você, você não pode simplesmente alterá-la atualizando a sua. Esse é um grande problema de segurança, pois as pessoas DEVEM confiar nos nomes das suas tags.  Caso queira realmente fazer uma coisa insana, é necessário apenas confessar e dizer às pessoas que você errou. Você pode fazer isso fazendo um anúncio muito público dizendo:

note: type: delimited block -
en: Ok, I messed up, and I pushed out an earlier version tagged as X. I
    then fixed something, and retagged the *fixed* tree as X again.
pt_BR: Ok, eu estraguei tudo e impulsionei uma versão anterior com a tag X. Eu
    então consertei alguma coisa e marquei novamente a árvore *corrigida* como X novamente.

note: type: delimited block -
en: If you got the wrong tag, and want the new one, please delete
    the old one and fetch the new one by doing:
pt_BR: Caso tenha pego a etiqueta errada e queira a nova, exclua
    o antigo e buscar um novo, fazendo:

note: type: delimited block -
en: to get my updated tag.
pt_BR: para obter a minha tag atualizada.

note: type: delimited block -
en: You can test which tag you have by doing
pt_BR: Você pode testar qual tag você possui fazendo.

note: type: delimited block -
en: which should return 0123456789abcdef.. if you have the new version.
pt_BR: o que também retorna 0123456789abcdef.. caso tenha a nova versão.

note: type: delimited block -
en: Sorry for the inconvenience.
pt_BR: Perdoe a inconveniência.

note: type: Plain text
en: Does this seem a bit complicated? It *should* be. There is no way that it would be correct to just "fix" it automatically.  People need to know that their tags might have been changed.
pt_BR: Isso parece um pouco complicado? *Deveria*. Não há como disto estar correto, apenas "corrigindo-o" de forma automática.  As pessoas precisam saber que as suas tags podem ter sido alteradas.

note: type: Title ~
en: On Automatic following
pt_BR: Na sequência automática

note: type: Plain text
en: If you are following somebody else's tree, you are most likely using remote-tracking branches (eg. `refs/remotes/origin/master`).  You usually want the tags from the other end.
pt_BR: Caso esteja seguindo a árvore de outra pessoa, provavelmente está utilizando os ramo monitorado remotamente (como por exemplo, `refs/remotes/origin/master`).  Você geralmente quer as tags que estão do outro lado.

note: type: Plain text
en: On the other hand, if you are fetching because you would want a one-shot merge from somebody else, you typically do not want to get tags from there.  This happens more often for people near the toplevel but not limited to them.  Mere mortals when pulling from each other do not necessarily want to automatically get private anchor point tags from the other person.
pt_BR: Por outro lado, caso você esteja buscando porque deseja mesclar de uma vez o commit de outra pessoa, geralmente você não vai querer obter as tags a partir daí.  Isso acontece com mais frequência para pessoas próximas ao nível mais alto, mas não se limitando a elas.  Os meros mortais quando obtém um do outro não necessariamente querem obter automaticamente pontos de ancoragem privados vindos da outra pessoa.

note: type: Plain text
en: Often, "please pull" messages on the mailing list just provide two pieces of information: a repo URL and a branch name; this is designed to be easily cut&pasted at the end of a 'git fetch' command line:
pt_BR: Frequentemente, aparecem mensagens "please pull" na lista de discussão que oferecem apenas duas informações: uma URL do repo e um nome do ramo; foi projetado para ser facilmente cortado e colado no final de uma linha de comando 'git fetch':

note: type: delimited block -
en: Linus, please pull from
pt_BR: Linus, por favor, capture de

note: type: delimited block -
en: to get the following updates...
pt_BR: para obter as seguintes atualizações...

note: type: Plain text
en: becomes:
pt_BR: se torna:

note: type: Plain text
en: In such a case, you do not want to automatically follow the other person's tags.
pt_BR: Em casos assim, você não quer seguir automaticamente as tags da outra pessoa.

note: type: Plain text
en: One important aspect of Git is its distributed nature, which largely means there is no inherent "upstream" or "downstream" in the system.  On the face of it, the above example might seem to indicate that the tag namespace is owned by the upper echelon of people and that tags only flow downwards, but that is not the case.  It only shows that the usage pattern determines who are interested in whose tags.
pt_BR: Um aspecto importante do Git é a sua natureza distribuída, o que em geral significa que não há "upstream" ou "downstream" inerente no sistema.  Em face disso, o exemplo acima pode parecer indicar que o espaço de nomes da tag pertence ao escalão superior das pessoas e que as tags fluem apenas para baixo, porém este não é o caso.  Exibe apenas que o padrão de uso determina quem está interessado em quais tags.

note: type: Plain text
en: A one-shot pull is a sign that a commit history is now crossing the boundary between one circle of people (e.g. "people who are primarily interested in the networking part of the kernel") who may have their own set of tags (e.g. "this is the third release candidate from the networking group to be proposed for general consumption with 2.6.21 release") to another circle of people (e.g. "people who integrate various subsystem improvements").  The latter are usually not interested in the detailed tags used internally in the former group (that is what "internal" means).  That is why it is desirable not to follow tags automatically in this case.
pt_BR: Uma tentativa única é um sinal que o histórico de um commit agora está cruzando a fronteira entre um círculo de pessoas (como por exemplo, "pessoas que estão interessadas principalmente na parte da rede do kernel") que podem ter o seu próprio conjunto das tags (como por exemplo "este é o terceiro candidato ao lançamento do grupo da rede que será proposto para consumo geral com o lançamento da versão 2.6.21") para outro círculo de pessoas (como por exemplo, "pessoas que integraram várias melhorias ao subsistema").  Os últimos geralmente não estão interessados nas tags detalhadas utilizadas internamente no primeiro grupo (é isso que significa "interno").  É por isso que é desejável neste caso, não seguir as tags de maneira automática.

note: type: Plain text
en: It may well be that among networking people, they may want to exchange the tags internal to their group, but in that workflow they are most likely tracking each other's progress by having remote-tracking branches.  Again, the heuristic to automatically follow such tags is a good thing.
pt_BR: Pode ser que, entre as pessoas da rede, elas possam querer trocar as tags internas ao seu grupo, porém neste fluxo de trabalho eles provavelmente rastreiam o progresso um do outro por terem ramificações de rastreamento remoto.  Novamente, a heurística para seguir automaticamente estas tags é uma coisa boa.

note: type: Title ~
en: On Backdating Tags
pt_BR: Sobre as Tags com Datas Retroativas

note: type: Plain text
en: If you have imported some changes from another VCS and would like to add tags for major releases of your work, it is useful to be able to specify the date to embed inside of the tag object; such data in the tag object affects, for example, the ordering of tags in the gitweb interface.
pt_BR: Caso tenha importado algumas alterações de outro VCS e queira adicionar as tags para as principais versões do seu trabalho, é útil poder informar a data que será incorporada no objeto tag; estes dados no objeto tag afetam, por exemplo, a ordem das tags na interface 'gitweb'.

note: type: Plain text
en: To set the date used in future tag objects, set the environment variable GIT_COMMITTER_DATE (see the later discussion of possible values; the most common form is "YYYY-MM-DD HH:MM").
pt_BR: Para definir a data usada em objetos com tags futuras, defina a variável de ambiente `GIT_COMMITTER_DATE` (consulte a discussão posterior sobre os valores possíveis; a forma mais comum é "AAAA-MM-DD HH:MM").

note: type: delimited block -
en: $ GIT_COMMITTER_DATE="2006-10-02 10:31" git tag -s v1.0.1
pt_BR: $GIT_COMMITTER_DATE="2006-10-02 10:31" git tag -s v1.0.1

note: type: Plain text
en: git - the stupid content tracker
pt_BR: git - o monitor de conteúdo estúpido

note: type: Plain text
en: 'git' [--version] [--help] [-C <path>] [-c <name>=<value>]
        [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
        [-p|--paginate|-P|--no-pager] [--no-replace-objects] [--bare]
        [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
        [--super-prefix=<path>]
        <command> [<args>]
pt_BR: 'git' [--version] [--help] [-C <caminho>] [-c <nome>=<valor>]
        [--exec-path[=<caminho>]] [--html-path] [--man-path] [--info-path]
        [-p|--paginate|-P|--no-pager] [--no-replace-objects] [--bare]
        [--git-dir=<caminho>] [--work-tree=<caminho>] [--namespace=<nome>]
        [--super-prefix=<caminho>]
        <comando> [<args>]

note: type: Plain text
en: Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals.
pt_BR: O Git é um sistema de controle de revisão distribuído, rápido, escalável e com um conjunto de comandos incomumente rico que oferece operações de alto nível e acesso completo aos seus recursos.

note: type: Plain text
en: See linkgit:gittutorial[7] to get started, then see linkgit:giteveryday[7] for a useful minimum set of commands.  The link:user-manual.html[Git User's Manual] has a more in-depth introduction.
pt_BR: Para começar, consulte linkgit:gittutorial[7] e depois linkgit:giteveryday[7] para conhecer um conjunto mínimo de comandos uteis.  Para uma introdução mais aprofundada acesse o link:user-manual.html[Manual do Usuário do Git].

note: type: Plain text
en: After you mastered the basic concepts, you can come back to this page to learn what commands Git offers.  You can learn more about individual Git commands with "git help command".  linkgit:gitcli[7] manual page gives you an overview of the command-line command syntax.
pt_BR: Depois de dominar os conceitos básicos, é possível voltar para esta página para aprender quais os outros comandos o Git oferece.  É possível aprender mais sobre os comandos individuais do Git com o comando "git help nome-do-comando".  A página do manual linkgit:gitcli[7] fornece uma visão geral da sintaxe de comandos da linha de comando.

note: type: Plain text
en: A formatted and hyperlinked copy of the latest Git documentation can be viewed at https://git.github.io/htmldocs/git.html or https://git-scm.com/docs.
pt_BR: Uma cópia formatada e com hiperlink da documentação mais recente do Git pode ser visualizada em https://git.github.io/htmldocs/git.html ou https://git-scm.com/docs.

note: type: Plain text
en: Prints the Git suite version that the 'git' program came from.
pt_BR: Imprime a versão do pacote Git exibindo a sua origem.

note: type: Plain text
en: Prints the synopsis and a list of the most commonly used commands. If the option `--all` or `-a` is given then all available commands are printed. If a Git command is named this option will bring up the manual page for that command.
pt_BR: Imprime a sinopse e uma lista dos comandos mais usados. Caso a opção `--all` ou `-a` seja usada, todos os comandos disponíveis serão impressos. Caso um comando Git seja informado, esta opção exibirá a página do manual deste comando.

note: type: Plain text
en: Other options are available to control how the manual page is displayed. See linkgit:git-help[1] for more information, because `git --help ...` is converted internally into `git help ...`.
pt_BR: Outras opções estão disponíveis para controlar como a página do manual é exibida. Para mais informações, consulte linkgit:git-help[1], pois o comando `git --help ...` é convertido internamente em `git help ...`.

note: type: Labeled list
en: -C <path>
pt_BR: -C <caminho>

note: type: Plain text
en: Run as if git was started in '<path>' instead of the current working directory.  When multiple `-C` options are given, each subsequent non-absolute `-C <path>` is interpreted relative to the preceding `-C <path>`.  If '<path>' is present but empty, e.g. `-C ""`, then the current working directory is left unchanged.
pt_BR: Execute como se o git tivesse sido iniciado em '<caminho>' em vez do diretório de trabalho atual.  Quando várias opções `-C` são usadas, cada `-C <caminho>` não absoluto subsequente é interpretado com relação ao `-C <caminho>` anterior.  Se '<caminho>' estiver presente, porém vazio, por exemplo, `-C ""`, o diretório de trabalho atual permanecerá inalterado.

note: type: Plain text
en: This option affects options that expect path name like `--git-dir` and `--work-tree` in that their interpretations of the path names would be made relative to the working directory caused by the `-C` option. For example the following invocations are equivalent:
pt_BR: Esta opção afeta as opções que esperam o nome do caminho, como `--git-dir` e `work-tree`, pois as suas interpretações dos nomes dos caminhos seriam feitas em relação ao diretório de trabalho causado pela opção `-C`. Como, por exemplo, as seguintes invocações são equivalentes:

note: type: Labeled list
en: -c <name>=<value>
pt_BR: -c <nome>=<valor>

note: type: Plain text
en: Pass a configuration parameter to the command. The value given will override values from configuration files.  The <name> is expected in the same format as listed by 'git config' (subkeys separated by dots).
pt_BR: Encaminhe um parâmetro de configuração para o comando O valor informado substituirá os valores dos arquivos de configuração.  Um `<nome>` é esperado no mesmo formato listado pelo comando 'git config' (sub chaves separadas por pontos).

note: type: Plain text
en: Note that omitting the `=` in `git -c foo.bar ...` is allowed and sets `foo.bar` to the boolean true value (just like `[foo]bar` would in a config file). Including the equals but with an empty value (like `git -c foo.bar= ...`) sets `foo.bar` to the empty string which `git config --type=bool` will convert to `false`.
pt_BR: Note que ao omitir `=` no comando `git -c foo.bar ...` é permitido e define `foo.bar` com o valor booleano verdadeiro (assim como`[foo]bar` faria em um arquivo de configuração). Incluindo os iguais, porém com um valor vazio (como `git -c foo.bar= ...`) define `foo.bar` para a string vazia que `git config --type=bool` converterá para `false`.

note: type: Labeled list
en: --exec-path[=<path>]
pt_BR: --exec-path[=<caminho>]

note: type: Plain text
en: Path to wherever your core Git programs are installed.  This can also be controlled by setting the GIT_EXEC_PATH environment variable. If no path is given, 'git' will print the current setting and then exit.
pt_BR: O caminho para onde os seus principais programas Git estão instalados.  Isso também pode ser controlado configurando a variável de ambiente `GIT_EXEC_PATH`. Caso nenhum caminho seja informado, o 'git' imprimirá a configuração atual e encerrará.

note: type: Plain text
en: Print the path, without trailing slash, where Git's HTML documentation is installed and exit.
pt_BR: Imprima o caminho, sem barra, onde a documentação HTML do Git está instalada e encerre.

note: type: Plain text
en: Print the manpath (see `man(1)`) for the man pages for this version of Git and exit.
pt_BR: Imprima o manpath (consulte `man(1)`) para as páginas do manual desta versão do Git e encerre.

note: type: Plain text
en: Print the path where the Info files documenting this version of Git are installed and exit.
pt_BR: Imprima o caminho onde os arquivos Info que documentam esta versão do Git estão instalados e encerre.

note: type: Plain text
en: Pipe all output into 'less' (or if set, $PAGER) if standard output is a terminal.  This overrides the `pager.<cmd>` configuration options (see the "Configuration Mechanism" section below).
pt_BR: Canalize toda a saída para 'less' (ou caso esteja definido, `$PAGER`) caso a saída padrão seja um terminal.  Isso substitui as opções de configuração `pager.<cmd>` (consulte a seção "Mecanismo de Configuração" abaixo).

note: type: Plain text
en: Do not pipe Git output into a pager.
pt_BR: Não canalize a saída do Git para um pager.

note: type: Labeled list
en: --git-dir=<path>
pt_BR: --git-dir=<caminho>

note: type: Plain text
en: Set the path to the repository (".git" directory). This can also be controlled by setting the `GIT_DIR` environment variable. It can be an absolute path or relative path to current working directory.
pt_BR: Define o caminho para o repositório (o diretório ".git"). Isso também pode ser controlado pela configuração da variável de ambiente `GIT_DIR`. Pode ser um caminho absoluto ou relativo ao diretório de trabalho atual.

note: type: Plain text
en: Specifying the location of the ".git" directory using this option (or `GIT_DIR` environment variable) turns off the repository discovery that tries to find a directory with ".git" subdirectory (which is how the repository and the top-level of the working tree are discovered), and tells Git that you are at the top level of the working tree.  If you are not at the top-level directory of the working tree, you should tell Git where the top-level of the working tree is, with the `--work-tree=<path>` option (or `GIT_WORK_TREE` environment variable)
pt_BR: A especificação do local do diretório ".git" usando esta opção (ou a variável de ambiente `GIT_DIR`) desativa a descoberta do repositório que tenta localizar um diretório com o ".git" dentro (que é como o repositório e o nível mais alto da descoberta da árvore de trabalho) e informa ao Git que você está no nível mais alto da árvore de trabalho.  Caso não esteja no diretório no nível mais alto da árvore de trabalho, deve informar ao Git onde está este nível da árvore de trabalho, com a opção `--work-tree=<caminho>` (ou a variável de ambiente `GIT_WORK_TREE`)

note: type: Plain text
en: If you just want to run git as if it was started in `<path>` then use `git -C <path>`.
pt_BR: Caso queira executar o git como se tivesse sido iniciado em `<caminho>`, utilize `git -C <caminho>`.

note: type: Labeled list
en: --work-tree=<path>
pt_BR: --work-tree=<caminho>

note: type: Plain text
en: Set the path to the working tree. It can be an absolute path or a path relative to the current working directory.  This can also be controlled by setting the GIT_WORK_TREE environment variable and the core.worktree configuration variable (see core.worktree in linkgit:git-config[1] for a more detailed discussion).
pt_BR: Define o caminho para a árvore de trabalho. Pode ser um caminho absoluto ou relativo ao diretório de trabalho atual.  Também pode ser controlado atrvés da configuração da variável de ambiente `GIT_WORK_TREE` e da variável de configuração `core.worktree` (consulte `core.worktree` no linkgit:git-config[1] para uma discussão com mais detalhes).

note: type: Labeled list
en: --namespace=<path>
pt_BR: --namespace=<caminho>

note: type: Plain text
en: Set the Git namespace.  See linkgit:gitnamespaces[7] for more details.  Equivalent to setting the `GIT_NAMESPACE` environment variable.
pt_BR: Define o espaço de nomes no Git.  Para mais detalhes consulte linkgit:gitnamespaces[7].  É o mesmo que configurar a variável de ambiente `GIT_NAMESPACE`.

note: type: Labeled list
en: --super-prefix=<path>
pt_BR: --super-prefix=<caminho>

note: type: Plain text
en: Currently for internal use only.  Set a prefix which gives a path from above a repository down to its root.  One use is to give submodules context about the superproject that invoked it.
pt_BR: Apenas para uso interno.  Set a prefix which gives a path from above a repository down to its root.  One use is to give submodules context about the superproject that invoked it.

note: type: Plain text
en: Treat the repository as a bare repository.  If GIT_DIR environment is not set, it is set to the current working directory.
pt_BR: Trate o repositório como um repositório simples.  Caso o ambiente `GIT_DIR` não estiver definido, ele será definido no diretório de trabalho atual.

note: type: Plain text
en: Do not use replacement refs to replace Git objects. See linkgit:git-replace[1] for more information.
pt_BR: Não utilize substituições "ref" para substituir os objetos Git. Para mais informações consulte linkgit:git-replace[1].

note: type: Plain text
en: Treat pathspecs literally (i.e. no globbing, no pathspec magic).  This is equivalent to setting the `GIT_LITERAL_PATHSPECS` environment variable to `1`.
pt_BR: Trate os pathspecs literalmente (ou seja, sem "globbing", sem a magia do "pathspec").  É o mesmo que definir a variável de ambiente `GIT_LITERAL_PATHSPECS` como `1`.

note: type: Plain text
en: Add "glob" magic to all pathspec. This is equivalent to setting the `GIT_GLOB_PATHSPECS` environment variable to `1`. Disabling globbing on individual pathspecs can be done using pathspec magic ":(literal)"
pt_BR: Adicione a magia 'glob' para todos os 'pathspec'. É como definir a variável de ambiente `GIT_GLOB_PATHSPECS` como `1`. A desativação do caractere curinga nos pathspecs individuais podem ser feitos utilizando a mágica do pathspec ": (literal)"

note: type: Plain text
en: Add "literal" magic to all pathspec. This is equivalent to setting the `GIT_NOGLOB_PATHSPECS` environment variable to `1`. Enabling globbing on individual pathspecs can be done using pathspec magic ":(glob)"
pt_BR: Adicione a magia 'literal' a todos os "pathspec". É equivalente a definir a variável de ambiente `GIT_NOGLOB_PATHSPECS` para `1`. A ativação dos caracteres curinga nos "pathspecs" individuais podem ser feitos utilizando a mágica do pathspec ":(glob)"

note: type: Plain text
en: Add "icase" magic to all pathspec. This is equivalent to setting the `GIT_ICASE_PATHSPECS` environment variable to `1`.
pt_BR: Adicione a magia 'icase' em todos os pathspec. É como definir a variável de ambiente `GIT_ICASE_PATHSPECS` como `1`.

note: type: Plain text
en: Do not perform optional operations that require locks. This is equivalent to setting the `GIT_OPTIONAL_LOCKS` to `0`.
pt_BR: Não execute operações opcionais que exijam bloqueios. Isso é equivalente que definir o `GIT_OPTIONAL_LOCKS` como `0`.

note: type: Plain text
en: List commands by group. This is an internal/experimental option and may change or be removed in the future. Supported groups are: builtins, parseopt (builtin commands that use parse-options), main (all commands in libexec directory), others (all other commands in `$PATH` that have git- prefix), list-<category> (see categories in command-list.txt), nohelpers (exclude helper commands), alias and config (retrieve command list from config variable completion.commands)
pt_BR: Liste os comandos por grupo. Essa é uma opção interna/experimental e pode mudar ou ser removido no futuro. Os grupos compatíveis são: `builtins`, `parseopt` (comandos internos que utilizam 'parse-options´), `main` (todos os comandos no diretório 'libexec'), `others` (todos os outros comandos no `$PATH` que possuem um prefixo git), `list- <categoria>` (consulte as categorias no 'command-list.txt'), `nohelpers` (exclua os comandos auxiliares), `alias` e `config` (recupera a lista dos comandos da variável `completion.commands`)

note: type: Title -
en: GIT COMMANDS
pt_BR: OS COMANDOS DO GIT

note: type: Plain text
en: We divide Git into high level ("porcelain") commands and low level ("plumbing") commands.
pt_BR: Dividimos o Git em comandos de alto nível ("porcelana") e de baixo nível ("encanamento").

note: type: Title -
en: High-level commands (porcelain)
pt_BR: Comandos de alto nível (porcelana)

note: type: Plain text
en: We separate the porcelain commands into the main commands and some ancillary user utilities.
pt_BR: Separamos os comandos porcelana nos comandos principais e em alguns utilitários auxiliares do usuário.

note: type: Title ~
en: Main porcelain commands
pt_BR: Os principais comandos porcelana

note: type: Title ~
en: Ancillary Commands
pt_BR: Comandos Auxiliares

note: type: Plain text
en: Manipulators:
pt_BR: Manipuladores:

note: type: Plain text
en: Interrogators:
pt_BR: Interrogadores:

note: type: Title ~
en: Interacting with Others
pt_BR: Interagindo com os outros

note: type: Plain text
en: These commands are to interact with foreign SCM and with other people via patch over e-mail.
pt_BR: Estes comandos são para interagir com um SCM externo e com as outras pessoas através de patch por e-mail.

note: type: Title ~
en: Reset, restore and revert
pt_BR: Redefina, restaure e reverta

note: type: Plain text
en: There are three commands with similar names: `git reset`, `git restore` and `git revert`.
pt_BR: Existem três comandos com nomes semelhantes: `git reset`, `git restore` e o `git revert`.

note: type: Plain text
en: linkgit:git-revert[1] is about making a new commit that reverts the changes made by other commits.
pt_BR: linkgit:git-revert[1] trata de fazer um novo commit que reverte as alterações feitas por outros commit.

note: type: Plain text
en: linkgit:git-restore[1] is about restoring files in the working tree from either the index or another commit. This command does not update your branch. The command can also be used to restore files in the index from another commit.
pt_BR: linkgit:git-restore[1] trata da restauração dos arquivos na árvore de trabalho do índice ou de outro commit. Este comando não atualiza o seu ramo. O comando também pode ser usado para restaurar os arquivos no índice do outro commit.

note: type: Plain text
en: linkgit:git-reset[1] is about updating your branch, moving the tip in order to add or remove commits from the branch. This operation changes the commit history.
pt_BR: linkgit:git-reset[1] trata da atualização do seu ramo, movendo o topo para adicionar ou remover os commits do ramo. Esta operação altera o histórico do commit.

note: type: Plain text
en: `git reset` can also be used to restore the index, overlapping with `git restore`.
pt_BR: O comando `git reset` também pode ser usado para restaurar o índice, sobrepondo com `git restore`.

note: type: Title -
en: Low-level commands (plumbing)
pt_BR: Comandos de baixo nível (encanamento 'plumbing')

note: type: Plain text
en: Although Git includes its own porcelain layer, its low-level commands are sufficient to support development of alternative porcelains.  Developers of such porcelains might start by reading about linkgit:git-update-index[1] and linkgit:git-read-tree[1].
pt_BR: Embora o Git inclua a sua própria camada de porcelana, os seus comandos de baixo nível são suficientes para apoiar o desenvolvimento de porcelanas alternativas.  Os desenvolvedores destas porcelanas podem começar lendo sobre linkgit:git-update-index[1] e linkgit:git-read-tree[1].

note: type: Plain text
en: The interface (input, output, set of options and the semantics)  to these low-level commands are meant to be a lot more stable than Porcelain level commands, because these commands are primarily for scripted use.  The interface to Porcelain commands on the other hand are subject to change in order to improve the end user experience.
pt_BR: A interface (entrada, saída, conjunto de opções e as semânticas) para esses comandos de baixo nível deve ser muito mais estável que os comandos porcelana, porque estes comandos são principalmente para uso com um script.  A interface para os comandos Porcelana, por outro lado, está sujeita a alterações para melhorar a experiência do usuário final.

note: type: Plain text
en: The following description divides the low-level commands into commands that manipulate objects (in the repository, index, and working tree), commands that interrogate and compare objects, and commands that move objects and references between repositories.
pt_BR: A descrição a seguir divide os comandos de baixo nível em comandos que manipulam os objetos (no repositório, índice e árvore de trabalho), comandos que interrogam, comparam objetos, comandos que movem objetos e suas referências entre os repositórios.

note: type: Title ~
en: Manipulation commands
pt_BR: Comandos de manipulação

note: type: Title ~
en: Interrogation commands
pt_BR: Comandos de interrogação

note: type: Plain text
en: In general, the interrogate commands do not touch the files in the working tree.
pt_BR: Em geral, os comandos de interrogação não tocam nos arquivos da árvore de trabalho.

note: type: Title ~
en: Syncing repositories
pt_BR: Sincronizando os repositórios

note: type: Plain text
en: The following are helper commands used by the above; end users typically do not use them directly.
pt_BR: A seguir, são apresentados os comandos auxiliares utilizados acima; os usuários finais normalmente não os utilizam diretamente.

note: type: Title ~
en: Internal helper commands
pt_BR: Comandos auxiliares internos

note: type: Plain text
en: These are internal helper commands used by other commands; end users typically do not use them directly.
pt_BR: Estes são comandos auxiliares internos usados por outros comandos; os usuários finais normalmente não os utilizam diretamente.

note: type: Title -
en: Configuration Mechanism
pt_BR: Mecanismo de Configuração

note: type: Plain text
en: Git uses a simple text format to store customizations that are per repository and are per user.  Such a configuration file may look like this:
pt_BR: O Git utiliza um formato de texto simples para armazenar as personalizações por repositório e por usuário.  Tal arquivo de configuração pode ficar assim:

note: type: delimited block -
en: #
    # A '#' or ';' character indicates a comment.
    #
pt_BR: #
    # Os caracteres '#' ou ';' indicam um comentário.
    #

note: type: delimited block -
en: ; user identity
    [user]
    	name = "Junio C Hamano"
    	email = "gitster@pobox.com"
pt_BR: ; identidade do usuário
    [user]
    	name = "Junio C Hamano"
    	email = "gitster@pobox.com"

note: type: Plain text
en: Various commands read from the configuration file and adjust their operation accordingly.  See linkgit:git-config[1] for a list and more details about the configuration mechanism.
pt_BR: Vários comandos são lidos no arquivo de configuração e ajustam a sua operação de acordo.  Para obter uma lista e mais detalhes sobre o mecanismo de configuração, consulte linkgit:git-config[1].

note: type: Title -
en: Identifier Terminology
pt_BR: Terminologia do Identificador

note: type: Plain text
en: Indicates the object name for any type of object.
pt_BR: Indica o nome do objeto para qualquer tipo de objeto.

note: type: Plain text
en: Indicates a blob object name.
pt_BR: Indica um nome de um objeto bolha.

note: type: Plain text
en: Indicates a tree object name.
pt_BR: Indica um nome de um objeto árvore.

note: type: Plain text
en: Indicates a commit object name.
pt_BR: Indica um nome de um objeto commit.

note: type: Plain text
en: Indicates a tree, commit or tag object name.  A command that takes a <tree-ish> argument ultimately wants to operate on a <tree> object but automatically dereferences <commit> and <tag> objects that point at a <tree>.
pt_BR: Indica uma árvore, nome de um objeto commit ou tag.  Um comando que aceite um argumento <commit-ish> e queira operar em um objeto <commit>, porém remove a referência automaticamente dos objetos <tag> que apontem para um <commit>.

note: type: Plain text
en: Indicates a commit or tag object name.  A command that takes a <commit-ish> argument ultimately wants to operate on a <commit> object but automatically dereferences <tag> objects that point at a <commit>.
pt_BR: Indica um nome do objeto commit ou tag.  Um comando que aceita um argumento <commit-ish> e queira operar em um objeto <commit>, porém remove a referência automaticamente dos objetos <tag> que apontem para um <commit>.

note: type: Plain text
en: Indicates that an object type is required.  Currently one of: `blob`, `tree`, `commit`, or `tag`.
pt_BR: Indica que um tipo do objeto seja necessário.  Atualmente um dos: `blob`, `tree`, `commit`, ou `tag`.

note: type: Plain text
en: Indicates a filename - almost always relative to the root of the tree structure `GIT_INDEX_FILE` describes.
pt_BR: Indica um nome do arquivo - quase sempre em relação à raiz da estrutura da árvore que o `GIT_INDEX_FILE` descreve.

note: type: Title -
en: Symbolic Identifiers
pt_BR: Identificadores Simbólicos

note: type: Plain text
en: Any Git command accepting any <object> can also use the following symbolic notation:
pt_BR: Qualquer comando Git que aceite qualquer <objeto> também pode utilizar a seguinte notação simbólica:

note: type: Plain text
en: indicates the head of the current branch.
pt_BR: indica o cabeçalho do ramo atual.

note: type: Plain text
en: a valid tag 'name' (i.e. a `refs/tags/<tag>` reference).
pt_BR: uma tag válida 'nome' (como, por exemplo, uma referência `refs/tags/<tag>`).

note: type: Plain text
en: a valid head 'name' (i.e. a `refs/heads/<head>` reference).
pt_BR: um cabeçalho válido 'nome' (como, por exemplo, uma referência `refs/heads/<head>`).

note: type: Plain text
en: For a more complete list of ways to spell object names, see "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
pt_BR: Para obter uma lista mais completa de maneiras de soletrar os nomes dos objetos, consulte a seção "DEFININDO AS REVISÕES" em linkgit:gitrevisions[7].

note: type: Title -
en: File/Directory Structure
pt_BR: A Estrutura dos Arquivos/Diretórios

note: type: Plain text
en: Please see the linkgit:gitrepository-layout[5] document.
pt_BR: Favor consultar o documento linkgit:gitrepository-layout[5].

note: type: Plain text
en: Read linkgit:githooks[5] for more details about each hook.
pt_BR: Para mais detalhes sobre cada gancho, consulte linkgit:githooks[5].

note: type: Plain text
en: Higher level SCMs may provide and manage additional information in the `$GIT_DIR`.
pt_BR: Os SCMs de alto nível podem fornecer e gerenciar informações adicionais no `$GIT_DIR`.

note: type: Title -
en: Terminology
pt_BR: Terminologia

note: type: Plain text
en: Please see linkgit:gitglossary[7].
pt_BR: Favor consultar linkgit:gitglossary[7].

note: type: Plain text
en: Various Git commands use the following environment variables:
pt_BR: Vários comandos Git usam as seguintes variáveis de ambiente:

note: type: Title ~
en: The Git Repository
pt_BR: O Repositório Git

note: type: Plain text
en: These environment variables apply to 'all' core Git commands. Nb: it is worth noting that they may be used/overridden by SCMS sitting above Git so take care if using a foreign front-end.
pt_BR: Essas variáveis de ambiente se aplicam a 'todos' os comandos principais do Git. Nb: é importante notar que eles podem ser usados/substituídos pelo SCMS acima do Git, portanto, tenha cuidado caso esteja usando um front-end externo.

note: type: Plain text
en: This environment allows the specification of an alternate index file. If not specified, the default of `$GIT_DIR/index` is used.
pt_BR: Este ambiente permite a definição de um arquivo índice alternativo. Caso não seja definido, a predefinição do `$GIT_DIR/index` é utilizado.

note: type: Plain text
en: This environment variable allows the specification of an index version for new repositories.  It won't affect existing index files.  By default index file version 2 or 3 is used. See linkgit:git-update-index[1] for more information.
pt_BR: Essa variável de ambiente permite a especificação de uma versão de índice para os novos repositórios.  Não afetará os arquivos de índice existentes.  Por predefinição, a versão 2 ou 3 do arquivo de índice é utilizado. Para mais informações consulte linkgit:git-update-index[1].

note: type: Plain text
en: If the object storage directory is specified via this environment variable then the sha1 directories are created underneath - otherwise the default `$GIT_DIR/objects` directory is used.
pt_BR: Caso o diretório de armazenamento dos objetos seja informado através desta variável de ambiente, os diretórios sha1 serão criados embaixo - caso contrário, o diretório predefinido `$GIT_DIR/objects` será utilizado.

note: type: Plain text
en: Due to the immutable nature of Git objects, old objects can be archived into shared, read-only directories. This variable specifies a ":" separated (on Windows ";" separated) list of Git object directories which can be used to search for Git objects. New objects will not be written to these directories.
pt_BR: Devido à natureza imutável dos objetos Git, os objetos antigos podem ser arquivados em diretórios compartilhados com somente leitura apenas. Esta variável especifica uma lista ":" separada (no Windows ";") dos diretórios dos objetos Git que podem ser utilizados para localizar objetos Git. Os novos objetos não serão gravados nestes diretórios.

note: type: Plain text
en: Entries that begin with `"` (double-quote) will be interpreted as C-style quoted paths, removing leading and trailing double-quotes and respecting backslash escapes. E.g., the value `"path-with-\"-and-:-in-it":vanilla-path` has two paths: `path-with-"-and-:-in-it` and `vanilla-path`.
pt_BR: As entradas que começam com `"` (aspas duplas) serão interpretadas como caminhos entre as aspas no estilo C, removendo as aspas duplas iniciais e finais, respeitando as escapes da barra invertida. Como por exemplo, o valor `"path-with-\"-and-:-in-it":vanilla-path` possuí dois caminhos: `path-with-"-and-:-in-it` e `vanilla-path`.

note: type: Plain text
en: If the `GIT_DIR` environment variable is set then it specifies a path to use instead of the default `.git` for the base of the repository.  The `--git-dir` command-line option also sets this value.
pt_BR: Caso a variável de ambiente `GIT_DIR` esteja definida, ela definirá um caminho que será utilizado em vez do `.git` predefinido como sendo a base do repositório.  A opção da linha de comando `--git-dir` também define este valor.

note: type: Plain text
en: Set the path to the root of the working tree.  This can also be controlled by the `--work-tree` command-line option and the core.worktree configuration variable.
pt_BR: Defina o caminho para a raiz da árvore de trabalho.  Isso também pode ser controlado pela opção da linha de comando `--work-tree` e pela variável de configuração `core.worktree`.

note: type: Plain text
en: Set the Git namespace; see linkgit:gitnamespaces[7] for details.  The `--namespace` command-line option also sets this value.
pt_BR: Define o espaço de nomes no Git; para mais detalhes consulte linkgit:gitnamespaces[7].  A opção da linha de comando `--namespace` também define este valor.

note: type: Plain text
en: This should be a colon-separated list of absolute paths.  If set, it is a list of directories that Git should not chdir up into while looking for a repository directory (useful for excluding slow-loading network directories).  It will not exclude the current working directory or a GIT_DIR set on the command line or in the environment.  Normally, Git has to read the entries in this list and resolve any symlink that might be present in order to compare them with the current directory.  However, if even this access is slow, you can add an empty entry to the list to tell Git that the subsequent entries are not symlinks and needn't be resolved; e.g., `GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink`.
pt_BR: Essa deve ser uma lista separada por dois pontos com caminhos absolutos.  Caso seja definido, é uma lista dos diretórios onde o Git não deve mudar de diretório (chdir) enquanto procura um diretório do repositório (útil para excluir os diretórios da rede com carregamento lento).  Ele não excluirá o diretório de trabalho atual, um `GIT_DIR` definido na linha de comandos ou no ambiente.  Normalmente, o Git precisa ler as entradas nesta lista e resolver qualquer link simbólico que possa estar presente para compará-las com o diretório atual.  No entanto, mesmo que esse acesso seja lento, você pode adicionar uma entrada vazia à lista para informar ao Git que as entradas subsequentes não são links simbólicos e não precisam ser resolvidos; como, por exemplo, `GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink`.

note: type: Plain text
en: When run in a directory that does not have ".git" repository directory, Git tries to find such a directory in the parent directories to find the top of the working tree, but by default it does not cross filesystem boundaries.  This environment variable can be set to true to tell Git not to stop at filesystem boundaries.  Like `GIT_CEILING_DIRECTORIES`, this will not affect an explicit repository directory set via `GIT_DIR` or on the command line.
pt_BR: Quando executado em um diretório que não possui o diretório do repositório ".git", o Git tenta encontrar esse diretório nos diretórios pais para encontrar o cume da árvore de trabalho, porém, é predefinido que, ele não cruze os limites do sistema de arquivos.  Essa variável de ambiente pode ser configurada como 'true' para dizer ao Git para não parar nos limites do sistema de arquivos.  Como o `GIT_CEILING_DIRECTORIES`, isso não afetará explicitamente um diretório do repositório definido através do `GIT_DIR` ou na linha de comando.

note: type: Plain text
en: If this variable is set to a path, non-worktree files that are normally in $GIT_DIR will be taken from this path instead. Worktree-specific files such as HEAD or index are taken from $GIT_DIR. See linkgit:gitrepository-layout[5] and linkgit:git-worktree[1] for details. This variable has lower precedence than other path variables such as GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY...
pt_BR: Se essa variável estiver definida para um caminho, os arquivos que não são da árvore de trabalho, estão normalmente estão em $GIT_DIR e serão obtidos desse caminho. Os arquivos específicos da árvore de trabalho, como `HEAD` ou índice serão obtidos de $GIT_DIR. Para mais detalhes consulte linkgit:gitrepository-layout[5] e linkgit:git-worktree[1]. Essa variável tem precedência mais baixa do que outras variáveis de caminho como `GIT_INDEX_FILE`, `GIT_OBJECT_DIRECTORY`...

note: type: Plain text
en: If this variable is set, the default hash algorithm for new repositories will be set to this value. This value is currently ignored when cloning; the setting of the remote repository is used instead. The default is "sha1".
pt_BR: Caso esta variável esteja definida, o algoritmo hash predefinido para os novos repositórios será definido com este valor. Este valor é atualmente ignorado durante a clonagem; em vez disso, a configuração do repositório remoto é utilizada. O valor predefinido é `sha1`.

note: type: Title ~
en: Git Commits
pt_BR: Os Commits do Git

note: type: Plain text
en: The human-readable name used in the author identity when creating commit or tag objects, or when writing reflogs. Overrides the `user.name` and `author.name` configuration settings.
pt_BR: O endereço legível do endereço de e-mail utilizado na identidade do autor ao criar os commits, na tag dos objetos ou ao gravar os reflogs. Substitui as definições de configuração `user.name` e `author.name`.

note: type: Plain text
en: The email address used in the author identity when creating commit or tag objects, or when writing reflogs. Overrides the `user.email` and `author.email` configuration settings.
pt_BR: O endereço de email utilizado na identidade do autor ao criar os commits, na marcação dos objetos ou ao gravar os reflogs. Substitui as definições da configuração `user.email` e `author.email`.

note: type: Plain text
en: The date used for the author identity when creating commit or tag objects, or when writing reflogs. See linkgit:git-commit[1] for valid formats.
pt_BR: A data utilizada para a identidade do autor ao criar objetos commit ou tags ou quando escrever "reflogs". Para conhecer os formatos válidos, consulte linkgit:git-commit[1].

note: type: Plain text
en: The human-readable name used in the committer identity when creating commit or tag objects, or when writing reflogs. Overrides the `user.name` and `committer.name` configuration settings.
pt_BR: O endereço legível do nome utilizado na identidade do autor do commit ao criar os commits, na tag dos objetos ou ao gravar os reflogs. Substitui as definições de configuração `user.name` e `committer.name`.

note: type: Plain text
en: The email address used in the author identity when creating commit or tag objects, or when writing reflogs. Overrides the `user.email` and `committer.email` configuration settings.
pt_BR: O endereço de email utilizado na identidade do autor ao criar os commits, na marcação dos objetos ou ao gravar os reflogs. Overrides the `user.email` and `committer.email` configuration settings.

note: type: Plain text
en: The date used for the committer identity when creating commit or tag objects, or when writing reflogs. See linkgit:git-commit[1] for valid formats.
pt_BR: A data utilizada para a identidade de quem fez o commit durante a criação dos objetos as tags do commit ou ao gravar os reflogs. Para mais formatos válidos, consulte linkgit:git-commit[1].

note: type: Plain text
en: The email address used in the author and committer identities if no other relevant environment variable or configuration setting has been set.
pt_BR: O endereço de e-mail usado nas identidades do autor e do commit, caso nenhuma outra variável de ambiente ou da configuração relevante tiver sido definida.

note: type: Title ~
en: Git Diffs
pt_BR: Os Diffs do Git

note: type: Plain text
en: Only valid setting is "--unified=??" or "-u??" to set the number of context lines shown when a unified diff is created.  This takes precedence over any "-U" or "--unified" option value passed on the Git diff command line.
pt_BR: A única opção válida é "--unified=??" ou "-u??" para definir o número de linhas de contexto mostradas quando um diff unificado for criado.  Isso tem precedência sobre qualquer valor da opção "-U" ou "--unified" passado na linha de comando diff do Git.

note: type: Plain text
en: When the environment variable `GIT_EXTERNAL_DIFF` is set, the program named by it is called, instead of the diff invocation described above.  For a path that is added, removed, or modified, `GIT_EXTERNAL_DIFF` is called with 7 parameters:
pt_BR: Quando a variável de ambiente `GIT_EXTERNAL_DIFF` é configurada, o programa informado nele é chamado, em vez do "diff" descrito acima.  Para um caminho que é adicionado, removido ou modificado, a variável `GIT_EXTERNAL_DIFF` é chamado com 7 parâmetros:

note: type: Plain text
en: where:
pt_BR: onde:

note: type: Plain text
en: are files GIT_EXTERNAL_DIFF can use to read the
pt_BR: são os arquivos que `GIT_EXTERNAL_DIFF` pode utilizar para ler o

note: type: Plain text
en: contents of <old|new>,
pt_BR: conteúdo do <antigo|novo>,

note: type: Plain text
en: are the 40-hexdigit SHA-1 hashes,
pt_BR: são os hashes SHA-1 com 40 hexadecimais,

note: type: Plain text
en: are the octal representation of the file modes.
pt_BR: são a representação octais dos modos dos arquivos.

note: type: Plain text
en: The file parameters can point at the user's working file (e.g. `new-file` in "git-diff-files"), `/dev/null` (e.g. `old-file` when a new file is added), or a temporary file (e.g. `old-file` in the index).  `GIT_EXTERNAL_DIFF` should not worry about unlinking the temporary file --- it is removed when `GIT_EXTERNAL_DIFF` exits.
pt_BR: Os parâmetros do arquivo podem apontar para o arquivo de trabalho do usuário (`new-file` em "git-diff-files" por exemplo), `/dev/null` (`old-file` quando um novo arquivo for adicionado por exemplo) ou um arquivo temporário (um `arquivo antigo` no índice por exemplo).  A variável `GIT_EXTERNAL_DIFF` não deve se preocupar com o desvinculamento do arquivo temporário --- ele é removido quando a variável `GIT_EXTERNAL_DIFF` termina.

note: type: Plain text
en: For a path that is unmerged, `GIT_EXTERNAL_DIFF` is called with 1 parameter, <path>.
pt_BR: Para um caminho que não foi mesclado, `GIT_EXTERNAL_DIFF` é chamado com 1 parâmetro, <caminho>.

note: type: Plain text
en: For each path `GIT_EXTERNAL_DIFF` is called, two environment variables, `GIT_DIFF_PATH_COUNTER` and `GIT_DIFF_PATH_TOTAL` are set.
pt_BR: Para cada caminho `GIT_EXTERNAL_DIFF` que é chamado, duas variáveis de ambiente,`GIT_DIFF_PATH_COUNTER` e `GIT_DIFF_PATH_TOTAL` são definidas.

note: type: Plain text
en: A 1-based counter incremented by one for every path.
pt_BR: Um contador com base 1 incrementado por um em cada caminho.

note: type: Plain text
en: The total number of paths.
pt_BR: A quantidade total dos caminhos.

note: type: Plain text
en: A number controlling the amount of output shown by the recursive merge strategy.  Overrides merge.verbosity.  See linkgit:git-merge[1]
pt_BR: Um número que controla a quantidade de saída demonstrada pela estratégia de mesclagem recursiva.  Substitui o `merge.verbosity`.  Consulte linkgit:git-merge[1]

note: type: Plain text
en: This environment variable overrides `$PAGER`. If it is set to an empty string or to the value "cat", Git will not launch a pager.  See also the `core.pager` option in linkgit:git-config[1].
pt_BR: Essa variável de ambiente substitui o `$PAGER`. Caso esteja definido como uma string vazia ou com o valor "cat", o Git não iniciará um pager.  Consulte também a opção `core.askPass` no linkgit:git-config[1].

note: type: Plain text
en: A number controlling how many seconds to delay before showing optional progress indicators. Defaults to 2.
pt_BR: Um número que controla quantos segundos atrasar antes de mostrar os indicadores opcionais do progresso. A predefinição retorna para `2`.

note: type: Plain text
en: This environment variable overrides `$EDITOR` and `$VISUAL`.  It is used by several Git commands when, on interactive mode, an editor is to be launched. See also linkgit:git-var[1] and the `core.editor` option in linkgit:git-config[1].
pt_BR: Essa variável de ambiente substitui o `$EDITOR` e o `$VISUAL`.  É usado por vários comandos Git quando, no modo interativo, um editor deve ser iniciado. Consulte também linkgit:git-var[1] e a opção `core.editor` no linkgit:git-config[1].

note: type: Plain text
en: If either of these environment variables is set then 'git fetch' and 'git push' will use the specified command instead of 'ssh' when they need to connect to a remote system.  The command-line parameters passed to the configured command are determined by the ssh variant.  See `ssh.variant` option in linkgit:git-config[1] for details.
pt_BR: Caso alguma destas variáveis de ambiente esteja definida, o comando 'git fetch' e o 'git push' utilizarão o comando informado em vez do 'ssh' quando precisarem se conectar com um sistema remoto.  Os parâmetros da linha de comando passados para o comando configurado, são determinados pela variante 'ssh'.  Para mais detalhesm consulte a opção de configuração `ssh.variant` no linkgit:git-config[1].

note: type: Plain text
en: `$GIT_SSH_COMMAND` takes precedence over `$GIT_SSH`, and is interpreted by the shell, which allows additional arguments to be included.  `$GIT_SSH` on the other hand must be just the path to a program (which can be a wrapper shell script, if additional arguments are needed).
pt_BR: A variável `$GIT_SSH_COMMAND` tem precedência sobre a variável `$GIT_SSH` que é interpretado pelo shell, permite que argumentos adicionais sejam incluídos.  A variável `$GIT_SSH`, por outro lado, deve ser apenas o caminho para um programa (que pode ser um script shell do wrapper, caso as opções adicionais sejam necessárias).

note: type: Plain text
en: Usually it is easier to configure any desired options through your personal `.ssh/config` file.  Please consult your ssh documentation for further details.
pt_BR: Geralmente é mais fácil configurar as opções desejadas através do seu arquivo pessoal `.ssh/config`.  Consulte a documentação do ssh para obter mais detalhes.

note: type: Plain text
en: If this environment variable is set, it overrides Git's autodetection whether `GIT_SSH`/`GIT_SSH_COMMAND`/`core.sshCommand` refer to OpenSSH, plink or tortoiseplink. This variable overrides the config setting `ssh.variant` that serves the same purpose.
pt_BR: Se esta variável de ambiente estiver configurada, ela substitui a detecção automática do Git, caso `GIT_SSH`/`GIT_SSH_COMMAND`/`core.sshCommand` se refere ao OpenSSH, plink ou tortoiseplink. Esta variável substitui a configuração `ssh.variant` que serve ao mesmo propósito.

note: type: Plain text
en: If this environment variable is set, then Git commands which need to acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)  will call this program with a suitable prompt as command-line argument and read the password from its STDOUT. See also the `core.askPass` option in linkgit:git-config[1].
pt_BR: Caso esta variável do ambiente esteja definida, os comandos Git que precisam obter as senhas ou as frases secretas (para a autenticação HTTP ou IMAP por exemplo) chamarão esse programa com um prompt adequado como argumento da linha de comando e irão ler a senha em seu STDOUT. Consulte também a opção `core.askPass` no linkgit:git-config[1].

note: type: Plain text
en: If this environment variable is set to `0`, git will not prompt on the terminal (e.g., when asking for HTTP authentication).
pt_BR: Caso esta variável de ambiente esteja definida como `0`, o git não será solicitado no terminal (ao solicitar uma autenticação HTTP por exemplo).

note: type: Plain text
en: Whether to skip reading settings from the system-wide `$(prefix)/etc/gitconfig` file.  This environment variable can be used along with `$HOME` and `$XDG_CONFIG_HOME` to create a predictable environment for a picky script, or you can set it temporarily to avoid using a buggy `/etc/gitconfig` file while waiting for someone with sufficient permissions to fix it.
pt_BR: Independente se você ignore as configurações de leitura do arquivo `$(prefix)/etc/gitconfig` do sistema.  Essa variável de ambiente pode ser usada junto com `$HOME` e o `$XDG_CONFIG_HOME` para criar um ambiente previsível para um script exigente, ou você pode configurá-la temporariamente para evitar o uso de um arquivo `/etc/gitconfig` com problemas, enquanto aguarda alguém com permissões suficientes para corrigi-lo.

note: type: Plain text
en: If this environment variable is set to "1", then commands such
    as 'git blame' (in incremental mode), 'git rev-list', 'git log',
    'git check-attr' and 'git check-ignore' will
    force a flush of the output stream after each record have been
    flushed. If this
    variable is set to "0", the output of these commands will be done
    using completely buffered I/O.   If this environment variable is
    not set, Git will choose buffered or record-oriented flushing
    based on whether stdout appears to be redirected to a file or not.
pt_BR: Caso esta variável de ambiente estiver definida como "1", então os comandos
    como 'git blame' (no modo incremental), 'git rev-list', 'git log',
    'git check-attr' e 'git check-ignore' serão
    impor uma descarga do fluxo gerado depois que cada registro tenham sido
    esvaziado. Se essa
    variável for definida como '0', a saída destes comandos será feita
    utilizando toda a E/S na memória intermédia (buffer).   Se essa variável de ambiente não
    seja definida, o Git escolherá a descarga em uma memória intermédia ou orientada no
    esvaziamento dos registros, para ver se o stdout parece ter sido redirecionado para um arquivo ou não.

note: type: Plain text
en: Enables general trace messages, e.g. alias expansion, built-in command execution and external command execution.
pt_BR: Ativa o rastreio geral das mensagens, como por exemplo expansão do pseudônimo, execução interna dos comandos e a execução externa dos comandos.

note: type: Plain text
en: If this variable is set to "1", "2" or "true" (comparison is case insensitive), trace messages will be printed to stderr.
pt_BR: Caso esta variável esteja definida como `1`, `2` ou `true` (a comparação não diferencia as maiúsculas das minúsculas), as mensagens de rastreio serão impressas no stderr.

note: type: Plain text
en: If the variable is set to an integer value greater than 2 and lower than 10 (strictly) then Git will interpret this value as an open file descriptor and will try to write the trace messages into this file descriptor.
pt_BR: Caso a variável seja configurada com um valor inteiro maior que 2 e menor que 10 (estritamente), o Git interpretará este valor como um descritor de arquivo aberto e tentará gravar as mensagens de monitoramento neste descritor do arquivo.

note: type: Plain text
en: Alternatively, if the variable is set to an absolute path (starting with a '/' character), Git will interpret this as a file path and will try to append the trace messages to it.
pt_BR: Como alternativa, caso a variável estiver definida como um caminho absoluto (começando com um caractere '/'), o Git interpretará isso como um caminho do arquivo e tentará anexar as mensagens de rastreio nelas.

note: type: Plain text
en: Unsetting the variable, or setting it to empty, "0" or "false" (case insensitive) disables trace messages.
pt_BR: Desativar a variável ou defini-la como vazia '0' ou 'false' (não faz distinção entre maiúsculas e minúsculas) desativa as mensagens de monitoramento.

note: type: Plain text
en: Enables trace messages for the filesystem monitor extension.  See `GIT_TRACE` for available trace output options.
pt_BR: Ativa as mensagens de rastreamento para a extensão do monitor do sistema de arquivos.  Consulte `GIT_TRACE` para conhecer opções de saída de rastreio disponíveis.

note: type: Plain text
en: Enables trace messages for all accesses to any packs. For each access, the pack file name and an offset in the pack is recorded. This may be helpful for troubleshooting some pack-related performance problems.  See `GIT_TRACE` for available trace output options.
pt_BR: Permite rastrear as mensagens para todos os acessos para qualquer pacote. Para cada acesso, é registrado o nome do arquivo do pacote e um 'offset'. Pode ser útil para solucionar alguns problemas de desempenho relacionados ao pacote.  Consulte `GIT_TRACE` para conhecer opções de saída de rastreio disponíveis.

note: type: Plain text
en: Enables trace messages for all packets coming in or out of a given program. This can help with debugging object negotiation or other protocol issues. Tracing is turned off at a packet starting with "PACK" (but see `GIT_TRACE_PACKFILE` below).  See `GIT_TRACE` for available trace output options.
pt_BR: Ativa o rastreio das mensagens para todos os pacotes que entram ou saem de um determinado programa. Isso pode ajudar na depuração da negociação dos objetos ou de outros problemas de protocolo. O rastreamento é desativado em um pacote que comece com "PACK" (porém consulte `GIT_TRACE_PACKFILE` abaixo).  Consulte `GIT_TRACE` para conhecer opções de saída de rastreio disponíveis.

note: type: Plain text
en: Enables tracing of packfiles sent or received by a given program. Unlike other trace output, this trace is verbatim: no headers, and no quoting of binary data. You almost certainly want to direct into a file (e.g., `GIT_TRACE_PACKFILE=/tmp/my.pack`) rather than displaying it on the terminal or mixing it with other trace output.
pt_BR: Permite o monitoramento dos arquivos dos pacotes enviados ou recebidos através de um determinado programa. Diferente de outras saídas monitoradas, esse monitoramento é literalmente: sem cabeçalhos e sem a citação dos dados binários. Você quase que certamente vai querer direcionar para um arquivo (`GIT_TRACE_PACKFILE=/tmp/my.pack` por exemplo) em vez de exibi-lo no terminal ou misturá-lo com uma outra saída monitorada.

note: type: Plain text
en: Note that this is currently only implemented for the client side of clones and fetches.
pt_BR: Observe que atualmente isso é implementado apenas para o lado do cliente dos clones e das buscas.

note: type: Plain text
en: Enables performance related trace messages, e.g. total execution time of each Git command.  See `GIT_TRACE` for available trace output options.
pt_BR: Ativa as mensagens de rastreamento relacionadas ao desempenho, como por exemplo, o tempo total da execução de cada comando Git.  Consulte `GIT_TRACE` para conhecer opções de saída de rastreio disponíveis.

note: type: Plain text
en: Enables trace messages printing the .git, working tree and current working directory after Git has completed its setup phase.  See `GIT_TRACE` for available trace output options.
pt_BR: Permite que as mensagens de rastreamento imprimam o .git, a árvore de trabalho e o diretório de trabalho atual após o Git concluir a sua fase de configuração.  Consulte `GIT_TRACE` para conhecer opções de saída de rastreio disponíveis.

note: type: Plain text
en: Enables trace messages that can help debugging fetching / cloning of shallow repositories.  See `GIT_TRACE` for available trace output options.
pt_BR: Ativa o rastreio das mensagens que podem ajudar na depuração da busca/clonagem dos repositórios rasos.  Consulte `GIT_TRACE` para conhecer opções de saída de rastreio disponíveis.

note: type: Plain text
en: Enables a curl full trace dump of all incoming and outgoing data, including descriptive information, of the git transport protocol.  This is similar to doing curl `--trace-ascii` on the command line.  See `GIT_TRACE` for available trace output options.
pt_BR: Permite um rastreamento curl completo de todos os dados que foram recebidos e enviados, incluindo as informações descritivas, do protocolo de transporte git.  É semelhante a fazer curl `--trace-ascii` na linha de comando.  Consulte `GIT_TRACE` para conhecer as opções  disponíveis geradas pelo rastreio.

note: type: Plain text
en: When a curl trace is enabled (see `GIT_TRACE_CURL` above), do not dump data (that is, only dump info lines and headers).
pt_BR: Quando um rastreamento curl está ativado (consulte `GIT_TRACE_CURL` acima), não despeje os dados (ou seja, apenas despeje as linhas de informações e os cabeçalhos).

note: type: Plain text
en: Enables more detailed trace messages from the "trace2" library.  Output from `GIT_TRACE2` is a simple text-based format for human readability.
pt_BR: Permite mensagens de rastreamento com mais detalhes través da biblioteca "trace2".  A saída do `GIT_TRACE2` é um formato simples de texto para facilitar a leitura das pessoas.

note: type: Plain text
en: Alternatively, if the variable is set to an absolute path (starting with a '/' character), Git will interpret this as a file path and will try to append the trace messages to it.  If the path already exists and is a directory, the trace messages will be written to files (one per process)  in that directory, named according to the last component of the SID and an optional counter (to avoid filename collisions).
pt_BR: Alternativamente, caso a variável esteja definida como um caminho absoluto (começando com um caractere '/'), Git interpretará isso como um caminho de arquivo e tentará anexar as mensagens de rastreamento a ela.  Caso o caminho já exista e for um diretório, as mensagens de rastreamento serão gravadas em arquivos (uma por processo) nesse diretório, nomeada de acordo com o último componente do SID e um contador opcional (para evitar colisões de nome de arquivo).

note: type: Plain text
en: In addition, if the variable is set to `af_unix:[<socket_type>:]<absolute-pathname>`, Git will try to open the path as a Unix Domain Socket.  The socket type can be either `stream` or `dgram`.
pt_BR: Além disso, caso a variável esteja definida como `af_unix:[<socket_type>:]<caminho-absoluto>`, o Git tentará abrir o caminho como um soquete de domínio Unix.  O tipo de soquete pode ser `stream` ou `dgram`.

note: type: Plain text
en: See link:technical/api-trace2.html[Trace2 documentation] for full details.
pt_BR: Para mais detalhes, consulte link:technical/api-trace2.html[Trace2 documentation].

note: type: Plain text
en: This setting writes a JSON-based format that is suited for machine interpretation.  See `GIT_TRACE2` for available trace output options and link:technical/api-trace2.html[Trace2 documentation] for full details.
pt_BR: Esta configuração registra um formato com base no JSON que é adequado para a interpretação da máquina.  Consulte `GIT_TRACE2` para conhecer as opções disponíveis para o monitoramento e o link:technical/api-trace2.html [documentação do Trace2] para obter todos os detalhes.

note: type: Plain text
en: In addition to the text-based messages available in `GIT_TRACE2`, this setting writes a column-based format for understanding nesting regions.  See `GIT_TRACE2` for available trace output options and link:technical/api-trace2.html[Trace2 documentation] for full details.
pt_BR: Além das mensagens texto disponíveis em `GIT_TRACE2`, esta configuração escreve o formato da base da coluna para compreender as regiões aninhadas.  Consulte `GIT_TRACE2` para conhecer as opções disponíveis para o monitoramento e o link:technical/api-trace2.html [documentação do Trace2] para obter todos os detalhes.

note: type: Plain text
en: By default, when tracing is activated, Git redacts the values of cookies, the "Authorization:" header, and the "Proxy-Authorization:" header. Set this variable to `0` to prevent this redaction.
pt_BR: É predefinido que quando o monitoramento seja ativado, o Git redita os valores dos cookies, o cabeçalho "Autorização:" e o cabeçalho "Autorização do proxy:". Defina esta variável como `0` para evitar esta redação.

note: type: Plain text
en: Setting this variable to `1` will cause Git to treat all pathspecs literally, rather than as glob patterns. For example, running `GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search for commits that touch the path `*.c`, not any paths that the glob `*.c` matches. You might want this if you are feeding literal paths to Git (e.g., paths previously given to you by `git ls-tree`, `--raw` diff output, etc).
pt_BR: Definir essa variável como `1` fará com que o Git trate todos os pathspecs de forma literal, e não como padrões glob. Como, por exemplo, a execução do `GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` procurará pelos commits que tocam no caminho `*.c` e não nos caminhos que coincidem com o agrupamento `*.c`. Você pode querer isso caso esteja alimentando caminhos literais para o Git (como, por exemplo, os caminhos informados anteriormente a você pelo `git ls-tree`, `--raw`, saída do diff, etc).

note: type: Plain text
en: Setting this variable to `1` will cause Git to treat all pathspecs as glob patterns (aka "glob" magic).
pt_BR: Definir essa variável como `1` fará com que o Git trate todos os pathspecs como padrões "glob" (também informados como "glob" mágico).

note: type: Plain text
en: Setting this variable to `1` will cause Git to treat all pathspecs as literal (aka "literal" magic).
pt_BR: Definir essa variável como `1` fará com que o Git trate todos os pathspecs como literal (também informados como mágica "literal").

note: type: Plain text
en: Setting this variable to `1` will cause Git to treat all pathspecs as case-insensitive.
pt_BR: Definir essa variável como `1` fará com que o Git trate todos os pathspecs como indiferente para maiúsculas e minúsculas.

note: type: Plain text
en: When a ref is updated, reflog entries are created to keep track of the reason why the ref was updated (which is typically the name of the high-level command that updated the ref), in addition to the old and new values of the ref.  A scripted Porcelain command can use set_reflog_action helper function in `git-sh-setup` to set its name to this variable when it is invoked as the top level command by the end user, to be recorded in the body of the reflog.
pt_BR: Quando uma "ref" é atualizada, são criadas as entradas do reflog para acompanhar a razão da "ref" ter sido atualizada (que geralmente é o nome do comando de alto nível que atualizou a "ref"), além dos valores antigos e novos da "ref".  Um comando Porcelana com script pode usar a função auxiliar 'set_reflog_action' no comando `git sh setup` para definir o seu nome para essa variável quando é invocado como o comando de alto nível pelo usuário final, que será registrado no corpo do reflog.

note: type: Plain text
en: If set to `1`, include broken or badly named refs when iterating over lists of refs. In a normal, non-corrupted repository, this does nothing. However, enabling it may help git to detect and abort some operations in the presence of broken refs. Git sets this variable automatically when performing destructive operations like linkgit:git-prune[1]. You should not need to set it yourself unless you want to be paranoid about making sure an operation has touched every ref (e.g., because you are cloning a repository to make a backup).
pt_BR: Caso seja definido como `1`, inclua as referências quebradas ou com nomes incorretos ao se iterar sobre as listas das referências. Em um repositório normal, não corrompido, isso não faz nada. No entanto, habilitá-lo pode ajudar o git a detectar e abortar algumas operações na presença de referências quebradas. O Git define essa variável de forma automática durante a execução das operações destrutivas como linkgit:git-prune[1]. Você não precisa configurá-lo sozinho, a menos que queira ser paranóico para garantir que uma operação toque em cada "ref" (caso esteja clonando um repositório para fazer uma cópia de segurança por exemplo).

note: type: Plain text
en: If set to a colon-separated list of protocols, behave as if `protocol.allow` is set to `never`, and each of the listed protocols has `protocol.<name>.allow` set to `always` (overriding any existing configuration). In other words, any protocol not mentioned will be disallowed (i.e., this is a whitelist, not a blacklist). See the description of `protocol.allow` in linkgit:git-config[1] for more details.
pt_BR: Caso seja definido como uma lista de protocolos separados por dois pontos, comporte-se como se a opção de configuração `protocol.allow` esteja definida como `never`, e cada um dos protocolos listados possua `protocol.<nome>.allow` definido como `always` (substituindo qualquer configuração já existente). Em outras palavras, qualquer protocolo não mencionado será proibido (ou seja, esta é uma lista de permissões e não uma lista negra). Consulte a descrição do `protocol.allow` no linkgit:git-config[1] para mais detalhes.

note: type: Plain text
en: Set to 0 to prevent protocols used by fetch/push/clone which are configured to the `user` state.  This is useful to restrict recursive submodule initialization from an untrusted repository or for programs which feed potentially-untrusted URLS to git commands.  See linkgit:git-config[1] for more details.
pt_BR: Defina como `0` para evitar que os protocolos utilizados por `fetch/push/clone` sejam configurados por `user`.  É útil para restringir a inicialização recursiva do submódulo de um repositório não confiável ou para programas que alimentam as URLS potencialmente não confiáveis aos comandos git.  Para mais detalhes consulte linkgit:git-config[1].

note: type: Plain text
en: For internal use only.  Used in handshaking the wire protocol.  Contains a colon ':' separated list of keys with optional values 'key[=value]'.  Presence of unknown keys and values must be ignored.
pt_BR: Apenas para utilização interna.  Used in handshaking the wire protocol.  Contains a colon ':' separated list of keys with optional values 'key[=value]'.  Presence of unknown keys and values must be ignored.

note: type: Plain text
en: If set to `0`, Git will complete any requested operation without performing any optional sub-operations that require taking a lock.  For example, this will prevent `git status` from refreshing the index as a side effect. This is useful for processes running in the background which do not want to cause lock contention with other operations on the repository.  Defaults to `1`.
pt_BR: Caso seja definido como 0, o Git concluirá qualquer operação solicitada sem executar outra operação opcional onde se exija um bloqueio.  Como um efeito colateral isso impedirá que o comando `git status` atualize o índice por exemplo. É útil para os processos que estão em execução no segundo plano que não queiram causar contenção do bloqueio com as outras operações no repositório.  A predefinição retorna para `1`.

note: type: Plain text
en: Windows-only: allow redirecting the standard input/output/error handles to paths specified by the environment variables. This is particularly useful in multi-threaded applications where the canonical way to pass standard handles via `CreateProcess()` is not an option because it would require the handles to be marked inheritable (and consequently *every* spawned process would inherit them, possibly blocking regular Git operations). The primary intended use case is to use named pipes for communication (e.g. `\\.\pipe\my-git-stdin-123`).
pt_BR: Apenas no Windows: permite redirecionar os identificadores predefinidos de 'input/output/error' para os caminhos definidos através das variáveis do ambiente. Em particular isso é útil nos aplicativos "multi-threaded" onde a maneira canônica de encaminhar os identificadores predefinidos através do `CreateProcess()` não seja uma opção pois exigiria que os identificadores fossem marcados como herdáveis (e consequentemente *todo* processo gerado os herdaria, possivelmente fazendo o bloqueio das operações do Git). A intenção primária de utilização é utilizar os pipes informados para comunicação (`\\.\pipe\my-git-stdin-123` por exemplo).

note: type: Plain text
en: Two special values are supported: `off` will simply close the corresponding standard handle, and if `GIT_REDIRECT_STDERR` is `2>&1`, standard error will be redirected to the same handle as standard output.
pt_BR: Dois valores especiais são compatíveis: `off` simplesmente fechará o identificador predefinido correspondente e caso `GIT_REDIRECT_STDERR` seja `2> & 1`, a predefinição do erro será redirecionado para o mesmo identificador na saída padrão.

note: type: Labeled list
en: `GIT_PRINT_SHA1_ELLIPSIS` (deprecated)
pt_BR: `GIT_PRINT_SHA1_ELLIPSIS` (descontinuado)

note: type: Plain text
en: If set to `yes`, print an ellipsis following an (abbreviated) SHA-1 value.  This affects indications of detached HEADs (linkgit:git-checkout[1]) and the raw diff output (linkgit:git-diff[1]).  Printing an ellipsis in the cases mentioned is no longer considered adequate and support for it is likely to be removed in the foreseeable future (along with the variable).
pt_BR: Caso seja definido como `yes`, imprima uma elipse seguido de um valor (abreviado) SHA-1.  Isso afeta as indicações dos HEADs desanexados (linkgit:git-checkout[1]) e a saída diff bruta (linkgit:git-diff[1]).  A impressão de uma elipse nos casos mencionados não é mais considerada adequada e é provável que a compatibilidade seja removida em um futuro próximo (junto com a variável).

note: type: Title -
en: Discussion[[Discussion]]
pt_BR: Discussão[[Discussão]]

note: type: Plain text
en: More detail on the following is available from the link:user-manual.html#git-concepts[Git concepts chapter of the user-manual] and linkgit:gitcore-tutorial[7].
pt_BR: Mais detalhes estão disponíveis no link:user-manual.html#git-concepts[capítulo dos conceitos do Git no manual do usuário] e linkgit:gitcore-tutorial[7].

note: type: Plain text
en: A Git project normally consists of a working directory with a ".git" subdirectory at the top level.  The .git directory contains, among other things, a compressed object database representing the complete history of the project, an "index" file which links that history to the current contents of the working tree, and named pointers into that history such as tags and branch heads.
pt_BR: Um projeto Git normalmente consiste em um diretório de trabalho com um subdiretório ".git" no ponto mais alto.  O diretório .git contém, entre outras coisas, um banco de dados dos objetos compactados representando o histórico completo do projeto, um arquivo para o "índice" que vincula este histórico ao conteúdo atual da árvore de trabalho e informa os ponteiros para este histórico, como as tags e os cabeçalhos do ramo.

note: type: Plain text
en: The object database contains objects of three main types: blobs, which hold file data; trees, which point to blobs and other trees to build up directory hierarchies; and commits, which each reference a single tree and some number of parent commits.
pt_BR: O banco de dados do objeto contém os objetos dos tipos da árvore principal: bolhas, que contêm os dados do arquivo; árvores, que apontam para as bolhas e as outras árvores para criar as hierarquias do diretório; e os commits, cada qual faz referência a uma única árvore e algum número do commit do pai.

note: type: Plain text
en: The commit, equivalent to what other systems call a "changeset" or "version", represents a step in the project's history, and each parent represents an immediately preceding step.  Commits with more than one parent represent merges of independent lines of development.
pt_BR: O commit, equivalente ao que os outros sistemas chamam do "conjunto de alterações" ou "versão", representa uma etapa no histórico do projeto e cada pai representa uma etapa anterior.  Os commits com mais de um pai representam as mesclagens das linhas independentes do desenvolvimento.

note: type: Plain text
en: All objects are named by the SHA-1 hash of their contents, normally written as a string of 40 hex digits.  Such names are globally unique.  The entire history leading up to a commit can be vouched for by signing just that commit.  A fourth object type, the tag, is provided for this purpose.
pt_BR: Todos os objetos são nomeados pelo hash SHA-1 do seu conteúdo, normalmente gravados como uma sequência com 40 dígitos hexadecimais.  Tais nomes são globalmente únicos.  Todo o histórico que antecede a um commit pode ser comprovado assinando apenas este commit.  Um quarto tipo de objeto, a tag, é fornecida para esta finalidade.

note: type: Plain text
en: When first created, objects are stored in individual files, but for efficiency may later be compressed together into "pack files".
pt_BR: Quando criados pela primeira vez, os objetos são armazenados em arquivos individuais, porém, visando uma maior eficiência, podem ser compactados posteriormente em "pacotes de arquivos".

note: type: Plain text
en: Named pointers called refs mark interesting points in history.  A ref may contain the SHA-1 name of an object or the name of another ref.  Refs with names beginning `ref/head/` contain the SHA-1 name of the most recent commit (or "head") of a branch under development.  SHA-1 names of tags of interest are stored under `ref/tags/`.  A special ref named `HEAD` contains the name of the currently checked-out branch.
pt_BR: Os Ponteiros informados chamados refs marcam os pontos interessantes na história.  Uma "ref" pode conter o nome SHA-1 de um objeto ou o nome de outra referência.  As referências com nomes que comecem com `ref/head/` contêm o nome SHA-1 do commit (ou "head") mais recente de um ramo em desenvolvimento.  Os nomes SHA-1 das tags de interesse são armazenados em `ref/tags/`.  Uma referência especial chamada `HEAD` contém o nome da ramificação com a averiguação do momento.

note: type: Plain text
en: The index file is initialized with a list of all paths and, for each path, a blob object and a set of attributes.  The blob object represents the contents of the file as of the head of the current branch.  The attributes (last modified time, size, etc.) are taken from the corresponding file in the working tree.  Subsequent changes to the working tree can be found by comparing these attributes.  The index may be updated with new content, and new commits may be created from the content stored in the index.
pt_BR: O arquivo do índice é inicializado com uma lista de todos os caminhos e para cada caminho, um objeto bolha e um conjunto de atributos.  O objeto bolha representa o conteúdo do arquivo no cabeçalho do ramo atual.  Os atributos (hora da última alteração, tamanho, etc.) são obtidos do arquivo correspondente na árvore de trabalho.  As alterações subsequentes na árvore de trabalho podem ser encontradas comparando estes atributos.  O índice pode ser atualizado com um novo conteúdo e os novos commits podem ser criadas a partir do conteúdo armazenado no índice.

note: type: Plain text
en: The index is also capable of storing multiple entries (called "stages")  for a given pathname.  These stages are used to hold the various unmerged version of a file when a merge is in progress.
pt_BR: O índice também é capaz de armazenar as várias entradas (chamadas de "estágios") para um determinado nome do caminho.  Esses estágios são utilizados para manter as várias versões não mescladas de um arquivo quando uma mesclagem está em andamento.

note: type: Title -
en: FURTHER DOCUMENTATION
pt_BR: DOCUMENTAÇÃO ADICIONAL

note: type: Plain text
en: See the references in the "description" section to get started using Git.  The following is probably more detail than necessary for a first-time user.
pt_BR: Consulte as referências na seção "descrição" para começar a utilizar o Git.  O seguinte tem provavelmente bem mais detalhes do que o necessário para um usuário iniciante.

note: type: Plain text
en: The link:user-manual.html#git-concepts[Git concepts chapter of the user-manual] and linkgit:gitcore-tutorial[7] both provide introductions to the underlying Git architecture.
pt_BR: O link:user-manual.html#git-concepts[capítulo de conceitos do Git do manual do usuário] e o linkgit:gitcore-tutorial[7] fornecem introduções à arquitetura subjacente do Git.

note: type: Plain text
en: See linkgit:gitworkflows[7] for an overview of recommended workflows.
pt_BR: Para obter uma visão geral das recomendações do fluxo de trabalho, consulte linkgit:gitworkflows[7].

note: type: Plain text
en: See also the link:howto-index.html[howto] documents for some useful examples.
pt_BR: Para mais alguns exemplos úteis, consulte também o documento link:howto-index.html[howto].

note: type: Plain text
en: The internals are documented in the link:technical/api-index.html[Git API documentation].
pt_BR: As entranhas estão documentadas no link:technical/api-index.html[Documentação da API do Git].

note: type: Plain text
en: Users migrating from CVS may also want to read linkgit:gitcvs-migration[7].
pt_BR: Os usuários que estiverem migrando do CVS também podem querer ler linkgit:gitcvs-migration[7].

note: type: Title -
en: Authors
pt_BR: Autores

note: type: Plain text
en: Git was started by Linus Torvalds, and is currently maintained by Junio C Hamano. Numerous contributions have come from the Git mailing list <git@vger.kernel.org>.  http://www.openhub.net/p/git/contributors/summary gives you a more complete list of contributors.
pt_BR: O Git foi iniciado por Linus Torvalds e atualmente é mantido por Junio C Hamano. Várias contribuições vieram da lista de discussão do Git <git@vger.kernel.org>.  O http://www.openhub.net/p/git/contributors/summary fornece uma lista mais completa de todos os colaboradores.

note: type: Plain text
en: If you have a clone of git.git itself, the output of linkgit:git-shortlog[1] and linkgit:git-blame[1] can show you the authors for specific parts of the project.
pt_BR: Caso tenha um clone do 'git.git', a saída do linkgit:git-shortlog[1] e do linkgit:git-blame[1] pode exibir os autores para as partes específicas do projeto.

note: type: Title -
en: Reporting Bugs
pt_BR: Reportando um Erro

note: type: Plain text
en: Report bugs to the Git mailing list <git@vger.kernel.org> where the development and maintenance is primarily done.  You do not have to be subscribed to the list to send a message there.  See the list archive at https://lore.kernel.org/git for previous bug reports and other discussions.
pt_BR: Relate os erros na lista de discussão do Git <git@vger.kernel.org> onde o desenvolvimento e as principais manutenções são realizadas.  Você não precisa se inscrever na lista para enviar uma mensagem para lá.  Para os relatórios dos erros anteriores e outras discussões, consulte o arquivo da lista de discussão em https://lore.kernel.org/git.

note: type: Plain text
en: Issues which are security relevant should be disclosed privately to the Git Security mailing list <git-security@googlegroups.com>.
pt_BR: Os problemas relevantes para a segurança devem ser divulgadas em particular na mailing list do Git Security <git-security@googlegroups.com>.

note: type: Plain text
en: linkgit:gittutorial[7], linkgit:gittutorial-2[7], linkgit:giteveryday[7], linkgit:gitcvs-migration[7], linkgit:gitglossary[7], linkgit:gitcore-tutorial[7], linkgit:gitcli[7], link:user-manual.html[The Git User's Manual], linkgit:gitworkflows[7]
pt_BR: linkgit:gittutorial[7], linkgit:gittutorial-2[7], linkgit:giteveryday[7], linkgit:gitcvs-migration[7], linkgit:gitglossary[7], linkgit:gitcore-tutorial[7], linkgit:gitcli[7], link:user-manual.html[O Manual do Usuário do Git], linkgit:gitworkflows[7]

note: type: Plain text
en: git-unpack-file - Creates a temporary file with a blob's contents
pt_BR: git-unpack-file - Cria um arquivo temporário com o conteúdo de uma bolha

note: type: Plain text
en: 'git unpack-file' <blob>
pt_BR: 'git unpack-file' <bolha>

note: type: Plain text
en: Creates a file holding the contents of the blob specified by sha1. It
    returns the name of the temporary file in the following format:
    	.merge_file_XXXXX
pt_BR: Cria um arquivo que contenha o conteúdo da bolha definida através do sha1. isto
    retorna o nome do arquivo temporário com o seguinte formato:
    	.merge_file_XXXXX

note: type: Plain text
en: Must be a blob id
pt_BR: Deve ser um ID da bolha

note: type: Plain text
en: git-unpack-objects - Unpack objects from a packed archive
pt_BR: git-unpack-objects - Descompacte os objetos de um arquivo compactado

note: type: Plain text
en: Read a packed archive (.pack) from the standard input, expanding the objects contained within and writing them into the repository in "loose" (one object per file) format.
pt_BR: Leia um arquivo compactado (.pack) na entrada predefinido, expandindo os objetos armazenados e gravando-os no repositório no formato "loose" (um objeto por arquivo).

note: type: Plain text
en: Objects that already exist in the repository will *not* be unpacked from the packfile.  Therefore, nothing will be unpacked if you use this command on a packfile that exists within the target repository.
pt_BR: Os objetos que já existam no repositório *não* serão descompactados do pacote de arquivos.  Portanto, nada será descompactado caso use este comando em um pacote de arquivo existente no repositório do destino.

note: type: Plain text
en: See linkgit:git-repack[1] for options to generate new packs and replace existing ones.
pt_BR: Para as opções de geração de novos pacotes e reposição dos existentes, consulte linkgit:git-repack[1].

note: type: Plain text
en: Dry run.  Check the pack file without actually unpacking
pt_BR: Ensaio  Verifique o arquivo do pacote sem realmente descompactá-lo

note: type: Plain text
en: the objects.
pt_BR: os objetos.

note: type: Plain text
en: The command usually shows percentage progress.  This flag suppresses it.
pt_BR: O comando geralmente exibe o progresso percentual.  Esta opção a suprime.

note: type: Plain text
en: When unpacking a corrupt packfile, the command dies at the first corruption.  This flag tells it to keep going and make the best effort to recover as many objects as possible.
pt_BR: Ao descompactar um pacote corrompido, o comando termina na primeira corrupção.  Esta opção indica para continuar e fazer o melhor esforço para recuperar a maior quantidade possível de objetos.

note: type: Plain text
en: Don't write objects with broken content or links.
pt_BR: Não escreva os objetos com conteúdo ou links corrompidos.

note: type: Plain text
en: git-update-index - Register file contents in the working tree to the index
pt_BR: git-update-index - Registra o conteúdo do arquivo no índice da árvore de trabalho

note: type: Plain text
en: 'git update-index'
    	     [--add] [--remove | --force-remove] [--replace]
    	     [--refresh] [-q] [--unmerged] [--ignore-missing]
    	     [(--cacheinfo <mode>,<object>,<file>)...]
    	     [--chmod=(+|-)x]
    	     [--[no-]assume-unchanged]
    	     [--[no-]skip-worktree]
    	     [--[no-]ignore-skip-worktree-entries]
    	     [--[no-]fsmonitor-valid]
    	     [--ignore-submodules]
    	     [--[no-]split-index]
    	     [--[no-|test-|force-]untracked-cache]
    	     [--[no-]fsmonitor]
    	     [--really-refresh] [--unresolve] [--again | -g]
    	     [--info-only] [--index-info]
    	     [-z] [--stdin] [--index-version <n>]
    	     [--verbose]
    	     [--] [<file>...]
pt_BR: 'git update-index'
    	     [--add] [--remove | --force-remove] [--replace]
    	     [--refresh] [-q] [--unmerged] [--ignore-missing]
    	     [(--cacheinfo <modo>,<objeto>,<arquivo>)...]
    	     [--chmod=(+|-)x]
    	     [--[no-]assume-unchanged]
    	     [--[no-]skip-worktree]
    	     [--[no-]ignore-skip-worktree-entries]
    	     [--[no-]fsmonitor-valid]
    	     [--ignore-submodules]
    	     [--[no-]split-index]
    	     [--[no-|test-|force-]untracked-cache]
    	     [--[no-]fsmonitor]
    	     [--really-refresh] [--unresolve] [--again | -g]
    	     [--info-only] [--index-info]
    	     [-z] [--stdin] [--index-version <n>]
    	     [--verbose]
    	     [--] [<arquivo>...]

note: type: Plain text
en: Modifies the index or directory cache. Each file mentioned is updated into the index and any 'unmerged' or 'needs updating' state is cleared.
pt_BR: Modifica o cache do índice ou do diretório. Cada arquivo mencionado é atualizado no índice e qualquer condição 'unmerged' (não mesclado) ou que 'precise ser atualizado' será limpo.

note: type: Plain text
en: See also linkgit:git-add[1] for a more user-friendly way to do some of the most common operations on the index.
pt_BR: Consulte também linkgit:git-add[1] para conhecer uma maneira mais amigável ao usuário de executar algumas das operações mais comuns no índice.

note: type: Plain text
en: The way 'git update-index' handles files it is told about can be modified using the various options:
pt_BR: A maneira como o 'git update index' trata os arquivos mencionados pode ser alterada utilizando as várias opções:

note: type: Plain text
en: If a specified file isn't in the index already then it's added.  Default behaviour is to ignore new files.
pt_BR: Caso um arquivo que foi especificado ainda não esteja no índice, este será adicionado.  O comportamento predefinido é ignorar os novos arquivos.

note: type: Plain text
en: If a specified file is in the index but is missing then it's removed.  Default behavior is to ignore removed file.
pt_BR: Caso um arquivo especificado estiver no índice, porém esteja ausente, este será removido.  O comportamento predefinido é ignorar o arquivo que foi removido.

note: type: Plain text
en: Looks at the current index and checks to see if merges or updates are needed by checking stat() information.
pt_BR: Examina o índice atual e verifica se as mesclagens são necessárias ou atualizações, verificando as informações do stat().

note: type: Plain text
en: Quiet.  If --refresh finds that the index needs an update, the default behavior is to error out.  This option makes
pt_BR: Silêncio.  Caso a opção `--refresh` descobra que o índice precisa de uma atualização, o comportamento padrão é gerar um erro.  Esta opção faz

note: type: Plain text
en: 'git update-index' continue anyway.
pt_BR: 'git update-index' continue mesmo assim.

note: type: Plain text
en: Do not try to update submodules.  This option is only respected when passed before --refresh.
pt_BR: Não tente atualizar os submódulos.  Esta opção é respeitada apenas quando encaminhada antes da opção `--refresh`.

note: type: Plain text
en: If --refresh finds unmerged changes in the index, the default
pt_BR: Caso a opção `--refresh` encontre alterações não mescladas no índice, é a predefinição

note: type: Plain text
en: behavior is to error out.  This option makes 'git update-index'
pt_BR: o comportamento gerar um erro.  Está opção faz 'git update-index'

note: type: Plain text
en: continue anyway.
pt_BR: continue mesmo assim.

note: type: Plain text
en: Ignores missing files during a --refresh
pt_BR: Ignora os arquivos ausentes durante um `--refresh`

note: type: Labeled list
en: --cacheinfo <mode>,<object>,<path>
pt_BR: --cacheinfo <modo>,<objeto>,<caminho>

note: type: Labeled list
en: --cacheinfo <mode> <object> <path>
pt_BR: --cacheinfo <modo> <objeto> <caminho>

note: type: Plain text
en: Directly insert the specified info into the index.  For backward compatibility, you can also give these three arguments as three separate parameters, but new users are encouraged to use a single-parameter form.
pt_BR: Insira diretamente as informações definidas no índice.  Por questões de compatibilidade com as versões anteriores, também é possível utilizar estes três argumentos como três parâmetros separados, porém os novos usuários são incentivados a utilizar um formulário com um único parâmetro.

note: type: Plain text
en: Read index information from stdin.
pt_BR: Leia a informação do índice a partir do stdin.

note: type: Plain text
en: Set the execute permissions on the updated files.
pt_BR: Defina as permissões de execução nos arquivos atualizados.

note: type: Plain text
en: When this flag is specified, the object names recorded for the paths are not updated.  Instead, this option sets/unsets the "assume unchanged" bit for the paths.  When the "assume unchanged" bit is on, the user promises not to change the file and allows Git to assume that the working tree file matches what is recorded in the index.  If you want to change the working tree file, you need to unset the bit to tell Git.  This is sometimes helpful when working with a big project on a filesystem that has very slow lstat(2) system call (e.g. cifs).
pt_BR: Quando está opção é definida, os nomes dos objetos registrados para os caminhos não são atualizados.  Em vez disso, esta opção define/desativa o bit "assuma como inalterado" nos caminhos.  Quando o bit "assuma como inalterado" está ativado, o usuário promete não alterar o arquivo e permite que o Git assuma que o arquivo da árvore de trabalho coincida ao que está registrado no índice.  Caso queira alterar o arquivo da árvore de trabalho, informe ao Git desativando o bit.  Às vezes, isso é útil quando trabalhar com um grande projeto em um sistema de arquivos que possua uma chamada do sistema lstat(2) muito lenta (como, por exemplo, cifs).

note: type: Plain text
en: Git will fail (gracefully) in case it needs to modify this file in the index e.g. when merging in a commit; thus, in case the assumed-untracked file is changed upstream, you will need to handle the situation manually.
pt_BR: O Git falhará (de forma elegante) caso precise modificar este arquivo no índice, quando for mesclar em um commit por exemplo; portanto, caso o arquivo assumido não monitorado seja alterado na upstream, você precisará lidar com a situação de forma manual.

note: type: Plain text
en: Like `--refresh`, but checks stat information unconditionally, without regard to the "assume unchanged" setting.
pt_BR: Como a opção `--refresh`, porém verifica as informações das estatísticas incondicionalmente, sem considerar a configuração "assuma como inalterado".

note: type: Plain text
en: When one of these flags is specified, the object name recorded for the paths are not updated. Instead, these options set and unset the "skip-worktree" bit for the paths. See section "Skip-worktree bit" below for more information.
pt_BR: Quando uma destas opções é utilizada, o nome do objeto registrado para os caminhos não é atualizado. Em vez disso, estas opções definem e desabilitam o bit "skip-worktree" (ignore a árvore de trabalho) dos caminhos. Para mais informações, consulte a seção "Skip-worktree bit" abaixo.

note: type: Plain text
en: Do not remove skip-worktree (AKA "index-only") entries even when the `--remove` option was specified.
pt_BR: Não remova o 'skip-worktree' (também informado como "index-only"), mesmo quando a opção `--remove` for utilizada.

note: type: Plain text
en: When one of these flags is specified, the object name recorded for the paths are not updated. Instead, these options set and unset the "fsmonitor valid" bit for the paths. See section "File System Monitor" below for more information.
pt_BR: Quando uma destas opções é utilizada, o nome do objeto registrado para os caminhos não é atualizado. Em vez disso, essas opções definem e desabilitam o bit "fsmonitor valid" (fsmonitor válido) para os caminhos. Para mais informações, consulte a seção "Monitor do Sistema de Arquivos" abaixo.

note: type: Plain text
en: Runs 'git update-index' itself on the paths whose index entries are different from those from the `HEAD` commit.
pt_BR: Executa o próprio comando 'git update index' nos caminhos cujas entradas do índice sejam diferentes daquelas do commit `HEAD`.

note: type: Plain text
en: Restores the 'unmerged' or 'needs updating' state of a file during a merge if it was cleared by accident.
pt_BR: Restaura a condição 'unmerged' (não mesclado) ou 'needs updating' (precisa ser atualizado) de um arquivo, durante uma mesclagem caso ele tenha sudo eliminado por engano.

note: type: Plain text
en: Do not create objects in the object database for all <file> arguments that follow this flag; just insert their object IDs into the index.
pt_BR: Não crie os objetos no banco de dados dos objetos para todos os argumentos <arquivo> que seguem esta opção; basta inserir os seus IDs do objeto no índice.

note: type: Plain text
en: Remove the file from the index even when the working directory still has such a file. (Implies --remove.)
pt_BR: Remova o arquivo do índice, mesmo quando o diretório ativo ainda tenha tal arquivo. (Implica no uso da opção `--remove`.)

note: type: Plain text
en: By default, when a file `path` exists in the index, 'git update-index' refuses an attempt to add `path/file`.  Similarly if a file `path/file` exists, a file `path` cannot be added.  With --replace flag, existing entries that conflict with the entry being added are automatically removed with warning messages.
pt_BR: É predefinido que quando um arquivo `path` exista no índice, o comando 'git update-index' recusa uma tentativa de adicionar ao `path/file`.  Da mesma forma, caso exista um arquivo `path/file`, um arquivo `path` não poderá ser adicionado.  Com a opção `--replace`, serão removidas automaticamente e com mensagens de aviso todos os lançamentos já existentes que entrem em conflito com o lançamento que está sendo adicionado.

note: type: Plain text
en: Report what is being added and removed from index.
pt_BR: Relate o que está sendo adicionado e removido do índice.

note: type: Plain text
en: Write the resulting index out in the named on-disk format version.  Supported versions are 2, 3 and 4. The current default version is 2 or 3, depending on whether extra features are used, such as `git add -N`.
pt_BR: Escreva o índice resultante na versão informada no formato do disco.  As versões compatíveis são 2, 3 e 4. A versão predefinida atualmente é 2 ou 3, dependendo dos recursos extras que serão utilizados, como `git add -N`.

note: type: Plain text
en: Version 4 performs a simple pathname compression that reduces index size by 30%-50% on large repositories, which results in faster load time. Version 4 is relatively young (first released in 1.8.0 in October 2012). Other Git implementations such as JGit and libgit2 may not support it yet.
pt_BR: A versão 4 executa uma compactação do nome do caminho simples que reduz o tamanho do índice em 30%-50% nos repositórios grandes, o que resulta em um tempo de carregamento mais rápido. A versão 4 é relativamente mais nova (lançada pela primeira vez na versão 1.8.0 em outubro de 2012). As outras implementações do Git, como 'JGit' e 'libgit2', ainda não são compatíveis.

note: type: Plain text
en: Only meaningful with `--stdin` or `--index-info`; paths are separated with NUL character instead of LF.
pt_BR: Só faz algum sentido se for utilizado com `--stdin` or `--index-info`; os caminhos são separados com caracteres `NUL` em vez de `LF`.

note: type: Plain text
en: Enable or disable split index mode. If split-index mode is already enabled and `--split-index` is given again, all changes in $GIT_DIR/index are pushed back to the shared index file.
pt_BR: Ativar ou desativar o modo com o índice dividido. Se o modo com índice dividido já estiver ativado e a opção `--split-index` for utilizada novamente, todas as alterações no `$GIT_DIR/index` serão retornadas ao arquivo do índice compartilhado.

note: type: Plain text
en: These options take effect whatever the value of the `core.splitIndex` configuration variable (see linkgit:git-config[1]). But a warning is emitted when the change goes against the configured value, as the configured value will take effect next time the index is read and this will remove the intended effect of the option.
pt_BR: Estas opções entram em vigor independente de quer configuração da variável existente no `core.splitIndex` (consulte linkgit:git-config[1]). Porém um aviso é emitido quando a alteração vai contra o valor configurado pois o valor configurado apenas entrará em vigor na próxima vez que o índice for lido, removendo o efeito pretendido da opção.

note: type: Plain text
en: Enable or disable untracked cache feature. Please use `--test-untracked-cache` before enabling it.
pt_BR: Ative ou desative o recurso de cache não rastreado. Antes de ativar utilize `--test-untracked-cache`.

note: type: Plain text
en: These options take effect whatever the value of the `core.untrackedCache` configuration variable (see linkgit:git-config[1]). But a warning is emitted when the change goes against the configured value, as the configured value will take effect next time the index is read and this will remove the intended effect of the option.
pt_BR: Estas opções entram em vigor independente de quer configuração da variável existente no `core.untrackedCache` (consulte linkgit:git-config[1]). Porém um aviso é emitido quando a alteração vai contra o valor configurado pois o valor configurado apenas entrará em vigor na próxima vez que o índice for lido, removendo o efeito pretendido da opção.

note: type: Plain text
en: Only perform tests on the working directory to make sure untracked cache can be used. You have to manually enable untracked cache using `--untracked-cache` or `--force-untracked-cache` or the `core.untrackedCache` configuration variable afterwards if you really want to use it. If a test fails the exit code is 1 and a message explains what is not working as needed, otherwise the exit code is 0 and OK is printed.
pt_BR: Execute apenas os testes no diretório ativo para garantir que o cache não monitorado possa ser utilizado. Você deve habilitar manualmente o cache não monitorado utilizando a opção `--untracked-cache` ou `--force-untracked-cache` ou a variável de configuração `core.untrackedCache` posteriormente, caso realmente queira utilizá-lo. Caso um teste falhe, o código de encerramento gerado é '1' e uma mensagem explica o que não está funcionando, conforme necessário, caso contrário, o código de encerramento é '0' e um 'OK' é impresso.

note: type: Plain text
en: Same as `--untracked-cache`. Provided for backwards compatibility with older versions of Git where `--untracked-cache` used to imply `--test-untracked-cache` but this option would enable the extension unconditionally.
pt_BR: O mesmo que `--untracked-cache`. Fornece compatibilidade retroativa com as versões mais antigas do Git, onde `--untracked-cache` costumava implicar com a opção `--test-untracked-cache`, porém esta opção ativaria a extensão incondicionalmente.

note: type: Plain text
en: Enable or disable files system monitor feature. These options take effect whatever the value of the `core.fsmonitor` configuration variable (see linkgit:git-config[1]). But a warning is emitted when the change goes against the configured value, as the configured value will take effect next time the index is read and this will remove the intended effect of the option.
pt_BR: Ativar ou desativar o recurso de monitoramento do sistema de arquivos. Estas opções entram em vigor independente de quer configuração da variável existente no `core.fsmonitor` (consulte linkgit:git-config[1]). Porém um aviso é emitido quando a alteração vai contra o valor configurado pois o valor configurado apenas entrará em vigor na próxima vez que o índice for lido, removendo o efeito pretendido da opção.

note: type: Plain text
en: Files to act on.  Note that files beginning with '.' are discarded. This includes `./file` and `dir/./file`. If you don't want this, then use cleaner names.  The same applies to directories ending '/' and paths with '//'
pt_BR: Arquivos para agir.  Observe que os arquivos que começam com '.' são descartados. Isso inclui `./arquivo` e `dir/./arquivo`. Caso não queira isso, utilize nomes mais limpos.  O mesmo se aplica aos diretórios que terminam com '/' e aos caminhos com '//'

note: type: Title -
en: USING --REFRESH
pt_BR: USANDO A OPÇÃO --REFRESH

note: type: Plain text
en: `--refresh` does not calculate a new sha1 file or bring the index up to date for mode/content changes. But what it *does* do is to "re-match" the stat information of a file with the index, so that you can refresh the index for a file that hasn't been changed but where the stat entry is out of date.
pt_BR: A opção `--refresh` não calcula um novo arquivo sha1 ou atualiza o índice para as alterações do modo/conteúdo. Porém o que é *feito* é "repetir a coincidência" das informações estatísticas de um arquivo ao índice, para que você possa atualizar o índice de um arquivo que não foi alterado, porém onde a entrada da estatísticas esteja desatualizada.

note: type: Plain text
en: For example, you'd want to do this after doing a 'git read-tree', to link up the stat index details with the proper files.
pt_BR: Como por exemplo, você gostaria de fazer isso depois de fazer um comando `git read-tree`, para vincular os detalhes do índice estatístico aos arquivos adequados.

note: type: Title -
en: USING --CACHEINFO OR --INFO-ONLY
pt_BR: USANDO AS OPÇÕES --CACHEINFO OU --INFO-ONLY

note: type: Plain text
en: `--cacheinfo` is used to register a file that is not in the current working directory.  This is useful for minimum-checkout merging.
pt_BR: A opção `--cacheinfo` é usada para registrar um arquivo que não está no diretório de trabalho atual.  É útil para mesclar a averiguação mínima.

note: type: Plain text
en: To pretend you have a file at path with mode and sha1, say:
pt_BR: Para fingir que você tem um arquivo no caminho com modo e o sha1, use:

note: type: delimited block -
en: $ git update-index --add --cacheinfo <mode>,<sha1>,<path>
pt_BR: $ git update-index --add --cacheinfo <modo>,<sha1>,<caminho>

note: type: Plain text
en: `--info-only` is used to register files without placing them in the object database.  This is useful for status-only repositories.
pt_BR: A opção `--info-only` é usado para registrar os arquivos sem colocá-los no banco de dados do objeto.  É útil apenas para os repositórios "condição-apenas".

note: type: Plain text
en: Both `--cacheinfo` and `--info-only` behave similarly: the index is updated but the object database isn't.  `--cacheinfo` is useful when the object is in the database but the file isn't available locally.  `--info-only` is useful when the file is available, but you do not wish to update the object database.
pt_BR: Ambos os `--cacheinfo` e o `--info-only` se comportam da mesma maneira: o índice é atualizado, porém o banco de dados dos objetos não.  A opção `--cacheinfo` é útil quando o objeto está no banco de dados, porém o arquivo não está disponível localmente.  A opção `--info-only` é útil quando o arquivo está disponível, porém você não queira atualizar o banco de dados do objeto.

note: type: Title -
en: USING --INDEX-INFO
pt_BR: USANDO A OPÇÃO --INDEX-INFO

note: type: Plain text
en: `--index-info` is a more powerful mechanism that lets you feed multiple entry definitions from the standard input, and designed specifically for scripts.  It can take inputs of three formats:
pt_BR: A opção `--index-info` é um mecanismo mais poderoso que permite alimentar as várias definições da entrada a partir da entrada padrão e projetada especificamente para o uso com scripts.  Pode receber as entradas de três formatos:

note: type: Plain text
en: This format is to stuff `git ls-tree` output into the index.
pt_BR: Este formato serve para colocar a saída `git ls-tree` no índice.

note: type: Plain text
en: This format is to put higher order stages into the index file and matches 'git ls-files --stage' output.
pt_BR: Este formato serve para colocar os estágios na ordem superior do arquivo no índice e coincide à saída do `git ls-files --stage`.

note: type: Plain text
en: This format is no longer produced by any Git command, but is and will continue to be supported by `update-index --index-info`.
pt_BR: Este formato não é mais gerado por nenhum comando Git, mas é e continuará sendo compatível através do comando `update-index --index-info`.

note: type: Plain text
en: To place a higher stage entry to the index, the path should first be removed by feeding a mode=0 entry for the path, and then feeding necessary input lines in the third format.
pt_BR: Para colocar um estágio de lançamento com prioridade mais alta ao índice, o caminho primeiro deve ser removido ao utilizar `mode=0` para o caminho e em seguida alimentando as linhas necessárias da entrada ao terceiro formato.

note: type: Plain text
en: For example, starting with this index:
pt_BR: Como por exemplo, começando com este índice:

note: type: Plain text
en: you can feed the following input to `--index-info`:
pt_BR: você pode alimentar a seguinte entrada para `--index-info`:

note: type: Plain text
en: The first line of the input feeds 0 as the mode to remove the path; the SHA-1 does not matter as long as it is well formatted.  Then the second and third line feeds stage 1 and stage 2 entries for that path.  After the above, we would end up with this:
pt_BR: A primeira linha da entrada alimenta 0 como sendo o modo para remover o caminho; o SHA-1 não é importante, desde que esteja bem formatado.  Em seguida, a segunda e a terceira linha alimentam as entradas 'stage 1' e o 'stage 2' para este caminho.  Após o exposto, acabaríamos assim:

note: type: Title -
en: USING ``ASSUME UNCHANGED'' BIT
pt_BR: UTILIZANDO O BIT ``ASSUME UNCHANGED''

note: type: Plain text
en: Many operations in Git depend on your filesystem to have an efficient `lstat(2)` implementation, so that `st_mtime` information for working tree files can be cheaply checked to see if the file contents have changed from the version recorded in the index file.  Unfortunately, some filesystems have inefficient `lstat(2)`.  If your filesystem is one of them, you can set "assume unchanged" bit to paths you have not changed to cause Git not to do this check.  Note that setting this bit on a path does not mean Git will check the contents of the file to see if it has changed -- it makes Git to omit any checking and assume it has *not* changed.  When you make changes to working tree files, you have to explicitly tell Git about it by dropping "assume unchanged" bit, either before or after you modify them.
pt_BR: Muitas operações no Git dependem do seu sistema de arquivos para ter uma implementação eficiente `lstat(2)`, de modo que as informações `st_mtime` para os arquivos da árvore de trabalho possam ser averiguadas com menos custo para ver se o conteúdo do arquivo foi alterado em relação à versão registrada no arquivo do índice.  Infelizmente, alguns sistemas de arquivos têm um `lstat(2)` ineficiente.  Caso o seu sistema de arquivos seja um deles, é possível definir o bit "assuma como inalterado" para os caminhos que não foram alterados, fazendo com que o Git não faça essa verificação.  Observe que definir este bit em um caminho não significa que o Git verificará o conteúdo do arquivo para ver se ele foi alterado -- le faz com que o Git omita qualquer verificação e presuma que ele não foi alterado.  Quando você faz alterações nos arquivos da árvore de trabalho, é preciso informar ao Git de forma explicita, removendo o bit "assuma como inalterado", antes ou depois de modificá-los.

note: type: Plain text
en: In order to set "assume unchanged" bit, use `--assume-unchanged` option.  To unset, use `--no-assume-unchanged`. To see which files have the "assume unchanged" bit set, use `git ls-files -v` (see linkgit:git-ls-files[1]).
pt_BR: Para definir o bit "assume unchanged" (assuma como inalterado), utilize a opção `--assume-unchanged`.  Para remover a definição utilize `--no-assume-unchanged`. Para ver quais os arquivos tem o bit "assume unchanged" definido, utilize `git ls-files -v` (consulte linkgit:git-ls-files[1]).

note: type: Plain text
en: The command looks at `core.ignorestat` configuration variable.  When this is true, paths updated with `git update-index paths...` and paths updated with other Git commands that update both index and working tree (e.g. 'git apply --index', 'git checkout-index -u', and 'git read-tree -u') are automatically marked as "assume unchanged".  Note that "assume unchanged" bit is *not* set if `git update-index --refresh` finds the working tree file matches the index (use `git update-index --really-refresh` if you want to mark them as "assume unchanged").
pt_BR: O comando analisa a variável de configuração `core.ignorestat`.  Quando for 'true', os caminhos são atualizados com o comando `git update-index paths...` e os caminhos são atualizados com outros comandos Git que atualizam o índice e a árvore de trabalho (como, por exemplo, o 'git apply --index', 'git checkout-index -u' e o 'git read-tree -u') são marcados automaticamente com o bit "assuma como inalterado".  Observe que o bit "assuma como inalterado" *não* está definido caso o comando `git update-index --refresh` encontre o arquivo da árvore de trabalho que coincida com o índice (utilize o `git update-index --really-refresh` caso queira marcá-los com o bit "assuma como inalterado").

note: type: Plain text
en: To update and refresh only the files already checked out:
pt_BR: Para atualizar e renovar apenas os arquivos já averiguados:

note: type: Labeled list
en: On an inefficient filesystem with `core.ignorestat` set
pt_BR: Em um sistema de arquivos ineficiente com o a opção da configuração `core.ignorestat` definida

note: type: Plain text
en: forces lstat(2) to set "assume unchanged" bits for paths that match index.
pt_BR: impõem ao lstat(2) que defina os bits "assuma como inalterado" para os caminhos que coincidam com o índice.

note: type: Plain text
en: mark the path to be edited.
pt_BR: marque o caminho que será editado.

note: type: Plain text
en: this does lstat(2) and finds index matches the path.
pt_BR: assim faz o lstat(1) e encontra o índice que coincida com o caminho.

note: type: Plain text
en: this does lstat(2) and finds index does *not* match the path.
pt_BR: assim faz o lstat(2) e encontra o índice que *não* coincida com o caminho.

note: type: Plain text
en: registering the new version to index sets "assume unchanged" bit.
pt_BR: registrando uma nova versão nos conjuntos dos índices do bit "assuma como inalterado".

note: type: Plain text
en: and it is assumed unchanged.
pt_BR: e é assumido como inalterado.

note: type: Plain text
en: even after you edit it.
pt_BR: mesmo depois que você o edite.

note: type: Plain text
en: you can tell about the change after the fact.
pt_BR: você pode contar sobre a alteração após o fato.

note: type: Plain text
en: now it checks with lstat(2) and finds it has been changed.
pt_BR: agora verifica com lstat(2) e descobre o que foi alterado.

note: type: Plain text
en: Skip-worktree bit can be defined in one (long) sentence: When reading an entry, if it is marked as skip-worktree, then Git pretends its working directory version is up to date and read the index version instead.
pt_BR: Skip-worktree bit (o bit que ignora a árvore de trabalho) pode ser definido com uma sentença (longa): Ao ler uma entrada, caso esteja marcado com 'skip-work-tree', então o Git finge que a versão do diretório de trabalho está atualizada e em vez disso, lê a versão do índice.

note: type: Plain text
en: To elaborate, "reading" means checking for file existence, reading file attributes or file content. The working directory version may be present or absent. If present, its content may match against the index version or not. Writing is not affected by this bit, content safety is still first priority. Note that Git _can_ update working directory file, that is marked skip-worktree, if it is safe to do so (i.e.  working directory version matches index version)
pt_BR: Para elaborar, "ler" significa verificar a existência do arquivo, ler os atributos ou o conteúdo do mesmo. A versão do diretório de trabalho pode estar presente ou não. Caso esteja, o seu conteúdo pode coincidir à versão do índice ou não. A escrita não é afetada por este bit, a segurança do conteúdo ainda é a primeira prioridade. Observe que o Git _pode_ atualizar o arquivo do diretório de trabalho, marcado como 'skip-worktree' (ignore a árvore de trabalho), caso seja seguro fazê-lo (como, por exemplo, se a versão do diretório de trabalho coincide com à versão do índice)

note: type: Plain text
en: Although this bit looks similar to assume-unchanged bit, its goal is different from assume-unchanged bit's. Skip-worktree also takes precedence over assume-unchanged bit when both are set.
pt_BR: Embora esse bit pareça com o bit assumido como inalterado, o seu objetivo é diferente dos bits que são assumidos como inalterados. Skip-worktree também tem precedência sobre o bit assumido como inalterado quando ambos estão definidos.

note: type: Title -
en: SPLIT INDEX
pt_BR: ÍNDICE DIVIDIDO

note: type: Plain text
en: This mode is designed for repositories with very large indexes, and aims at reducing the time it takes to repeatedly write these indexes.
pt_BR: Este modo é projetado para repositórios com índices muito grandes e visa reduzir o tempo necessário para gravar repetidamente tais índices.

note: type: Plain text
en: In this mode, the index is split into two files, $GIT_DIR/index and $GIT_DIR/sharedindex.<SHA-1>. Changes are accumulated in $GIT_DIR/index, the split index, while the shared index file contains all index entries and stays unchanged.
pt_BR: Nesse modo, o índice é dividido em dois arquivos, `$GIT_DIR/index` e `$GIT_DIR/sharedindex.<SHA-1>`. As alterações são acumuladas no `$GIT_DIR/index`, o índice dividido, enquanto o arquivo do índice compartilhado contém todas os lançamentos no índice e permanece inalterado.

note: type: Plain text
en: All changes in the split index are pushed back to the shared index file when the number of entries in the split index reaches a level specified by the splitIndex.maxPercentChange config variable (see linkgit:git-config[1]).
pt_BR: Todas as alterações feitas índice que foi dividido são retornadas ao arquivo do índice compartilhado quando a quantidade de entradas no índice atinge um nível especificado através da variável de configuração `splitIndex.maxPercentChange` (consulte linkgit:git-config[1]).

note: type: Plain text
en: Each time a new shared index file is created, the old shared index files are deleted if their modification time is older than what is specified by the splitIndex.sharedIndexExpire config variable (see linkgit:git-config[1]).
pt_BR: Sempre que um novo arquivo do índice compartilhado for criado, os arquivos do índice antigos que foram compartilhados são excluídos caso o tempo de alteração seja mais antigo do que o definido pela variável de configuração `splitIndex.sharedIndexExpire` (consulte linkgit:git-config[1]).

note: type: Plain text
en: To avoid deleting a shared index file that is still used, its modification time is updated to the current time every time a new split index based on the shared index file is either created or read from.
pt_BR: Para evitar a exclusão de um arquivo do índice compartilhado que ainda esteja em uso, o seu horário de modificação é atualizado para o horário atual sempre que um novo índice dividido tiver como base o arquivo do índice compartilhado seja criado ou lido.

note: type: Title -
en: UNTRACKED CACHE
pt_BR: CACHE NÃO MONITORADO

note: type: Plain text
en: This cache is meant to speed up commands that involve determining untracked files such as `git status`.
pt_BR: Esse cache destina-se a acelerar os comandos que envolvem a determinação dos arquivos não monitorados, como o `git status`.

note: type: Plain text
en: This feature works by recording the mtime of the working tree directories and then omitting reading directories and stat calls against files in those directories whose mtime hasn't changed. For this to work the underlying operating system and file system must change the `st_mtime` field of directories if files in the directory are added, modified or deleted.
pt_BR: Esse recurso funciona gravando o 'mtime' dos diretórios da árvore de trabalho e em seguida, omitindo a leitura dos diretórios e as chamadas da condição nos arquivos dos diretórios cujo 'mtime' não tenha sido alterado. Para que isso funcione, o sistema operacional e o sistema de arquivos subjacentes devem alterar o campo do diretório `st_mtime` caso os arquivos no diretório forem adicionados, modificados ou excluídos.

note: type: Plain text
en: You can test whether the filesystem supports that with the `--test-untracked-cache` option. The `--untracked-cache` option used to implicitly perform that test in older versions of Git, but that's no longer the case.
pt_BR: Você pode testar se o sistema de arquivos é compatível com a opção `--test-untracked-cache`. A opção `--untracked-cache` usada para executar este teste de forma implícita nas versões mais antigas do Git, porém este não é mais o caso.

note: type: Plain text
en: If you want to enable (or disable) this feature, it is easier to use the `core.untrackedCache` configuration variable (see linkgit:git-config[1]) than using the `--untracked-cache` option to `git update-index` in each repository, especially if you want to do so across all repositories you use, because you can set the configuration variable to `true` (or `false`) in your `$HOME/.gitconfig` just once and have it affect all repositories you touch.
pt_BR: Caso queira ativar (ou desativar) este recurso, é mais fácil utilizar a variável de configuração `core.untrackedCache` (consulte linkgit:git-config[1]) do que utilizar a opção `--untracked-cache` para o comando `git update-index` em cada repositório, especialmente se você quiser fazê-lo em todos os repositórios que você utiliza, pois é possível definir a variável de configuração como `true` (ou `false`) no seu `$HOME/.gitconfig` apenas uma vez e afetar todos os repositórios que você toque.

note: type: Plain text
en: When the `core.untrackedCache` configuration variable is changed, the untracked cache is added to or removed from the index the next time a command reads the index; while when `--[no-|force-]untracked-cache` are used, the untracked cache is immediately added to or removed from the index.
pt_BR: Quando a variável de configuração `core.untrackedCache` é alterada, o cache não monitorado é adicionado ou removido do índice da próxima vez que um comando lê o índice; enquanto quando `--[no-|force-]untracked-cache` são utilizados, o cache não monitorado é imediatamente adicionado ou removido do índice.

note: type: Plain text
en: Before 2.17, the untracked cache had a bug where replacing a directory with a symlink to another directory could cause it to incorrectly show files tracked by git as untracked. See the "status: add a failing test showing a core.untrackedCache bug" commit to git.git. A workaround for that is (and this might work for other undiscovered bugs in the future):
pt_BR: Antes da versão 2.17, o cache não monitorado apresentava um erro, ao substituir um diretório por um link simbólico para outro diretório, fazendo com que ele mostrasse de forma incorreta os arquivos monitorados pelo git como não monitorados. Consulte o "status: adicione um teste com falha mostrando um bug core.untrackedCache" commit com git.git. Uma solução alternativa para isso é (e isso pode funcionar para os outros erros que ainda não foram descobertos no futuro):

note: type: Plain text
en: This bug has also been shown to affect non-symlink cases of replacing a directory with a file when it comes to the internal structures of the untracked cache, but no case has been reported where this resulted in wrong "git status" output.
pt_BR: Também foi demonstrado que este 'bug' afeta os casos sem um link simbólico na reposição de um diretório por um arquivo quando se trata das estruturas internas do cache não monitorado, porém nenhum caso foi relatado onde isso tenha resultado na saída incorreta do comando "git status".

note: type: Plain text
en: There are also cases where existing indexes written by git versions before 2.17 will reference directories that don't exist anymore, potentially causing many "could not open directory" warnings to be printed on "git status". These are new warnings for existing issues that were previously silently discarded.
pt_BR: Também existem os casos onde os índices existentes escritos pelas versões do git anteriores a versão 2.17 referenciarem os diretórios que não existem mais, potencialmente fazendo com que muitos avisos de "não foi possível abrir o diretório" sejam impressos durante a execução do comando "git status". Estes são os novos avisos para problemas existentes que foram descartados anteriormente sem qualquer aviso prévio.

note: type: Plain text
en: As with the bug described above the solution is to one-off do a "git status" run with `core.untrackedCache=false` to flush out the leftover bad data.
pt_BR: Assim como no bug descrito acima, a solução é executar um "status git" único com `core.untrackedCache=false` para liberar os dados ruins restantes.

note: type: Title -
en: FILE SYSTEM MONITOR
pt_BR: MONITOR DO SISTEMA DE ARQUIVOS

note: type: Plain text
en: This feature is intended to speed up git operations for repos that have large working directories.
pt_BR: Este recurso visa acelerar as operações do git para os repositórios que possuem grandes diretórios de trabalho.

note: type: Plain text
en: It enables git to work together with a file system monitor (see the "fsmonitor-watchman" section of linkgit:githooks[5]) that can inform it as to what files have been modified. This enables git to avoid having to lstat() every file to find modified files.
pt_BR: Ele permite que o git trabalhe em conjunto com um monitor do sistema de arquivos (consulte a seção "fsmonitor-watchman" do linkgit:githooks[5]) que pode informá-lo sobre quais os arquivos foram alterados. Isso permite que o git evite ter que fazer um 'lstat()' em todo arquivo para localizar quais arquivos foram modificados.

note: type: Plain text
en: When used in conjunction with the untracked cache, it can further improve performance by avoiding the cost of scanning the entire working directory looking for new files.
pt_BR: Quando usado em conjunto com o cache não monitorado, pode melhorar ainda mais o desempenho, evitando o custo de varrer todo o diretório ativo à procura de novos arquivos.

note: type: Plain text
en: If you want to enable (or disable) this feature, it is easier to use the `core.fsmonitor` configuration variable (see linkgit:git-config[1]) than using the `--fsmonitor` option to `git update-index` in each repository, especially if you want to do so across all repositories you use, because you can set the configuration variable in your `$HOME/.gitconfig` just once and have it affect all repositories you touch.
pt_BR: Caso queira ativar (ou desativar) este recurso, é mais fácil utilizar a variável de configuração `core.fsmonitor` (consulte linkgit:git-config[1]) do que utilizar a opção `--fsmonitor` para o comando `git update-index` em cada repositório, especialmente se você quiser fazê-lo em todos os repositórios que você utiliza, pois é possível definir a variável de configuração no seu `$HOME/.gitconfig` apenas uma vez e afetar todos os repositórios que você toque.

note: type: Plain text
en: When the `core.fsmonitor` configuration variable is changed, the file system monitor is added to or removed from the index the next time a command reads the index. When `--[no-]fsmonitor` are used, the file system monitor is immediately added to or removed from the index.
pt_BR: Quando a variável de configuração `core.fsmonitor` é alterada, o monitor do sistema de arquivos é adicionado ou removido do índice na próxima vez que um comando leia o índice. Quando `--[no-]fsmonitor` é usado, o monitor do sistema de arquivos é imediatamente adicionado ou removido do índice.

note: type: Plain text
en: The command honors `core.filemode` configuration variable.  If
    your repository is on a filesystem whose executable bits are
    unreliable, this should be set to 'false' (see linkgit:git-config[1]).
    This causes the command to ignore differences in file modes recorded
    in the index and the file mode on the filesystem if they differ only on
    executable bit.   On such an unfortunate filesystem, you may
    need to use 'git update-index --chmod='.
pt_BR: O comando honra a variável de configuração `core.filemode`.  Defina como 'false'
    caso o seu repositório esteja em um sistema de arquivos cujos bits
    dos executáveis não sejam confiáveis (consulte linkgit:git-config[1]).
    Isso faz com que o comando ignore as diferenças nos modos do arquivo registrados
    no índice e no modo do arquivo do sistema de arquivos caso eles divirjam apenas
    no bit executável.   Em um sistema de arquivos tão infeliz, talvez seja
    necessário usar o comando 'git update-index --chmod ='.

note: type: Plain text
en: Quite similarly, if `core.symlinks` configuration variable is set to 'false' (see linkgit:git-config[1]), symbolic links are checked out as plain files, and this command does not modify a recorded file mode from symbolic link to regular file.
pt_BR: De maneira semelhante, caso a variável de configuração `core.symlinks` esteja definida como 'false' (consulte linkgit:git-config[1]) os links simbólicos serão verificados como arquivos simples e esse comando não modificará o modo de gravação do arquivo vindo de link simbólico para um arquivo regular.

note: type: Plain text
en: The command looks at `core.ignorestat` configuration variable.  See 'Using "assume unchanged" bit' section above.
pt_BR: O comando analisa a variável de configuração `core.ignorestat`.  Consulte a seção 'Usando o bit "assuma como inalterado"' acima.

note: type: Plain text
en: The command also looks at `core.trustctime` configuration variable.  It can be useful when the inode change time is regularly modified by something outside Git (file system crawlers and backup systems use ctime for marking files processed) (see linkgit:git-config[1]).
pt_BR: O comando também analisa a variável de configuração `core.trustctime`.  Pode ser útil quando o tempo da alteração do "inode" for alterado regularmente por algo fora do Git (os rastreadores do sistema dos arquivos e os sistemas de backup utilizam o "ctime" para marcar os arquivos que forem processados) (consulte linkgit:git-config[1]).

note: type: Plain text
en: The untracked cache extension can be enabled by the `core.untrackedCache` configuration variable (see linkgit:git-config[1]).
pt_BR: A extensão do cache não rastreado pode ser ativado através da configuração de variável `core.untrackedCache` (consulte linkgit:git-config[1]).

note: type: Plain text
en: Users often try to use the assume-unchanged and skip-worktree bits to tell Git to ignore changes to files that are tracked.  This does not work as expected, since Git may still check working tree files against the index when performing certain operations.  In general, Git does not provide a way to ignore changes to tracked files, so alternate solutions are recommended.
pt_BR: Os usuários geralmente tentam usar os bits "assuma como inalterado" e ignoram a árvore de trabalho para dizer ao Git para ignorar as alterações nos arquivos monitorados.  Isso não funciona conforme o esperado, pois o Git ainda pode verificar os arquivos da árvore de trabalho em relação ao índice durante a execução de determinadas operações.  Em geral, o Git não fornece uma maneira de ignorar as alterações nos arquivos monitorados, portanto, as soluções alternativas são recomendadas.

note: type: Plain text
en: For example, if the file you want to change is some sort of config file, the repository can include a sample config file that can then be copied into the ignored name and modified.  The repository can even include a script to treat the sample file as a template, modifying and copying it automatically.
pt_BR: Como por exemplo, caso o arquivo que você deseja alterar seja algum tipo de arquivo de configuração, o repositório poderá incluir um arquivo de configuração de amostra que poderá ser copiado no nome que foi ignorado e modificado.  O repositório pode até incluir um script para tratar o arquivo de amostra como um modelo, modificando e copiando-o automaticamente.

note: type: Plain text
en: git-update-ref - Update the object name stored in a ref safely
pt_BR: git-update-ref - Atualize o nome do objeto armazenado em uma "ref" com segurança

note: type: Plain text
en: 'git update-ref' [-m <reason>] [--no-deref] (-d <ref> [<oldvalue>] | [--create-reflog] <ref> <newvalue> [<oldvalue>] | --stdin [-z])
pt_BR: 'git update-ref' [-m <motivo>] [--no-deref] (-d <ref> [<valorantigo>] | [--create-reflog] <ref> <novovalor> [<valorantigo>] | --stdin [-z])

note: type: Plain text
en: Given two arguments, stores the <newvalue> in the <ref>, possibly dereferencing the symbolic refs.  E.g. `git update-ref HEAD <newvalue>` updates the current branch head to the new object.
pt_BR: Quando dois argumentos forem utilizados, armazena o <novovalor> na <ref>, possivelmente removendo as referências das refs simbólicas.  O `git update-ref HEAD <novovalor>` atualiza o cabeçalho do ramo atual para o novo objeto por exemplo.

note: type: Plain text
en: Given three arguments, stores the <newvalue> in the <ref>, possibly dereferencing the symbolic refs, after verifying that the current value of the <ref> matches <oldvalue>.  E.g. `git update-ref refs/heads/master <newvalue> <oldvalue>` updates the master branch head to <newvalue> only if its current value is <oldvalue>.  You can specify 40 "0" or an empty string as <oldvalue> to make sure that the ref you are creating does not exist.
pt_BR: Quando três argumentos forem utilizados, armazena o <novovalor> na <ref>, possivelmente tirando as referências das refs simbólicas, depois de verificar se o valor atual da <ref> coincide com o <valorantigo>.  O  `git update-ref refs/heads/master<novovalor> <valorantigo>` atualiza o cabeçalho do ramo principal para o <novovalor> somente se o seu valor atual for um <valorantigo> por exemplo.  Você pode definir 40 '0' ou uma sequência vazia como o <valorantigo> para garantir que a referência que você está criando não exista.

note: type: Plain text
en: It also allows a "ref" file to be a symbolic pointer to another ref file by starting with the four-byte header sequence of "ref:".
pt_BR: Ele também permite que um arquivo "ref" seja um ponteiro simbólico para um outro arquivo "ref", iniciando com a sequência de quatro bytes do cabeçalho "ref:".

note: type: Plain text
en: More importantly, it allows the update of a ref file to follow these symbolic pointers, whether they are symlinks or these "regular file symbolic refs".  It follows *real* symlinks only if they start with "refs/": otherwise it will just try to read them and update them as a regular file (i.e. it will allow the filesystem to follow them, but will overwrite such a symlink to somewhere else with a regular filename).
pt_BR: O mais importante, permite que a atualização de um arquivo "ref" siga estes ponteiros simbólicos, sejam links simbólicos ou estas "refs simbólicas do arquivo regular".  Segue os links simbólicos *reais* caso apenas eles começarem com "refs/": caso contrário, ele apenas tentará lê-los e atualizá-los como um arquivo regular (ou seja, permitirá que o sistema de arquivos os siga, mas substituirá este link simbólico para algum outro lugar e com um nome comum do arquivo).

note: type: Plain text
en: If --no-deref is given, <ref> itself is overwritten, rather than the result of following the symbolic pointers.
pt_BR: Caso a opção `--no-deref` seja utilizado, a própria <ref> será substituída, em vez do resultado de seguir os ponteiros simbólicos.

note: type: Plain text
en: In general, using
pt_BR: Em geral, utilizando

note: type: Plain text
en: should be a _lot_ safer than doing
pt_BR: deve ser _muito mais_ seguro do que fazer

note: type: Plain text
en: both from a symlink following standpoint *and* an error checking standpoint.  The "refs/" rule for symlinks means that symlinks that point to "outside" the tree are safe: they'll be followed for reading but not for writing (so we'll never write through a ref symlink to some other tree, if you have copied a whole archive by creating a symlink tree).
pt_BR: ambos de um link simbólico seguindo o ponto de vista *e* um ponto da averiguação do erro.  A regra "refs/" para os links simbólicos significa que os links simbólicos que apontem para "fora" da árvore são seguros: eles serão seguidos para leitura, mas não para gravação (portanto, nunca escreveremos através de um link simbólico "ref" para uma outra árvore, caso tenha copiado um arquivo inteiro ao criar um link simbólico de uma árvore).

note: type: Plain text
en: With `-d` flag, it deletes the named <ref> after verifying it still contains <oldvalue>.
pt_BR: Com a opção `-d`, exclui o nome <ref> após a verificação que ainda contenha o <valorantigo>.

note: type: Plain text
en: With `--stdin`, update-ref reads instructions from standard input and performs all modifications together.  Specify commands of the form:
pt_BR: Com a opção `--stdin`, o 'update-ref' lê as instruções da entrada padrão e executa todas as alterações juntas.  Defina os comandos do formulário:

note: type: Plain text
en: 	update SP <ref> SP <newvalue> [SP <oldvalue>] LF
    	create SP <ref> SP <newvalue> LF
    	delete SP <ref> [SP <oldvalue>] LF
    	verify SP <ref> [SP <oldvalue>] LF
    	option SP <opt> LF
    	start LF
    	prepare LF
    	commit LF
    	abort LF
pt_BR: 	update SP <ref> SP <novovalor> [SP <valorantigo>] LF
    	create SP <ref> SP <novovalor> LF
    	delete SP <ref> [SP <valorantigo>] LF
    	verify SP <ref> [SP <valorantigo>] LF
    	option SP <opt> LF
    	start LF
    	prepare LF
    	commit LF
    	abort LF

note: type: Plain text
en: With `--create-reflog`, update-ref will create a reflog for each ref even if one would not ordinarily be created.
pt_BR: Com a opção `--create-reflog`, o 'update-ref' criará um reflog para cada "ref", mesmo que um não seja criado normalmente.

note: type: Plain text
en: Quote fields containing whitespace as if they were strings in C source code; i.e., surrounded by double-quotes and with backslash escapes.  Use 40 "0" characters or the empty string to specify a zero value.  To specify a missing value, omit the value and its preceding SP entirely.
pt_BR: Cite os campos que contenham espaços como se fossem textos em um código-fonte C; ou seja, cercado por aspas duplas e com escapes com barra invertida.  Use 40 caracteres '0' ou a sequência vazia para definir um valor zero.  Para definir um valor ausente, omita completamente o valor do seu SP anterior.

note: type: Plain text
en: Alternatively, use `-z` to specify in NUL-terminated format, without quoting:
pt_BR: Como alternativa, utilize a opção `-z` para definir no formato terminado por `NUL`, sem citar:

note: type: Plain text
en: 	update SP <ref> NUL <newvalue> NUL [<oldvalue>] NUL
    	create SP <ref> NUL <newvalue> NUL
    	delete SP <ref> NUL [<oldvalue>] NUL
    	verify SP <ref> NUL [<oldvalue>] NUL
    	option SP <opt> NUL
    	start NUL
    	prepare NUL
    	commit NUL
    	abort NUL
pt_BR: 	update SP <ref> NUL <novovalor> NUL [<valorantigo>] NUL
    	create SP <ref> NUL <novovalor> NUL
    	delete SP <ref> NUL [<valorantigo>] NUL
    	verify SP <ref> NUL [<valorantigo>] NUL
    	option SP <opt> NUL
    	start NUL
    	prepare NUL
    	commit NUL
    	abort NUL

note: type: Plain text
en: In this format, use 40 "0" to specify a zero value, and use the empty string to specify a missing value.
pt_BR: Neste formato, utilize 40 '0' para definir um valor zero e utilize texto cazio para definir um valor ausente.

note: type: Plain text
en: In either format, values can be specified in any form that Git recognizes as an object name.  Commands in any other format or a repeated <ref> produce an error.  Command meanings are:
pt_BR: Em qualquer formato, os valores podem ser definidos de qualquer forma que o Git reconheça como um nome de objeto.  Os comandos em qualquer outro formato ou em uma <ref> repetida geram um erro.  Os significados dos comandos são:

note: type: Plain text
en: Set <ref> to <newvalue> after verifying <oldvalue>, if given.  Specify a zero <newvalue> to ensure the ref does not exist after the update and/or a zero <oldvalue> to make sure the ref does not exist before the update.
pt_BR: Defina uma <ref> para um <novovalor> após a verificação do <valorantigo>, caso seja informado.  Defina um <novovalor> como zero para garantir que a "ref" não exista após a atualização e/ou um <valorantigo> como zero para garantir que a "ref" não exista antes da atualização.

note: type: Plain text
en: Create <ref> with <newvalue> after verifying it does not exist.  The given <newvalue> may not be zero.
pt_BR: Crie uma `<ref>` com `<newvalue>` depois de verificar se ele já não existe.  O `<newvalue>` informado, não pode ser zero.

note: type: Plain text
en: Delete <ref> after verifying it exists with <oldvalue>, if given.  If given, <oldvalue> may not be zero.
pt_BR: Caso seja informado, exclua a <ref> depois de verificar se ele existe com <oldvalue>.  Caso seja, o <oldvalue> não pode ser zero.

note: type: Plain text
en: Verify <ref> against <oldvalue> but do not change it.  If <oldvalue> is zero or missing, the ref must not exist.
pt_BR: Verifique a `<ref>` em relação ao `<valorantigo>`, mas não o altere.  Caso o `<valorantigo>` seja zero ou ausente, a "ref" não deve existir.

note: type: Plain text
en: Modify behavior of the next command naming a <ref>.  The only valid option is `no-deref` to avoid dereferencing a symbolic ref.
pt_BR: Modifique o comportamento do próximo comando nomeando uma <ref>.  A única opção válida é `no-deref` para evitar a perda da referência de uma "ref" simbólica.

note: type: Plain text
en: Start a transaction. In contrast to a non-transactional session, a transaction will automatically abort if the session ends without an explicit commit.
pt_BR: Inicie uma transação. Em contraste com uma sessão não transacionada, uma transação irá interromper automaticamente caso a cessão se encerre sem um commit explícito.

note: type: Plain text
en: Prepare to commit the transaction. This will create lock files for all queued reference updates. If one reference could not be locked, the transaction will be aborted.
pt_BR: Prepare para transacionar o commit. Isto criará uma trava nos arquivos em todas as atualizações das referências que estiverem na fila. No caso de uma referência não puder ser travada, a transação irá ser encerrada.

note: type: Plain text
en: Commit all reference updates queued for the transaction, ending the transaction.
pt_BR: Faça o commit de todas as atualizações da referência na fila para a transação, finalizando a mesma.

note: type: Plain text
en: Abort the transaction, releasing all locks if the transaction is in prepared state.
pt_BR: Interrompa a transação, liberando todos os bloqueios caso a transação esteja na condição de preparado.

note: type: Plain text
en: If all <ref>s can be locked with matching <oldvalue>s simultaneously, all modifications are performed.  Otherwise, no modifications are performed.  Note that while each individual <ref> is updated or deleted atomically, a concurrent reader may still see a subset of the modifications.
pt_BR: Caso todos as <ref>s puderem ser bloqueadas com <valorantigo> de forma simultânea, todas as alterações serão aplicadas.  Caso contrário, nada será feito.  Observe que, enquanto cada <ref> individual é atualizada ou excluída atomicamente, um leitor simultâneo ainda pode ver um subconjunto das alterações.

note: type: Title -
en: LOGGING UPDATES
pt_BR: ATUALIZAÇÕES DOS REGISTROS DOS EVENTOS

note: type: Plain text
en: If config parameter "core.logAllRefUpdates" is true and the ref is one under "refs/heads/", "refs/remotes/", "refs/notes/", or the symbolic ref HEAD; or the file "$GIT_DIR/logs/<ref>" exists then `git update-ref` will append a line to the log file "$GIT_DIR/logs/<ref>" (dereferencing all symbolic refs before creating the log name) describing the change in ref value.  Log lines are formatted as:
pt_BR: Caso o parâmetro de configuração "core.logAllRefUpdates" seja verdadeiro e a "ref" for uma no "refs/heads/", "refs/remotes/", "refs/notes/" ou o simbólico "ref" `HEAD`; ou caso o arquivo `$GIT_DIR/logs/<ref>` existir, o comando `git update-ref` anexará uma linha ao arquivo do registor log `$GIT_DIR/logs/<ref>` (removendo a referência de todas as referências simbólicas antes de criar o nome do registro log) descrevendo a alteração no valor da ref.  As linhas do registro log são formatadas como:

note: type: Plain text
en: Where "oldsha1" is the 40 character hexadecimal value previously stored in <ref>, "newsha1" is the 40 character hexadecimal value of <newvalue> and "committer" is the committer's name, email address and date in the standard Git committer ident format.
pt_BR: Onde "sha1antigo" é o valor hexadecimal com 40 caracteres armazenado anteriormente na <ref>, o "novosha1" é o valor hexadecimal com 40 caracteres do <novovalor> e "committer" é o nome de quem fez o commit, o endereço de e-mail e a data no formato Git predefinido da identificação de quem faz o commit.

note: type: Plain text
en: Optionally with -m:
pt_BR: Opcionalmente com `-m`:

note: type: Plain text
en: Where all fields are as described above and "message" is the value supplied to the -m option.
pt_BR: Onde todos os campos são como descritos acima e a "mensagem" é o valor informado para a opção '-m'.

note: type: Plain text
en: An update will fail (without changing <ref>) if the current user is unable to create a new log file, append to the existing log file or does not have committer information available.
pt_BR: Uma atualização irá falhar (sem alterar a <ref>) caso o usuário atual não consiga criar um novo arquivo de registro log, anexá-lo ao arquivo log já existente ou caso não haja informações disponíveis.

note: type: Plain text
en: git-update-server-info - Update auxiliary info file to help dumb servers
pt_BR: git-update-server-info - Atualize o arquivo de informações auxiliares para ajudar os servidores burros

note: type: Plain text
en: A dumb server that does not do on-the-fly pack generations must have some auxiliary information files in $GIT_DIR/info and $GIT_OBJECT_DIRECTORY/info directories to help clients discover what references and packs the server has.  This command generates such auxiliary files.
pt_BR: Um servidor burro que não gera pacotes em tempo real deve ter alguns arquivos das informações auxiliares nos diretórios `$GIT_DIR/info` e `$GIT_OBJECT_DIRECTORY/info` para ajudar os clientes a descobrir quais as referências e os pacotes o servidor possui.  Este comando gera estes arquivos auxiliares.

note: type: Plain text
en: Currently the command updates the following files.  Please see linkgit:gitrepository-layout[5] for description of what they are for:
pt_BR: Atualmente, o comando atualiza os seguintes arquivos.  Para obter uma descrição da sua utilidade, consulte linkgit:gitrepository-layout[5]:

note: type: Plain text
en: git-upload-archive - Send archive back to git-archive
pt_BR: git-upload-archive - Envia um arquivo de volta para o git-archive

note: type: Plain text
en: 'git upload-archive' <directory>
pt_BR: 'git upload-archive' <diretório>

note: type: Plain text
en: Invoked by 'git archive --remote' and sends a generated archive to the other end over the Git protocol.
pt_BR: Chamado através do comando `git archive --remote` e envia um arquivo gerado para a outra extremidade através do protocolo Git.

note: type: Plain text
en: This command is usually not invoked directly by the end user.  The UI for the protocol is on the 'git archive' side, and the program pair is meant to be used to get an archive from a remote repository.
pt_BR: Este comando geralmente não é invocado diretamente pelo usuário final.  The UI for the protocol is on the 'git archive' side, and the program pair is meant to be used to get an archive from a remote repository.

note: type: Title -
en: SECURITY
pt_BR: SEGURANÇA

note: type: Plain text
en: In order to protect the privacy of objects that have been removed from history but may not yet have been pruned, `git-upload-archive` avoids serving archives for commits and trees that are not reachable from the repository's refs.  However, because calculating object reachability is computationally expensive, `git-upload-archive` implements a stricter but easier-to-check set of rules:
pt_BR: Para proteger a privacidade dos objetos que foram removidos da história, mas que ainda não foram removidos, o comando `git-upload-archive` evita servir os arquivos para os commits e as árvores que não são acessíveis a partir das referências do repositório.  No entanto, como calcular a acessibilidade de objetos é computacionalmente dispendioso, o comando `git-upload-archive` implementa um conjunto de regras mais rígidas, porém mais fácil de verificar:

note: type: Plain text
en: Clients may request a commit or tree that is pointed to directly by a ref. E.g., `git archive --remote=origin v1.0`.
pt_BR: Os clientes podem solicitar um commit ou uma árvore que aponte diretamente por uma referência. `git archive --remote=origin v1.0` por exemplo.

note: type: Plain text
en: Clients may request a sub-tree within a commit or tree using the `ref:path` syntax. E.g., `git archive --remote=origin v1.0:Documentation`.
pt_BR: Os clientes podem solicitar uma subárvore dentro de um commit ou uma árvore utilizando a sintaxe `ref:path`. Como por exemplo, `git archive --remote=origin v1.0:Documentation`.

note: type: Plain text
en: Clients may _not_ use other sha1 expressions, even if the end result is reachable. E.g., neither a relative commit like `master^` nor a literal sha1 like `abcd1234` is allowed, even if the result is reachable from the refs.
pt_BR: Os clientes não podem utilizar outras expressões SHA-1, mesmo que o resultado final seja acessível. Por exemplo, nem um commit que tenha relação com `master^` nem um sha1 literal como `abcd1234` são permitidos, mesmo que o resultado seja acessível através das referências.

note: type: Plain text
en: Note that rule 3 disallows many cases that do not have any privacy implications. These rules are subject to change in future versions of git, and the server accessed by `git archive --remote` may or may not follow these exact rules.
pt_BR: Observe que a regra 3 não permitem muitos casos onde não tenham implicações de privacidade. Essas regras estão sujeitas a alterações nas versões futuras do git, e o servidor acessado pelo `git archive --remote` pode ou não seguir exatamente estas regras.

note: type: Plain text
en: If the config option `uploadArchive.allowUnreachable` is true, these rules are ignored, and clients may use arbitrary sha1 expressions.  This is useful if you do not care about the privacy of unreachable objects, or if your object database is already publicly available for access via non-smart-http.
pt_BR: Caso a opção de configuração `uploadArchive.allowUnreachable` seja verdadeira, estas regras serão ignoradas e os clientes poderão utilizar expressões SHA-1 de forma arbitrária.  É útil caso você não se importe com a privacidade dos objetos inacessíveis ou se o banco de dados dos objetos já esteja disponível publicamente para acesso através do http não inteligente.

note: type: Plain text
en: The repository to get a tar archive from.
pt_BR: O repositório para onde obter um arquivo tar.

note: type: Plain text
en: git-upload-pack - Send objects packed back to git-fetch-pack
pt_BR: git-upload-pack - Envia os objetos compactados de volta para o git-fetch-pack

note: type: Plain text
en: 'git-upload-pack' [--[no-]strict] [--timeout=<n>] [--stateless-rpc]
    		  [--advertise-refs] <directory>
pt_BR: 'git-upload-pack' [--[no-]strict] [--timeout=<n>] [--stateless-rpc]
    		  [--advertise-refs] <diretório>

note: type: Plain text
en: Invoked by 'git fetch-pack', learns what objects the other side is missing, and sends them after packing.
pt_BR: Chamado através do comando 'git fetch-pack', aprende quais os objetos faltam no outro lado e os envia após empacotá-los.

note: type: Plain text
en: This command is usually not invoked directly by the end user.  The UI for the protocol is on the 'git fetch-pack' side, and the program pair is meant to be used to pull updates from a remote repository.  For push operations, see 'git send-pack'.
pt_BR: Este comando geralmente não é invocado diretamente pelo usuário final.  The UI for the protocol is on the 'git fetch-pack' side, and the program pair is meant to be used to pull updates from a remote repository.  For push operations, see 'git send-pack'.

note: type: Plain text
en: Do not try <directory>/.git/ if <directory> is no Git directory.
pt_BR: Não tente <diretório>/.git/ caso o <diretório> não seja um diretório Git.

note: type: Plain text
en: Interrupt transfer after <n> seconds of inactivity.
pt_BR: Interrompa a transferência após <n> segundos de inatividade.

note: type: Plain text
en: Perform only a single read-write cycle with stdin and stdout.  This fits with the HTTP POST request processing model where a program may read the request, write a response, and must exit.
pt_BR: Execute apenas um único ciclo de gravação e leitura com o stdin e o stdout.  Isso se ajusta ao modelo de processamento de solicitação HTTP POST, onde um programa pode ler a solicitação, gravar uma resposta e deve encerrar.

note: type: Plain text
en: Only the initial ref advertisement is output, and the program exits immediately. This fits with the HTTP GET request model, where no request content is received but a response must be produced.
pt_BR: Somente o anúncio da "ref" inicial é produzido e o programa encerra imediatamente. Isso se encaixa no modelo de solicitação HTTP GET, onde nenhum conteúdo de solicitação é recebido, porém uma resposta deve ser produzida.

note: type: Plain text
en: The repository to sync from.
pt_BR: O repositório de onde a sincronizaremos.

note: type: Plain text
en: git-var - Show a Git logical variable
pt_BR: git-var - Exibe a variável lógica do Git

note: type: Plain text
en: 'git var' ( -l | <variable> )
pt_BR: 'git var' ( -l | <variável> )

note: type: Plain text
en: Prints a Git logical variable.
pt_BR: Imprime a variável lógica do Git.

note: type: Plain text
en: Cause the logical variables to be listed. In addition, all the variables of the Git configuration file .git/config are listed as well. (However, the configuration variables listing functionality is deprecated in favor of `git config -l`.)
pt_BR: Faça com que as variáveis lógicas sejam listadas. Além disso, todas as variáveis do arquivo de configuração do Git '.git/config' também sejam listadas. (No entanto, as variáveis de configuração que listam a funcionalidade, estão obsoletas em favor do `git config -l`.)

note: type: Title -
en: VARIABLES
pt_BR: VARIÁVEIS

note: type: Plain text
en: The author of a piece of code.
pt_BR: O autor de um pedaço de código.

note: type: Plain text
en: The person who put a piece of code into Git.
pt_BR: A pessoa que inseriu um código no Git.

note: type: Plain text
en: Text editor for use by Git commands.  The value is meant to be interpreted by the shell when it is used.  Examples: `~/bin/vi`, `$SOME_ENVIRONMENT_VARIABLE`, `"C:\Program Files\Vim\gvim.exe" --nofork`.  The order of preference is the `$GIT_EDITOR` environment variable, then `core.editor` configuration, then `$VISUAL`, then `$EDITOR`, and then the default chosen at compile time, which is usually 'vi'.
pt_BR: O editor de texto para ser utilizado pelos comandos Git.  Quando for utilizado, o valor deve ser interpretado pelo shell.  Exemplos: `~/bin/vi`, `$ALGUMA_VÁRIAVEL_DO_AMBIENTE`, `"C:\Arquivo de Programas\Vim\gvim.exe" --nofork`.  A ordem preferencial é a variável de ambiente `$GIT_EDITOR`, depois a configuração do `core.pager`, seguido do `$VISUAL`, então `$EDITOR`, e a predefinição escolhida no momento da compilação (geralmente 'vi').

note: type: Plain text
en:     The build you are using chose '{git-default-editor}' as the default.
pt_BR:     A construção que você está utilizando escolheu '{git-default-editor}' como o predefinido.

note: type: Plain text
en: Text viewer for use by Git commands (e.g., 'less').  The value is meant to be interpreted by the shell.  The order of preference is the `$GIT_PAGER` environment variable, then `core.pager` configuration, then `$PAGER`, and then the default chosen at compile time (usually 'less').
pt_BR: O editor de texto para ser utilizado pelos comandos Git (como, por exemplo, 'less').  Quando for utilizado, o valor deve ser interpretado pelo shell.  A ordem de preferência é a variável de ambiente `$GIT_PAGER`, depois a configuração do` core.pager`, depois o `$PAGER` e o padrão selecionado no momento da compilação (geralmente 'less').

note: type: Plain text
en:     The build you are using chose '{git-default-pager}' as the default.
pt_BR:     A construção que você está usando escolheu '{git-default-pager}' como a sua predefinição.

note: type: Plain text
en: git-verify-commit - Check the GPG signature of commits
pt_BR: git-verify-commit - Verifique a assinatura GPG dos commits

note: type: Plain text
en: Validates the GPG signature created by 'git commit -S'.
pt_BR: Valida a assinatura GPG criada por 'git commit -S'.

note: type: Plain text
en: Print the raw gpg status output to standard error instead of the normal human-readable output.
pt_BR: Imprima a condição bruta do gpg na saída de erro predefinida em vez de uma saída legível para as pessoas.

note: type: Plain text
en: Print the contents of the commit object before validating it.
pt_BR: Imprima o conteúdo do objeto commit antes de validá-lo.

note: type: Plain text
en: SHA-1 identifiers of Git commit objects.
pt_BR: Os identificadores SHA-1 dos objetos do commit do Git.

note: type: Plain text
en: git-verify-pack - Validate packed Git archive files
pt_BR: git-verify-pack - Valide os arquivos compactados do Git

note: type: Plain text
en: 'git verify-pack' [-v|--verbose] [-s|--stat-only] [--] <pack>.idx ...
pt_BR: 'git verify-pack' [-v|--verbose] [-s|--stat-only] [--] <pacote>.idx ...

note: type: Plain text
en: Reads given idx file for packed Git archive created with the 'git pack-objects' command and verifies idx file and the corresponding pack file.
pt_BR: Lê o arquivo idx compactado com o Git que foi criado com o comando 'git pack-objects' e verifica o arquivo idx e o seu respectivo arquivo de pacote.

note: type: Plain text
en: The idx files to verify.
pt_BR: Os arquivos idx que serão verificados.

note: type: Plain text
en: After verifying the pack, show list of objects contained in the pack and a histogram of delta chain length.
pt_BR: Após a verificação do pacote, exiba a lista dos objetos existentes no pacote e um histograma do comprimento da cadeia delta.

note: type: Plain text
en: Do not verify the pack contents; only show the histogram of delta chain length.  With `--verbose`, list of objects is also shown.
pt_BR: Não verifique o conteúdo do pacote; exiba apenas o histograma do comprimento da cadeia delta.  Com a opção `--verbose`, a lista dos objetos também é exibida.

note: type: Title -
en: OUTPUT FORMAT
pt_BR: FORMATO DE SAÍDA

note: type: Plain text
en: When specifying the -v option the format used is:
pt_BR: Ao definir a opção '-v', o formato utilizado é:

note: type: Plain text
en: for objects that are not deltified in the pack, and
pt_BR: para os objetos que não sejam "deltificados" no pacote e

note: type: Plain text
en: for objects that are deltified.
pt_BR: para os objetos que são.

note: type: Plain text
en: git-verify-tag - Check the GPG signature of tags
pt_BR: git-verify-tag - Verifique a assinatura GPG das tags

note: type: Plain text
en: 'git verify-tag' [--format=<format>] <tag>...
pt_BR: 'git verify-tag' [--format=<formato>] <tag>...

note: type: Plain text
en: Validates the gpg signature created by 'git tag'.
pt_BR: Valida a assinatura gpg criada através do 'git tag'.

note: type: Plain text
en: Print the contents of the tag object before validating it.
pt_BR: Imprima o conteúdo do objeto commit antes de validá-lo.

note: type: Plain text
en: SHA-1 identifiers of Git tag objects.
pt_BR: Identificadores SHA-1 da tag dos objetos do Git.

note: type: Plain text
en: git-web--browse - Git helper script to launch a web browser
pt_BR: git-web--browse - Script assistente do Git para iniciar um navegador da web

note: type: Plain text
en: 'git web{litdd}browse' [<options>] <url|file>...
pt_BR: 'git web{litdd}browse' [<opções>] <url|arquivo>...

note: type: Plain text
en: This script tries, as much as possible, to display the URLs and FILEs that are passed as arguments, as HTML pages in new tabs on an already opened web browser.
pt_BR: Esse script tenta, na medida do possível, exibir as URLs e os arquivos passados como argumentos, como páginas HTML nas novas guias em um navegador da web já aberto.

note: type: Plain text
en: The following browsers (or commands) are currently supported:
pt_BR: Atualmente, os seguintes navegadores (ou comandos) são compatíveis:

note: type: Plain text
en: firefox (this is the default under X Window when not using KDE)
pt_BR: firefox (este é o padrão no X Window quando não estiver usando o KDE)

note: type: Plain text
en: chromium (also supported as chromium-browser)
pt_BR: chromium (também é compatível com o navegador chromium)

note: type: Plain text
en: google-chrome (also supported as chrome)
pt_BR: google-chrome (o chrome também é compatível)

note: type: Plain text
en: konqueror (this is the default under KDE, see 'Note about konqueror' below)
pt_BR: konqueror (este é o predefinido do KDE, consulte 'Uma observação sobre o konqueror' abaixo)

note: type: Plain text
en: w3m (this is the default outside graphical environments)
pt_BR: w3m (este é o predefinido fora do ambiente grafo)

note: type: Plain text
en: open (this is the default under Mac OS X GUI)
pt_BR: open (este é o predefinido no Mac OS X GUI)

note: type: Plain text
en: start (this is the default under MinGW)
pt_BR: start (este é o predefinido no MinGW)

note: type: Plain text
en: cygstart (this is the default under Cygwin)
pt_BR: cygstart (este é o predefinido no Cygwin)

note: type: Plain text
en: Custom commands may also be specified.
pt_BR: Os comandos personalizados também podem ser definidos.

note: type: Plain text
en: Use the specified browser. It must be in the list of supported browsers.
pt_BR: Use o navegador especificado. Deve estar na lista dos navegadores compatíveis.

note: type: Plain text
en: CONF.VAR is looked up in the Git config files. If it's set, then its value specifies the browser that should be used.
pt_BR: O `CONF.VAR` é pesquisado nos arquivos de configuração do Git. Caso esteja definido, o seu valor define o navegador que deve ser utilizado.

note: type: Title ~
en: CONF.VAR (from -c option) and web.browser
pt_BR: O `CONF.VAR` (da opção -c) e `web.browser`

note: type: Plain text
en: The web browser can be specified using a configuration variable passed with the -c (or --config) command-line option, or the `web.browser` configuration variable if the former is not used.
pt_BR: O navegador da web pode ser definido usando uma variável de configuração passada com a opção na linha de comando '-c' (ou `--config`) ou a variável de configuração `web.browser` caso a primeira não seja utilizada.

note: type: Title ~
en: browser.<tool>.path
pt_BR: browser.<ferramenta>.path

note: type: Plain text
en: You can explicitly provide a full path to your preferred browser by setting the configuration variable `browser.<tool>.path`. For example, you can configure the absolute path to firefox by setting 'browser.firefox.path'. Otherwise, 'git web{litdd}browse' assumes the tool is available in PATH.
pt_BR: Você pode informar de forma explicita um caminho completo para o seu visualizador man preferido, definindo a variável de configuração `man.<ferramenta>.path`. Como, por exemplo, você pode configurar o caminho absoluto para o firefox, configurando 'man.firefox.path'. Caso contrário, o comando 'web{litdd}browse' assume qual a ferramenta está disponível no seu `PATH`.

note: type: Title ~
en: browser.<tool>.cmd
pt_BR: browser.<ferramenta>.cmd

note: type: Plain text
en: When the browser, specified by options or configuration variables, is not among the supported ones, then the corresponding `browser.<tool>.cmd` configuration variable will be looked up. If this variable exists then 'git web{litdd}browse' will treat the specified tool as a custom command and will use a shell eval to run the command with the URLs passed as arguments.
pt_BR: Quando o navegador, informado através das opções ou das variáveis de configuração, não estiver entre os compatíveis, a variável de configuração `browser.<ferramenta>.cmd` correspondente será pesquisada. Caso esta variável exista, o comando 'git web{litdd}browse' tratará a ferramenta especificada como um comando personalizado e usará um 'shell eval' para executar o comando com as URLs encaminhadas como argumentos.

note: type: Title -
en: NOTE ABOUT KONQUEROR
pt_BR: NOTA SOBRE O KONQUEROR

note: type: Plain text
en: When 'konqueror' is specified by a command-line option or a configuration variable, we launch 'kfmclient' to try to open the HTML man page on an already opened konqueror in a new tab if possible.
pt_BR: Quando o 'konqueror' é definido através da opção da linha de comando ou uma variável de configuração, iniciamos o 'kfmclient' para tentar abrir uma página do manual em HTML em uma nova guia de um konqueror já aberto, caso seja possível.

note: type: Plain text
en: For consistency, we also try such a trick if 'browser.konqueror.path' is set to something like `A_PATH_TO/konqueror`. That means we will try to launch `A_PATH_TO/kfmclient` instead.
pt_BR: Para uma maior consistência, também tentamos este truque caso 'browser.konqueror.path' esteja definido em algo como `UM_CAMINHO_PARA_O/konqueror`. Significa que em vez disso, tentaremos iniciar o `UM_CAMINHO_PARA_O/kfmclient`.

note: type: Title ~
en: Note about git-config --global
pt_BR: Nota sobre o comando `git-config --global`

note: type: Plain text
en: Note that these configuration variables should probably be set using the `--global` flag, for example like this:
pt_BR: Observe que todas estas variáveis de configuração, provavelmente devem ser definidas utilizando a opção `--global`, assim por exemplo:

note: type: Plain text
en: git-whatchanged - Show logs with difference each commit introduces
pt_BR: git-whatchanged - Exibe os registros logs com a diferença que cada commit introduz

note: type: Plain text
en: 'git whatchanged' <option>...
pt_BR: 'git whatchanged' <opção>...

note: type: Plain text
en: Shows commit logs and diff output each commit introduces.
pt_BR: Exibe os registros log do commit e saída diff que cada commit introduz.

note: type: Plain text
en: New users are encouraged to use linkgit:git-log[1] instead.  The `whatchanged` command is essentially the same as linkgit:git-log[1] but defaults to show the raw format diff output and to skip merges.
pt_BR: Os novos usuários são encorajados a utilizar o linkgit:git-log[1].  O comando `whatchanged` é essencialmente o mesmo que linkgit:git-log[1], a predefinição retorna para exibir o "diff" gerado em formato bruto e para ignorar as mesclagens.

note: type: Plain text
en: The command is kept primarily for historical reasons; fingers of many people who learned Git long before `git log` was invented by reading Linux kernel mailing list are trained to type it.
pt_BR: O comando é mantido principalmente por razões históricas; muitas pessoas que aprenderam Git bem antes do `git log` ser inventado, lendo a lista de discussão do kernel do Linux, são treinados para digitá-lo.

note: type: Plain text
en: Show as patches the commits since version 'v2.6.12' that changed any file in the include/scsi or drivers/scsi subdirectories
pt_BR: Exibe como correções dos commits desde a versão 'v2.6.12' que alterou qualquer arquivo nos subdiretórios 'include/scsi' ou 'drivers/scsi'

note: type: Labeled list
en: `git whatchanged --since="2 weeks ago" -- gitk`
pt_BR: `git whatchanged --since="2 semanas atrás" -- gitk`

note: type: Plain text
en: Show the changes during the last two weeks to the file 'gitk'.  The "--" is necessary to avoid confusion with the *branch* named 'gitk'
pt_BR: Exibe as alterações nas últimas duas semanas no arquivo 'gitk'. chamado 'gitk'  O "--" é necessário para evitar confusão com o *ramo* chamado 'gitk'

note: type: Plain text
en: git-worktree - Manage multiple working trees
pt_BR: git-worktree - Gerencie as várias árvores de trabalho

note: type: Plain text
en: 'git worktree add' [-f] [--detach] [--checkout] [--lock] [-b <new-branch>] <path> [<commit-ish>]
    'git worktree list' [--porcelain]
    'git worktree lock' [--reason <string>] <worktree>
    'git worktree move' <worktree> <new-path>
    'git worktree prune' [-n] [-v] [--expire <expire>]
    'git worktree remove' [-f] <worktree>
    'git worktree unlock' <worktree>
pt_BR: 'git worktree add' [-f] [--detach] [--checkout] [--lock] [-b <novo-ramo>] <caminho> [<commit-ish>]
    'git worktree list' [--porcelain]
    'git worktree lock' [--reason <texto>] <árvore de trabalho>
    'git worktree move' <árvore de trabalho> <novo caminho>
    'git worktree prune' [-n] [-v] [--expire <expire>]
    'git worktree remove' [-f] <árvore de trabalho>
    'git worktree unlock' <árvore de trabalho>

note: type: Plain text
en: Manage multiple working trees attached to the same repository.
pt_BR: Gerencie várias árvores de trabalho conectadas ao mesmo repositório.

note: type: Plain text
en: A git repository can support multiple working trees, allowing you to check out more than one branch at a time.  With `git worktree add` a new working tree is associated with the repository.  This new working tree is called a "linked working tree" as opposed to the "main working tree" prepared by "git init" or "git clone".  A repository has one main working tree (if it's not a bare repository) and zero or more linked working trees. When you are done with a linked working tree, remove it with `git worktree remove`.
pt_BR: Um repositório git é compatível com várias árvores de trabalho, permitindo que você verifique mais de um ramo por vez.  Com o `git worktree add`, uma nova árvore de trabalho é associada ao repositório.  Esta nova árvore de trabalho é chamada de "árvore de trabalho vinculada" em oposição à "árvore de trabalho principal" preparada através do comando "git init" ou "git clone".  Um repositório possui uma árvore principal de trabalho (caso não seja um repositório simples) e zero ou mais árvores de trabalho vinculadas. Quando você terminar uma árvore de trabalho vinculada, remova-a com o comando `git worktree remove`.

note: type: Plain text
en: If a working tree is deleted without using `git worktree remove`, then its associated administrative files, which reside in the repository (see "DETAILS" below), will eventually be removed automatically (see `gc.worktreePruneExpire` in linkgit:git-config[1]), or you can run `git worktree prune` in the main or any linked working tree to clean up any stale administrative files.
pt_BR: Caso uma árvore de trabalho seja excluída sem o a utilização do comando `git worktree remove`, os seus arquivos administrativos associados, que residam no repositório (consulte "DETALHES" abaixo), serão removidos automaticamente (consulte a opção de configuração `gc.worktreePruneExpire` no linkgit:git-config[1]), ou é possível executar o comando `git worktree prune` na árvore principal ou em qualquer árvore de trabalho vinculada para fazer a limpeza de quaisquer arquivos administrativos que estejam obsoletos.

note: type: Plain text
en: If a linked working tree is stored on a portable device or network share which is not always mounted, you can prevent its administrative files from being pruned by issuing the `git worktree lock` command, optionally specifying `--reason` to explain why the working tree is locked.
pt_BR: Caso uma árvore de trabalho vinculada estiver armazenada em um dispositivo portátil ou em um compartilhamento da rede que nem sempre seja montado, é possível impedir que os seus arquivos administrativos sejam removidos emitindo o comando `git worktree lock`, utilizando opcionalmente a opção `--reason` para explicar por que a árvore de trabalho está bloqueada.

note: type: Labeled list
en: add <path> [<commit-ish>]
pt_BR: add <caminho> [<commit-ish>]

note: type: Plain text
en: Create `<path>` and checkout `<commit-ish>` into it. The new working directory is linked to the current repository, sharing everything except working directory specific files such as HEAD, index, etc. `-` may also be specified as `<commit-ish>`; it is synonymous with `@{-1}`.
pt_BR: Crie um `<caminho>` e faça a averiguação `<commit-ish>` nele. O novo diretório de trabalho está vinculado ao repositório atual, compartilhando tudo exceto arquivos específicos do diretório de trabalho, como HEAD, índice, etc. O `-` também pode ser utilizado como `<commit-ish> `; é um sinônimo de `@{-1}`.

note: type: Plain text
en: If <commit-ish> is a branch name (call it `<branch>`) and is not found, and neither `-b` nor `-B` nor `--detach` are used, but there does exist a tracking branch in exactly one remote (call it `<remote>`)  with a matching name, treat as equivalent to:
pt_BR: Caso o <commit-ish> seja um nome do ramo (chame-o de `<ramo>`) e não for encontrado, nem `-b`, nem `-B`, nem `--detach`, serão utilizados, porém existe um monitoramento do ramo em exatamente um ramo remoto (chame-o de `<remoto>`) com um nome coincidente, trate-o como equivalente a:

note: type: delimited block -
en: $ git worktree add --track -b <branch> <path> <remote>/<branch>
pt_BR: $ git worktree add --track -b <ramo> <caminho> <remoto>/<ramo>

note: type: Plain text
en: If `<commit-ish>` is omitted and neither `-b` nor `-B` nor `--detach` used, then, as a convenience, the new worktree is associated with a branch (call it `<branch>`) named after `$(basename <path>)`.  If `<branch>` doesn't exist, a new branch based on HEAD is automatically created as if `-b <branch>` was given.  If `<branch>` does exist, it will be checked out in the new worktree, if it's not checked out anywhere else, otherwise the command will refuse to create the worktree (unless `--force` is used).
pt_BR: Caso o `<commit-ish>` seja omitido e nem a opção `-b`, `-B` ou `--detach` sejam utilizados, então, por conveniência, a nova árvore de trabalho será associada com um ramo (chame-o de `<ramo>`) nomeado após `$(basename <caminho>)`.  Caso o `<ramo>` não exista, um novo ramo com base no `HEAD` será criado automaticamente como se a opção `-b <ramo>` fosse informado.  Caso o `<ramo>` exista, ele será averiguado na nova árvore de trabalho, se não tiver sido averiguado em nenhum outro lugar, caso contrário, o comando se recusará a criar a árvore de trabalho (a menos que `--force` seja utilizado).

note: type: Plain text
en: List details of each worktree.  The main worktree is listed first, followed by each of the linked worktrees.  The output details include if the worktree is bare, the revision currently checked out, and the branch currently checked out (or 'detached HEAD' if none).
pt_BR: Liste os detalhes de cada árvore de trabalho.  A árvore de trabalho principal é listada primeiro, seguida por cada uma das árvores de trabalho vinculadas.  Os detalhes gerados incluem se a árvore de trabalho está vazia e se a revisão e o ramo foi averiguado no momento (ou tem o 'HEAD desanexado', caso não haja).

note: type: Plain text
en: If a working tree is on a portable device or network share which is not always mounted, lock it to prevent its administrative files from being pruned automatically. This also prevents it from being moved or deleted. Optionally, specify a reason for the lock with `--reason`.
pt_BR: Caso uma árvore de trabalho esteja em um dispositivo portátil ou em um compartilhamento da rede que nem sempre seja montado, bloqueie-o para impedir que os seus arquivos administrativos sejam removidos automaticamente. Isso também evita que ele seja movido ou excluído. Opcionalmente, especifique um motivo para o bloqueio com `--reason`.

note: type: Plain text
en: Move a working tree to a new location. Note that the main working tree or linked working trees containing submodules cannot be moved.
pt_BR: Mova uma árvore de trabalho para um novo local. Observe que a árvore principal de trabalho ou as árvores de trabalho vinculadas que contenham submódulos, não poderão ser movidas.

note: type: Plain text
en: Prune working tree information in $GIT_DIR/worktrees.
pt_BR: Remova as informações da árvore de trabalho no `$GIT_DIR/worktrees`.

note: type: Plain text
en: Remove a working tree. Only clean working trees (no untracked files and no modification in tracked files) can be removed. Unclean working trees or ones with submodules can be removed with `--force`. The main working tree cannot be removed.
pt_BR: Remova uma árvore de trabalho. Somente árvores de trabalho que estiverem vazias (sem arquivos não monitorados e nenhuma alteração nos arquivos monitorados) podem ser removidas. Árvores de trabalho que não estejam vazias ou com os sub-módulos podem ser removidas a força com a opção `--force`. A árvore principal de trabalho não pode ser removida.

note: type: Plain text
en: Unlock a working tree, allowing it to be pruned, moved or deleted.
pt_BR: Desbloqueie uma árvore em funcionamento, permitindo que ela seja removida, movida ou excluída.

note: type: Plain text
en: By default, `add` refuses to create a new working tree when `<commit-ish>` is a branch name and is already checked out by another working tree, or if `<path>` is already assigned to some working tree but is missing (for instance, if `<path>` was deleted manually). This option overrides these safeguards. To add a missing but locked working tree path, specify `--force` twice.
pt_BR: É predefinido que `add` se recuse a criar uma nova árvore de trabalho quando `<commit-ish>` for um nome de uma filial e já está em averiguação por outra árvore de trabalho, ou caso `<caminho>` já esteja atribuído a alguma árvore de trabalho, porém ausente (caso `<caminho>` foi excluído manualmente por exemplo). Esta opção substitui estas salvaguardas. Para adicionar um caminho de árvore de trabalho ausente porém bloqueado, utilize a opção `--force` duas vezes.

note: type: Plain text
en: `move` refuses to move a locked working tree unless `--force` is specified twice. If the destination is already assigned to some other working tree but is missing (for instance, if `<new-path>` was deleted manually), then `--force` allows the move to proceed; use --force twice if the destination is locked.
pt_BR: o `move` se recusa a mover uma árvore de trabalho bloqueada a menos que a opção `--force` seja utilizada duas vezes. Caso o destino já esteja atribuído a alguma outra árvore de trabalho, porém esteja ausente (caso o `<novo-caminho>` tenha sido excluído manualmente por exemplo), então a opção `--force` permite que a ação de mover prossiga; utilize a opção --force duas vezes caso o destino esteja bloqueado.

note: type: Plain text
en: `remove` refuses to remove an unclean working tree unless `--force` is used.  To remove a locked working tree, specify `--force` twice.
pt_BR: O `remove` se recusa a remover uma árvore de trabalho cheia, a menos que a opção `--force` seja usada.  Para remover uma árvore de trabalho bloqueada, utilize a opção `--force` duas vezes.

note: type: Labeled list
en: -b <new-branch>
pt_BR: -b <novo-ramo>

note: type: Labeled list
en: -B <new-branch>
pt_BR: -B <novo-ramo>

note: type: Plain text
en: With `add`, create a new branch named `<new-branch>` starting at `<commit-ish>`, and check out `<new-branch>` into the new working tree.  If `<commit-ish>` is omitted, it defaults to HEAD.  By default, `-b` refuses to create a new branch if it already exists. `-B` overrides this safeguard, resetting `<new-branch>` to `<commit-ish>`.
pt_BR: Com `add`, crie um novo ramo chamado `<novo-ramo>` (novo-ramo) começando em `<commit-ish>` e faça uma averiguação do `<novo-ramo>` na nova árvore de trabalho.  Caso o `<commit-ish>` seja omitido, a predefinição retorna para `HEAD`.  É predefinido que `b` se recuse a criar um novo ramo, caso ele já exista. O `B` substitui esta salvaguarda, redefinindo o `<novo-ramo>` para `<commit-ish>`.

note: type: Plain text
en: With `add`, detach HEAD in the new working tree. See "DETACHED HEAD" in linkgit:git-checkout[1].
pt_BR: Com `add`, desanexe o HEAD na nova árvore de trabalho. Consulte "HEAD DESANEXADO" em linkgit:git-checkout[1].

note: type: Plain text
en: By default, `add` checks out `<commit-ish>`, however, `--no-checkout` can be used to suppress checkout in order to make customizations, such as configuring sparse-checkout. See "Sparse checkout" in linkgit:git-read-tree[1].
pt_BR: É predefinido que `add` faça a averiguação do `<commit-ish> `, no entanto a opção `--no-checkout` pode ser utilizado para suprimir a averiguação a fim de fazer as personalizações, como configurar a averiguação esparsa. Consulte "Averiguação esparsa" em linkgit:git-read-tree[1].

note: type: Plain text
en: With `worktree add <path>`, without `<commit-ish>`, instead of creating a new branch from HEAD, if there exists a tracking branch in exactly one remote matching the basename of `<path>`, base the new branch on the remote-tracking branch, and mark the remote-tracking branch as "upstream" from the new branch.
pt_BR: Com `worktree add <caminho>`, sem `<commit-ish>`, em vez de criar uma nova ramificação a partir do `HEAD`, caso exista uma ramificação de rastreamento em exatamente um ponto remoto que coincida com o `basename` do `<caminho>`, baseie a nova ramificação na ramificação remota rastreada e marque a ramificação rastreada remoto como um "upstream" da nova ramificação.

note: type: Plain text
en: This can also be set up as the default behaviour by using the `worktree.guessRemote` config option.
pt_BR: Isso também pode ser definido como um comportamento predefinido ao usar a opção da configuração `worktree.guessRemote`.

note: type: Plain text
en: When creating a new branch, if `<commit-ish>` is a branch, mark it as "upstream" from the new branch.  This is the default if `<commit-ish>` is a remote-tracking branch.  See "--track" in linkgit:git-branch[1] for details.
pt_BR: Ao criar um novo ramo, caso `<commit-ish>` seja um ramo, marque-a como "upstream" a partir do novo ramo.  Essa é a predefinição caso `<commit-ish>` seja um ramo monitorado remotamente.  Para mais detalhes, consulte "--track" em linkgit:git-branch[1].

note: type: Plain text
en: Keep the working tree locked after creation. This is the equivalent of `git worktree lock` after `git worktree add`, but without race condition.
pt_BR: Mantenha a árvore de trabalho bloqueada após a criação. Isso é equivalente ao comando `git worktree lock` após `git worktree add`, porém sem a condição de corrida.

note: type: Plain text
en: With `prune`, do not remove anything; just report what it would remove.
pt_BR: Com `prune`, não remove nada; apenas relate o que seria removido.

note: type: Plain text
en: With `list`, output in an easy-to-parse format for scripts.  This format will remain stable across Git versions and regardless of user configuration.  See below for details.
pt_BR: Com `list` gere um formato para fácil análise dos scripts. Este formato permanecerá estável em todas as versões Git independentemente da configuração do usuário.  Veja abaixo os detalhes.

note: type: Plain text
en: With 'add', suppress feedback messages.
pt_BR: Com `add`, suprima as mensagens de feedback.

note: type: Plain text
en: With `prune`, report all removals.
pt_BR: Com `prune`, relate todas as remoções.

note: type: Plain text
en: With `prune`, only expire unused working trees older than <time>.
pt_BR: Com `prune`, expire apenas as árvores de trabalho não utilizadas mais velhas que <tempo>.

note: type: Labeled list
en: --reason <string>
pt_BR: --reason <texto>

note: type: Plain text
en: With `lock`, an explanation why the working tree is locked.
pt_BR: Com `lock`, uma explicação é dada do por quê a árvore está "locked" (travada).

note: type: Labeled list
en: <worktree>
pt_BR: <árvore de trabalho>

note: type: Plain text
en: Working trees can be identified by path, either relative or absolute.
pt_BR: As árvores de trabalho podem ser identificadas através do caminho, seja relativo ou absoluto.

note: type: Plain text
en: If the last path components in the working tree's path is unique among working trees, it can be used to identify worktrees. For example if you only have two working trees, at "/abc/def/ghi" and "/abc/def/ggg", then "ghi" or "def/ghi" is enough to point to the former working tree.
pt_BR: Caso os componentes do último caminho da árvore de trabalho sejam únicos entre as árvores, ele poderá ser utilizado para identificar as árvores de trabalho. Como por exemplo, caso tenha apenas duas árvores de trabalho, em "/abc/def/ghi" e "/abc/def/ggg", "ghi" ou "def/ghi" serão suficientes para apontar para a antiga árvore de trabalho.

note: type: Plain text
en: In multiple working trees, some refs may be shared between all working trees, some refs are local. One example is HEAD is different for all working trees. This section is about the sharing rules and how to access refs of one working tree from another.
pt_BR: Em várias árvores de trabalho diferentes, algumas refs podem ser compartilhadas entre todas as árvores de trabalho, já outras são locais. Um exemplo é o `HEAD` que é único para cada a árvores de trabalho. Um exemplo é que `HEAD` seja diferente para todas as árvores de trabalho. Esta seção é sobre as regras de compartilhamento e como acessar tais refs de uma árvore de trabalho para outra.

note: type: Plain text
en: In general, all pseudo refs are per working tree and all refs starting with "refs/" are shared. Pseudo refs are ones like HEAD which are directly under GIT_DIR instead of inside GIT_DIR/refs. There is one exception to this: refs inside refs/bisect and refs/worktree is not shared.
pt_BR: Geralmente, cada árvore de trabalho possuí uma ref própria e todas as refs que iniciem com `refs/` podem ser compartilhados. Os pseudo-refs são aqueles como `HEAD` que estão diretamente sob `GIT_DIR` ao invés de estarem dentro do `GIT_DIR/refs`. Há apenas uma exceção para esta regra: as refs não serão compartilhadas quando estiverem dentro do `refs/bisect` e do `refs/worktree`.

note: type: Plain text
en: Refs that are per working tree can still be accessed from another working tree via two special paths, main-worktree and worktrees. The former gives access to per-worktree refs of the main working tree, while the latter to all linked working trees.
pt_BR: As refs individuais de cada árvore de trabalho ainda podem ser acessadas de uma outra árvore de trabalho através de dois caminhos especiais, `main-worktree` e `worktrees`. A primeira oferece acesso `ref` individual a cada árvore de trabalho principal, enquanto a última a todas as árvores de trabalho que forem vinculadas à ela.

note: type: Plain text
en: For example, main-worktree/HEAD or main-worktree/refs/bisect/good resolve to the same value as the main working tree's HEAD and refs/bisect/good respectively. Similarly, worktrees/foo/HEAD or worktrees/bar/refs/bisect/bad are the same as GIT_COMMON_DIR/worktrees/foo/HEAD and GIT_COMMON_DIR/worktrees/bar/refs/bisect/bad.
pt_BR: Como por exemplo, `main-worktree/HEAD` ou `main-worktree/refs/bisect/good` resolve para o mesmo valor que `HEAD` nas principais árvores, assim como `refs/bisect/good` respectivamente. Da mesma forma, `worktrees/foo/HEAD` e `worktrees/bar/refs/bisect/bad` são as mesmas que `GIT_COMMON_DIR/worktrees/foo/HEAD` e `GIT_COMMON_DIR/worktrees/bar/refs/bisect/bad`.

note: type: Plain text
en: To access refs, it's best not to look inside GIT_DIR directly. Instead use commands such as linkgit:git-rev-parse[1] or linkgit:git-update-ref[1] which will handle refs correctly.
pt_BR: Para acessar as `refs` é melhor não olhar diretamente para dentro do `GIT_DIR`. Em vez disso, use comandos como o linkgit:git-rev-parse[1] ou linkgit:git-update-ref[1] que manipularão corretamente as refs.

note: type: Plain text
en: By default, the repository "config" file is shared across all working trees. If the config variables `core.bare` or `core.worktree` are already present in the config file, they will be applied to the main working trees only.
pt_BR: É predefinido que o arquivo "config" do repositório seja compartilhado entre todas as árvores de trabalho. Caso as variáveis da configuração `core.bare` ou` core.worktree` estejam presentes no arquivo de configuração elas serão aplicadas apenas às principais árvores de trabalho.

note: type: Plain text
en: In order to have configuration specific to working trees, you can turn on "worktreeConfig" extension, e.g.:
pt_BR: Você pode ativar a extensão `worktreeConfig` para ter uma configuração específica para as árvores de trabalho, por exemplo:

note: type: Plain text
en: In this mode, specific configuration stays in the path pointed by `git rev-parse --git-path config.worktree`. You can add or update configuration in this file with `git config --worktree`. Older Git versions will refuse to access repositories with this extension.
pt_BR: Neste modo, a configuração específica permanece no caminho apontado pelo comando `git rev-parse --git-path config.worktree`. Você pode adicionar ou atualizar a configuração neste arquivo com o comando `git config --worktree`. As versões mais antigas do Git se recusarão a acessar os repositórios com esta extensão.

note: type: Plain text
en: Note that in this file, the exception for `core.bare` and `core.worktree` is gone. If you have them in $GIT_DIR/config before, you must move them to the `config.worktree` of the main working tree. You may also take this opportunity to review and move other configuration that you do not want to share to all working trees:
pt_BR: Observe que neste arquivo, a exceção para `core.bare` e `core.worktree` desapareceu. Caso você os possua antes no '$GIT_DIR/config', você deve movê-los para o `config.worktree` da árvore principal de trabalho. Você também pode aproveitar esta oportunidade para revisar e mover as outras configurações que não deseja compartilhar com todas as árvores de trabalho:

note: type: Plain text
en: `core.worktree` and `core.bare` should never be shared
pt_BR: `core.worktree` e `core.bare` nunca devem ser compartilhados

note: type: Plain text
en: `core.sparseCheckout` is recommended per working tree, unless you are sure you always use sparse checkout for all working trees.
pt_BR: Recomenda-se a opção de configuração `core.sparseCheckout` em cada árvore de trabalho, a menos que você tenha certeza de que sempre usa a verificação esparsa para todas as árvores de trabalho.

note: type: Title -
en: DETAILS
pt_BR: DETALHES

note: type: Plain text
en: Each linked working tree has a private sub-directory in the repository's $GIT_DIR/worktrees directory.  The private sub-directory's name is usually the base name of the linked working tree's path, possibly appended with a number to make it unique.  For example, when `$GIT_DIR=/path/main/.git` the command `git worktree add /path/other/test-next next` creates the linked working tree in `/path/other/test-next` and also creates a `$GIT_DIR/worktrees/test-next` directory (or `$GIT_DIR/worktrees/test-next1` if `test-next` is already taken).
pt_BR: Cada árvore de trabalho vinculada possui um subdiretório privado no diretório `$GIT_DIR/worktrees` do repositório.  O nome do subdiretório particular é geralmente o nome base do caminho do vínculo da árvore de trabalho, possivelmente anexada a um número para torná-lo único.  Como por exemplo, quando `$GIT_DIR=/path/main/.git` o comando` `git worktree add /path/other/test-next next` cria a árvore de trabalho vinculada no `/path/other/test-next` e também cria um diretório `$GIT_DIR/worktrees/test-next` (ou `$GIT_DIR/worktrees/test-next1` caso `test-next` já esteja em uso).

note: type: Plain text
en: Within a linked working tree, $GIT_DIR is set to point to this private directory (e.g. `/path/main/.git/worktrees/test-next` in the example) and $GIT_COMMON_DIR is set to point back to the main working tree's $GIT_DIR (e.g. `/path/main/.git`). These settings are made in a `.git` file located at the top directory of the linked working tree.
pt_BR: Dentro de uma árvore de trabalho vinculada, `$GIT_DIR` é configurado para apontar para este diretório privado (`/path/main/.git/worktrees/test-next` no exemplo) e `$GIT_COMMON_DIR` é configurado para apontar de volta para a árvore de trabalho principal `$GIT_DIR` (`/path/main/.git` por exemplo). Estas configurações são feitas em um arquivo `.git` localizado no diretório vinculado mais alto da árvore de trabalho.

note: type: Plain text
en: Path resolution via `git rev-parse --git-path` uses either $GIT_DIR or $GIT_COMMON_DIR depending on the path. For example, in the linked working tree `git rev-parse --git-path HEAD` returns `/path/main/.git/worktrees/test-next/HEAD` (not `/path/other/test-next/.git/HEAD` or `/path/main/.git/HEAD`) while `git rev-parse --git-path refs/heads/master` uses $GIT_COMMON_DIR and returns `/path/main/.git/refs/heads/master`, since refs are shared across all working trees, except refs/bisect and refs/worktree.
pt_BR: A resolução do caminho através do comando `git rev-parse --git-path` utiliza '$GIT_DIR' ou '$GIT_COMMON_DIR', dependendo do caminho. Na árvore de trabalho vinculada, o comando `git rev-parse --git-path HEAD` retorna `/path/main/.git/worktrees/test-next/HEAD` (não `/path/other/test-next/.git/HEAD` ou `/path/main/.git/HEAD`) enquanto o comando `git rev-parse --git-path refs/heads/master` usa '$GIT_COMMON_DIR' e retorna `/path/main/.git/refs/heads/master`, já que as refs são compartilhados em todas as árvores de trabalho, exceto 'refs/bisect' e 'refs/worktree'.

note: type: Plain text
en: See linkgit:gitrepository-layout[5] for more information. The rule of thumb is do not make any assumption about whether a path belongs to $GIT_DIR or $GIT_COMMON_DIR when you need to directly access something inside $GIT_DIR. Use `git rev-parse --git-path` to get the final path.
pt_BR: Para mais informações consulte linkgit:gitrepository-layout[5]. A regra geral é não fazer qualquer suposição sobre se um caminho pertence ao `$GIT_DIR` ou ao `$GIT_COMMON_DIR` quando você precisar acessar diretamente algo dentro do `$GIT_DIR`. Para obter o caminho final utilize o comando `git rev-parse --git-path`.

note: type: Plain text
en: If you manually move a linked working tree, you need to update the 'gitdir' file in the entry's directory. For example, if a linked working tree is moved to `/newpath/test-next` and its `.git` file points to `/path/main/.git/worktrees/test-next`, then update `/path/main/.git/worktrees/test-next/gitdir` to reference `/newpath/test-next` instead.
pt_BR: Caso queira mover manualmente o vínculo de uma árvore de trabalho, será preciso atualizar o arquivo 'gitdir' no diretório da entrada. Como por exemplo, caso o vínculo de uma árvore de trabalho seja movida para `/newpath/test-next` e o seu arquivo `.git` aponte para `/path/main/.git/worktrees/test-next`, então atualize `/path/main/.git/worktrees/test-next/gitdir` para a referência `/newpath/test-next`.

note: type: Plain text
en: To prevent a $GIT_DIR/worktrees entry from being pruned (which can be useful in some situations, such as when the entry's working tree is stored on a portable device), use the `git worktree lock` command, which adds a file named 'locked' to the entry's directory. The file contains the reason in plain text. For example, if a linked working tree's `.git` file points to `/path/main/.git/worktrees/test-next` then a file named `/path/main/.git/worktrees/test-next/locked` will prevent the `test-next` entry from being pruned.  See linkgit:gitrepository-layout[5] for details.
pt_BR: Para impedir que uma entrada `$GIT_DIR/worktrees` seja removida (que pode ser útil em algumas situações, como quando a árvore de trabalho da entrada é armazenada em um dispositivo portátil), utilize o comando `git worktree lock` que adiciona um arquivo chamado 'locked' ao diretório da entrada. O arquivo contém o motivo no formato texto puro, sem formatação. Por exemplo, caso o arquivo `.git` aponte para `/path/main/.git/worktrees/test-next` então o arquivo de nome `/path/main/.git/worktrees/test-next/locked` prevenirá que a entrada `test-next` seja excluída.  Para mais detalhes consulte linkgit:gitrepository-layout[5].

note: type: Plain text
en: When extensions.worktreeConfig is enabled, the config file `.git/worktrees/<id>/config.worktree` is read after `.git/config` is.
pt_BR: Quando a opção de configuração `extensions.worktreeConfig` está ativo, o arquivo de configuração `.git/worktrees/<id>/config.worktree` é lido após o `.git/config`.

note: type: Title -
en: LIST OUTPUT FORMAT
pt_BR: FORMATO DA LISTA DE SAÍDA

note: type: Plain text
en: The worktree list command has two output formats.  The default format shows the details on a single line with columns.  For example:
pt_BR: O comando `worktree` gera dois formatos na saída.  O formato já predefinido exibe os detalhes em uma única linha com colunas.  Por exemplo:

note: type: delimited block -
en: $ git worktree list
    /path/to/bare-source            (bare)
    /path/to/linked-worktree        abcd1234 [master]
    /path/to/other-linked-worktree  1234abc  (detached HEAD)
pt_BR: $ git worktree list
    /path/to/bare-source            (bare)
    /path/to/linked-worktree        abcd1234 [master]
    /path/to/other-linked-worktree  1234abc  (HEAD desanexado)

note: type: Title ~
en: Porcelain Format
pt_BR: Formato Porcelana

note: type: Plain text
en: The porcelain format has a line per attribute.  Attributes are listed with a label and value separated by a single space.  Boolean attributes (like 'bare' and 'detached') are listed as a label only, and are only present if and only if the value is true.  The first attribute of a worktree is always `worktree`, an empty line indicates the end of the record.  For example:
pt_BR: The porcelain format has a line per attribute.  Attributes are listed with a label and value separated by a single space.  Boolean attributes (like 'bare' and 'detached') are listed as a label only, and are only present if and only if the value is true.  The first attribute of a worktree is always `worktree`, an empty line indicates the end of the record.  Por exemplo:

note: type: Plain text
en: You are in the middle of a refactoring session and your boss comes in and demands that you fix something immediately. You might typically use linkgit:git-stash[1] to store your changes away temporarily, however, your working tree is in such a state of disarray (with new, moved, and removed files, and other bits and pieces strewn around) that you don't want to risk disturbing any of it. Instead, you create a temporary linked working tree to make the emergency fix, remove it when done, and then resume your earlier refactoring session.
pt_BR: Você está no meio de uma sessão de refatoração e o seu chefe entra e exige que você conserte algo imediatamente. Você normalmente pode usar o linkgit:git-stash[1] para armazenar temporariamente as suas alterações, no entanto, a sua árvore de trabalho está em uma condição de desordem (com arquivos novos, movidos e removidos e outros pedaços espalhados) que você não quer arriscar mexer em nenhum deles. Em vez disso, você cria uma árvore de trabalho vinculada temporária para fazer a correção de emergência, removê-la quando terminar e em seguida, retomar a sua sessão de refatoração anterior.

note: type: delimited block -
en: $ git worktree add -b emergency-fix ../temp master
    $ pushd ../temp
    # ... hack hack hack ...
    $ git commit -a -m 'emergency fix for boss'
    $ popd
    $ git worktree remove ../temp
pt_BR: $ git worktree add -b emergency-fix ../temp master
    $ pushd ../temp
    # ... hack hack hack ...
    $ git commit -a -m 'correção de emergência para o chefe'
    $ popd
    $ git worktree remove ../temp

note: type: Plain text
en: Multiple checkout in general is still experimental, and the support for submodules is incomplete. It is NOT recommended to make multiple checkouts of a superproject.
pt_BR: A averiguação múltipla em geral ainda é experimental e a compatibilidade para os submódulos ainda está incompleto. NÃO é recomendado fazer várias averiguações de um superprojeto.

note: type: Plain text
en: git-write-tree - Create a tree object from the current index
pt_BR: git-write-tree - Crie um objeto árvore do índice atual

note: type: Plain text
en: 'git write-tree' [--missing-ok] [--prefix=<prefix>/]
pt_BR: 'git write-tree' [--missing-ok] [--prefix=<prefixo>/]

note: type: Plain text
en: Creates a tree object using the current index. The name of the new tree object is printed to standard output.
pt_BR: Cria um objeto árvore utilizando o índice atual. O nome do novo objeto árvore é impresso na saída padrão.

note: type: Plain text
en: The index must be in a fully merged state.
pt_BR: O índice deve estar em uma condição totalmente mesclada.

note: type: Plain text
en: Conceptually, 'git write-tree' sync()s the current index contents into a set of tree files.  In order to have that match what is actually in your directory right now, you need to have done a 'git update-index' phase before you did the 'git write-tree'.
pt_BR: Conceitualmente, o comando 'git write-tree' sync() é o conteúdo atual do índice em um conjunto dos arquivos na árvore.  Para ter esta coincidência com o que está realmente no seu diretório agora, é necessário ter feito uma fase com o comando 'git update-index' antes de fazer o 'git write-tree'.

note: type: Plain text
en: Normally 'git write-tree' ensures that the objects referenced by the directory exist in the object database.  This option disables this check.
pt_BR: Normalmente, 'git write-tree' garante que os objetos usando como referência pelo diretório existam no banco de dados dos objetos.  Esta opção desativa esta verificação.

note: type: Plain text
en: Writes a tree object that represents a subdirectory `<prefix>`.  This can be used to write the tree object for a subproject that is in the named subdirectory.
pt_BR: Escreve o objeto árvore que represente um subdiretório `<prefixo>`.  Pode ser usado para gravar o objeto árvore em um subprojeto que está no subdiretório informado.

note: type: Plain text
en: gitglossary - A Git Glossary
pt_BR: gitglossary - Um Glossário do Git

note: type: Plain text
en: linkgit:gittutorial[7], linkgit:gittutorial-2[7], linkgit:gitcvs-migration[7], linkgit:giteveryday[7], link:user-manual.html[The Git User's Manual]
pt_BR: linkgit:gittutorial[7], linkgit:gittutorial-2[7], linkgit:gitcvs-migration[7], linkgit:giteveryday[7], link:user-manual.html[O Manual do Usuário Git]

note: type: Labeled list
en: [[def_alternate_object_database]]alternate object database
pt_BR: [[def_alternate_object_database]]alternate object database (banco de dados alternativo do objeto)

note: type: Plain text
en: Via the alternates mechanism, a <<def_repository,repository>> can inherit part of its <<def_object_database,object database>> from another object database, which is called an "alternate".
pt_BR: Através do mecanismo alternativo, um <<def_repository,repositório>> pode herdar parte do seu <<def_object_database,banco de dados do objeto>> vindo de outro banco de dados de objeto, chamado "alternativo".

note: type: Labeled list
en: [[def_bare_repository]]bare repository
pt_BR: [[def_bare_repository]]bare repository (repositório simples)

note: type: Plain text
en: A bare repository is normally an appropriately named <<def_directory,directory>> with a `.git` suffix that does not have a locally checked-out copy of any of the files under revision control. That is, all of the Git administrative and control files that would normally be present in the hidden `.git` sub-directory are directly present in the `repository.git` directory instead, and no other files are present and checked out. Usually publishers of public repositories make bare repositories available.
pt_BR: Um repositório simples normalmente é um diretório <<def_directory,diretório>> apropriadamente denominado com um sufixo `.git` que não possui uma cópia local averiguada de nenhum dos arquivos sob controle da revisão. Ou seja, todos os arquivos administrativos e de controle do Git que normalmente estariam presentes no subdiretório `.git` oculto estão diretamente presentes no diretório `repository.git`, e nenhum outro arquivo está presente e é retirado. Normalmente, os editores dos repositórios públicos disponibilizam repositórios simples.

note: type: Labeled list
en: [[def_blob_object]]blob object
pt_BR: [[def_blob_object]]blob object (objeto bolha)

note: type: Plain text
en: Untyped <<def_object,object>>, e.g. the contents of a file.
pt_BR: Um <<def_object,objeto>> sem tipo, como por exemplo, o conteúdo de um arquivo.

note: type: Labeled list
en: [[def_branch]]branch
pt_BR: [[def_branch]]branch (ramo)

note: type: Plain text
en: A "branch" is an active line of development.  The most recent <<def_commit,commit>> on a branch is referred to as the tip of that branch.  The tip of the branch is referenced by a branch <<def_head,head>>, which moves forward as additional development is done on the branch.  A single Git <<def_repository,repository>> can track an arbitrary number of branches, but your <<def_working_tree,working tree>> is associated with just one of them (the "current" or "checked out" branch), and <<def_HEAD,HEAD>> points to that branch.
pt_BR: Um "ramo" é uma linha ativa de desenvolvimento.  O <<def_commit,commit >> mais recente em um ramo é referido como o cume deste ramo.  O cume do ramo é referenciado por um ramo <<def_head,head>>, que avança à medida que o desenvolvimento adicional é feito no ramo.  Um único Git <<def_repository,repositório>> pode monitorar um número arbitrário de ramos, porém a sua <<def_working_tree,árvore de trabalho>> está associada apenas a uma delas (o ramo "atual" ou "averiguado") e <<def_HEAD,HEAD>> aponte para esse ramo.

note: type: Plain text
en: Obsolete for: <<def_index,index>>.
pt_BR: É obsoleto para: <<def_index,índice>>.

note: type: Labeled list
en: [[def_chain]]chain
pt_BR: [[def_chain]]chain (cadeia ou corrente)

note: type: Plain text
en: A list of objects, where each <<def_object,object>> in the list contains a reference to its successor (for example, the successor of a <<def_commit,commit>> could be one of its <<def_parent,parents>>).
pt_BR: Uma lista dos objetos onde cada objeto <<def_object,objeto>> contém uma referência ao seu sucessor (como por exemplo, o sucessor de um <<def_commit,commit>> pode ser uma das suas <<def_parent,origens>>).

note: type: Labeled list
en: [[def_changeset]]changeset
pt_BR: [[def_changeset]]changeset (conjunto de alterações)

note: type: Plain text
en: BitKeeper/cvsps speak for "<<def_commit,commit>>". Since Git does not store changes, but states, it really does not make sense to use the term "changesets" with Git.
pt_BR: O BitKeeper/cvsps fala por "<<def_commit,commit>>". Como o Git não armazena as alterações, mas declara, que realmente não faz sentido utilizar o termo "changesets" com o Git.

note: type: Labeled list
en: [[def_checkout]]checkout
pt_BR: [[def_checkout]]checkout (averiguação)

note: type: Plain text
en: The action of updating all or part of the <<def_working_tree,working tree>> with a <<def_tree_object,tree object>> or <<def_blob_object,blob>> from the <<def_object_database,object database>>, and updating the <<def_index,index>> and <<def_HEAD,HEAD>> if the whole working tree has been pointed at a new <<def_branch,branch>>.
pt_BR: A ação de atualizar todos ou parte da <<def_working_tree,árvore de trabalho>> com o <<def_tree_object,objeto da árvore>> ou <<def_blob_object,bolha>> vindo do <<def_object_database,banco de dados do objeto>>, e atualizando o <<def_index,índice>> e <<def_HEAD,HEAD>> caso toda a árvore tenha um ponteiro para um novo <<def_branch,ramo>>.

note: type: Labeled list
en: [[def_cherry-picking]]cherry-picking
pt_BR: [[def_cherry-picking]]cherry-picking (escolha-seletiva)

note: type: Plain text
en: In <<def_SCM,SCM>> jargon, "cherry pick" means to choose a subset of changes out of a series of changes (typically commits) and record them as a new series of changes on top of a different codebase. In Git, this is performed by the "git cherry-pick" command to extract the change introduced by an existing <<def_commit,commit>> and to record it based on the tip of the current <<def_branch,branch>> as a new commit.
pt_BR: No jargão <<def_SCM,SCM>>, a "escolha seletiva" (cherry pick) significa escolher um subconjunto das alterações de uma série de alterações (em geral, commits) e registrá-las como uma nova série de alterações sobre uma base de código diferente. No Git, isso é executado pelo comando `git cherry-pick` para extrair a alteração introduzida através de um <<def_commit,commit>> já existente e registrá-lo com base no cume do <<def_branch,ramo>> atual como um novo commit.

note: type: Labeled list
en: [[def_clean]]clean
pt_BR: [[def_clean]]clean (limpar, limpeza)

note: type: Plain text
en: A <<def_working_tree,working tree>> is clean, if it corresponds to the <<def_revision,revision>> referenced by the current <<def_head,head>>. Also see "<<def_dirty,dirty>>".
pt_BR: Uma <<def_working_tree,árvore de trabalho>> está limpa, caso corresponda à <<def_revision,revisão>> referenciada pelo <<def_head,cabeçalho>> atual. Consulte também "<<def_dirty,dirty>>".

note: type: Plain text
en: As a noun: A single point in the Git history; the entire history of a project is represented as a set of interrelated commits.  The word "commit" is often used by Git in the same places other revision control systems use the words "revision" or "version".  Also used as a short hand for <<def_commit_object,commit object>>.
pt_BR: Como um substantivo: um único ponto no histórico do Git; todo o histórico de um projeto é representado como um conjunto de commits inter-relacionados.  A palavra "commit" é frequentemente utilizada pelo Git nos mesmos locais onde outros sistemas para o controle da revisão utilizem as palavras "revision" (revisão) ou "version" (versão).  Também utilizado como uma abreviação para um <<def_commit_object,objeto commit>>.

note: type: Plain text
en: As a verb: The action of storing a new snapshot of the project's state in the Git history, by creating a new commit representing the current state of the <<def_index,index>> and advancing <<def_HEAD,HEAD>> to point at the new commit.
pt_BR: Como um verbo: A ação de armazenar um novo instantâneo da condição do projeto no histórico do Git, criando um novo commit que representa a condição atual do <<def_index,índice>> e avançando o <<def_HEAD,HEAD>> apontando para o novo commit.

note: type: Labeled list
en: [[def_commit_object]]commit object
pt_BR: [[def_commit_object]]commit object (objeto commit)

note: type: Plain text
en: An <<def_object,object>> which contains the information about a particular <<def_revision,revision>>, such as <<def_parent,parents>>, committer, author, date and the <<def_tree_object,tree object>> which corresponds to the top <<def_directory,directory>> of the stored revision.
pt_BR: Um objeto <<def_object,objeto>>, que contém as informações sobre uma <<def_revision,revisão>> específica, como <<def_parent,origem>>, de quem fez o commit, o autor, a data e o <<def_tree_object,objeto árvore>> que corresponde <<def_directory,diretório>> da revisão que foi armazenada.

note: type: Labeled list
en: [[def_commit-ish]]commit-ish (also committish)
pt_BR: [[def_commit-ish]]commit-ish (também committish)

note: type: Plain text
en: A <<def_commit_object,commit object>> or an <<def_object,object>> that can be recursively dereferenced to a commit object.  The following are all commit-ishes: a commit object, a <<def_tag_object,tag object>> that points to a commit object, a tag object that points to a tag object that points to a commit object, etc.
pt_BR: Um <<def_commit_object,objeto commit>> ou um <<def_object,objeto>> que pode perder a referência de forma recursiva para um objeto commit.  A seguir estão todos os 'commit-ishes': um objeto commit, um <<def_tag_object,objeto tag>> que aponta para um objeto commit, um objeto tag que aponta para um objeto tag que aponta para um objeto commit, etc.

note: type: Labeled list
en: [[def_core_git]]core Git
pt_BR: [[def_core_git]]core Git (núcleo do Git)

note: type: Plain text
en: Fundamental data structures and utilities of Git. Exposes only limited source code management tools.
pt_BR: Estruturas de dados e utilitários fundamentais do Git. Expõe apenas as ferramentas limitadas ao gerenciamento de código-fonte.

note: type: Plain text
en: Directed acyclic graph. The <<def_commit_object,commit objects>> form a directed acyclic graph, because they have parents (directed), and the graph of commit objects is acyclic (there is no <<def_chain,chain>> which begins and ends with the same <<def_object,object>>).
pt_BR: Gráfico acíclico dirigido. Os <<def_commit_object,objetos commit>> forma um grafo acíclico direcionado, porque eles têm parentes (direcionados), e o grafo dos objetos commit são acíclicos (não existe <<def_chain,cadeia>> que comece e termine com o mesmo <<def_object,objeto>>).

note: type: Labeled list
en: [[def_dangling_object]]dangling object
pt_BR: [[def_dangling_object]]dangling object (objeto pendurado, pendente)

note: type: Plain text
en: An <<def_unreachable_object,unreachable object>> which is not <<def_reachable,reachable>> even from other unreachable objects; a dangling object has no references to it from any reference or <<def_object,object>> in the <<def_repository,repository>>.
pt_BR: Um objeto <<def_unreachable_object,objeto inacessível>> que não seja <<def_reachable,acessível>>, mesmo a partir dos outros objetos inacessíveis; um objeto pendente não tem referências a ele vinda de nenhuma referência ou <<def_object,objeto>> no <<def_repository,repositório>>.

note: type: Labeled list
en: [[def_detached_HEAD]]detached HEAD
pt_BR: [[def_detached_HEAD]]detached HEAD (HEAD desanexado, CABEÇA desanexada)

note: type: Plain text
en: Normally the <<def_HEAD,HEAD>> stores the name of a <<def_branch,branch>>, and commands that operate on the history HEAD represents operate on the history leading to the tip of the branch the HEAD points at.  However, Git also allows you to <<def_checkout,check out>> an arbitrary <<def_commit,commit>> that isn't necessarily the tip of any particular branch.  The HEAD in such a state is called "detached".
pt_BR: Normalmente, o <<def_HEAD,HEAD>> armazena o nome do <<def_branch,ramo>> e os comandos que operam no histórico que o `HEAD` representa, operam no histórico que leva ao cume do ramo onde o HEAD aponta.  No entanto, o Git também permite que você <<def_checkout,averigue>> um <<def_commit,commit>> arbitrário que não seja necessariamente o cume de qualquer ramo em particular.  O HEAD em tal condição é chamado de "desanexado" (detached).

note: type: Plain text
en: Note that commands that operate on the history of the current branch (e.g. `git commit` to build a new history on top of it) still work while the HEAD is detached. They update the HEAD to point at the tip of the updated history without affecting any branch.  Commands that update or inquire information _about_ the current branch (e.g. `git branch --set-upstream-to` that sets what remote-tracking branch the current branch integrates with) obviously do not work, as there is no (real) current branch to ask about in this state.
pt_BR: Observe que os comandos que operam no histórico do ramo atual (como por exemplo o `git commit` para criar um novo histórico sobre ele) ainda funcionam enquanto o `HEAD` for desanexado. Eles atualizam o `HEAD` para apontar no topo do histórico atualizado sem afetar nenhum ramo.  Os comandos que atualizam ou consultam informações _sobre_ o ramo atual (como por exemplo o comando `git branch --set-upstream-to` que define com qual ramo monitorado remotamente o ramo atual se integra) obviamente não funcionam, pois não há um ramo atual (real) para perguntar sobre esta condição.

note: type: Labeled list
en: [[def_directory]]directory
pt_BR: [[def_directory]]directory (diretório)

note: type: Plain text
en: The list you get with "ls" :-)
pt_BR: A lista que você consegue com "ls" :-)

note: type: Labeled list
en: [[def_dirty]]dirty
pt_BR: [[def_dirty]]dirty (sujo)

note: type: Plain text
en: A <<def_working_tree,working tree>> is said to be "dirty" if it contains modifications which have not been <<def_commit,committed>> to the current <<def_branch,branch>>.
pt_BR: Se diz que uma <<def_working_tree,árvore de trabalho>> está "suja" caso contenha alterações que não foram <<def_commit,feito os commits>> no <<def_branch,ramo>> atual.

note: type: Labeled list
en: [[def_evil_merge]]evil merge
pt_BR: [[def_evil_merge]]evil merge (mesclagem má, mau, ruim)

note: type: Plain text
en: An evil merge is a <<def_merge,merge>> that introduces changes that do not appear in any <<def_parent,parent>>.
pt_BR: Uma mesclagem má é uma <<def_merge,mesclagem>> que introduz as alterações que não aparecem em nenhuma <<def_parent,origem>>.

note: type: Labeled list
en: [[def_fast_forward]]fast-forward
pt_BR: [[def_fast_forward]]fast-forward (avanço-rápido)

note: type: Plain text
en: A fast-forward is a special type of <<def_merge,merge>> where you have a <<def_revision,revision>> and you are "merging" another <<def_branch,branch>>'s changes that happen to be a descendant of what you have. In such a case, you do not make a new <<def_merge,merge>> <<def_commit,commit>> but instead just update to his revision. This will happen frequently on a <<def_remote_tracking_branch,remote-tracking branch>> of a remote <<def_repository,repository>>.
pt_BR: Um avanço rápido é um tipo especial de <<def_merge,mesclagem>>, onde você tem uma <<def_revision,revisão>> e está "mesclando" outras alterações do <<def_branch,ramo>> que são descendentes do que você tem. Nesse caso, você não faz um <<def_merge,merge>> <<def_commit,commit>>, apenas atualiza a revisão dele. Isso acontecerá frequentemente em um <<def_remote_tracking_branch,ramo monitorado remotamente>> de um <<def_repository,repositório>> remoto.

note: type: Labeled list
en: [[def_fetch]]fetch
pt_BR: [[def_fetch]]fetch (busca)

note: type: Plain text
en: Fetching a <<def_branch,branch>> means to get the branch's <<def_head_ref,head ref>> from a remote <<def_repository,repository>>, to find out which objects are missing from the local <<def_object_database,object database>>, and to get them, too.  See also linkgit:git-fetch[1].
pt_BR: Busque um <<def_branch,ramo>> significa obter o <<def_head_ref,cabeçalho ref>> de um ramo remoto <<def_repository,repositório>>, para descobrir quais os objetos estão faltando no local <<def_object_database,banco de dados do objeto>> e para obtê-los também.  Consulte também linkgit:git-fetch[1].

note: type: Labeled list
en: [[def_file_system]]file system
pt_BR: [[def_file_system]]file system (sistema de arquivo)

note: type: Plain text
en: Linus Torvalds originally designed Git to be a user space file system, i.e. the infrastructure to hold files and directories. That ensured the efficiency and speed of Git.
pt_BR: O Linus Torvalds originalmente projetou o Git para ser um sistema de arquivos no espaço do usuário, ou seja, a infraestrutura para armazenar os arquivos e os diretórios. Isso garantiu a eficiência e a velocidade do Git.

note: type: Labeled list
en: [[def_git_archive]]Git archive
pt_BR: [[def_git_archive]]Git archive (arquivo Git)

note: type: Plain text
en: Synonym for <<def_repository,repository>> (for arch people).
pt_BR: É um sinônimo para <<def_repository,repositório>> (para o pessoal do arch).

note: type: Plain text
en: A plain file `.git` at the root of a working tree that points at the directory that is the real repository.
pt_BR: Um arquivo simples `.git` na raiz de uma árvore em funcionamento que aponte para o diretório que seja o repositório real.

note: type: Labeled list
en: [[def_grafts]]grafts
pt_BR: [[def_grafts]]grafts (grafos)

note: type: Plain text
en: Grafts enables two otherwise different lines of development to be joined together by recording fake ancestry information for commits. This way you can make Git pretend the set of <<def_parent,parents>> a <<def_commit,commit>> has is different from what was recorded when the commit was created. Configured via the `.git/info/grafts` file.
pt_BR: O Grafts permite que duas linhas de desenvolvimento diferentes sejam unidas, registrando informações falsas de ancestralidade para os commits. Dessa forma, é possível fazer o Git fingir que o conjunto de <<def_parent,parents>> um <<def_commit,commit>> tenha é diferente do que foi registrado quando o commit foi criado. Configurado através do arquivo `.git/info/grafts`.

note: type: Plain text
en: Note that the grafts mechanism is outdated and can lead to problems transferring objects between repositories; see linkgit:git-replace[1] for a more flexible and robust system to do the same thing.
pt_BR: Observe que o mecanismo de enxertos está desatualizado e pode levar a problemas na transferência dos objetos entre os repositórios; para fazer a mesma coisa consulte linkgit:git-replace[1] para um sistema mais flexível e robusto.

note: type: Plain text
en: In Git's context, synonym for <<def_object_name,object name>>.
pt_BR: Em termos do Git, é um sinônimo para <<def_object_name,nome do objeto>>.

note: type: Labeled list
en: [[def_head]]head
pt_BR: [[def_head]]head (cabeçalho, cabeça)

note: type: Plain text
en: A <<def_ref,named reference>> to the <<def_commit,commit>> at the tip of a <<def_branch,branch>>.  Heads are stored in a file in `$GIT_DIR/refs/heads/` directory, except when using packed refs. (See linkgit:git-pack-refs[1].)
pt_BR: Um <<def_ref,named reference>> para o <<def_commit,commit>> no topo do <<def_branch,ramo>>.  Os `HEADS` são armazenados em um arquivo no diretório `$GIT_DIR/refs/heads/`, exceto quando é utilizado um `ref` empacotado. (Consulte linkgit:git-pack-refs[1].)

note: type: Labeled list
en: [[def_HEAD]]HEAD
pt_BR: [[def_HEAD]]HEAD (CABEÇALHO, CABEÇA)

note: type: Plain text
en: The current <<def_branch,branch>>.  In more detail: Your <<def_working_tree, working tree>> is normally derived from the state of the tree referred to by HEAD.  HEAD is a reference to one of the <<def_head,heads>> in your repository, except when using a <<def_detached_HEAD,detached HEAD>>, in which case it directly references an arbitrary commit.
pt_BR: O <<def_branch,ramo>> atual.  Com mais detalhes: A sua <<def_working_tree,árvore de trabalho>> normalmente deriva da condição da referência da árvore através do `HEAD`.  O `HEAD` é a referência para um dos <<def_head,cabeçalhos>> no seu repositório, exceto quando utilizar um <<def_detached_HEAD,HEAD desanexado>>, neste caso, referencia diretamente um commit arbitrário.

note: type: Labeled list
en: [[def_head_ref]]head ref
pt_BR: [[def_head_ref]]head ref (referência do cabeçalho)

note: type: Plain text
en: A synonym for <<def_head,head>>.
pt_BR: É um sinônimo para <<def_head,cabeçalho>>.

note: type: Labeled list
en: [[def_hook]]hook
pt_BR: [[def_hook]]hook (gancho)

note: type: Plain text
en: During the normal execution of several Git commands, call-outs are made to optional scripts that allow a developer to add functionality or checking. Typically, the hooks allow for a command to be pre-verified and potentially aborted, and allow for a post-notification after the operation is done. The hook scripts are found in the `$GIT_DIR/hooks/` directory, and are enabled by simply removing the `.sample` suffix from the filename. In earlier versions of Git you had to make them executable.
pt_BR: Durante a execução normal dos vários comandos Git, são feitas chamadas para os scripts opcionais que permitem que um desenvolvedor adicione mais funcionalidades ou verificações. Normalmente, os ganchos permitem que um comando seja pré-verificado e potencialmente abortado e permite uma notificação após a conclusão da operação. Os scripts do gancho são encontrados no diretório `$GIT_DIR/hooks/` e são ativados simplesmente ao remover o sufixo `.sample` do nome do arquivo. Nas versões anteriores do Git, era necessário torná-los executáveis.

note: type: Labeled list
en: [[def_index]]index
pt_BR: [[def_index]]index (índice)

note: type: Plain text
en: A collection of files with stat information, whose contents are stored as objects. The index is a stored version of your <<def_working_tree,working tree>>. Truth be told, it can also contain a second, and even a third version of a working tree, which are used when <<def_merge,merging>>.
pt_BR: Uma coleção dos arquivos com as informações das estatísticas, cujo conteúdo é armazenado como objetos. O índice é uma versão armazenada da sua <<def_working_tree,árvore de trabalho>>. Na verdade, ele também pode conter uma segunda e até terceira versão de uma árvore em funcionamento, que são usadas quando for <<def_merge,mesclado>>.

note: type: Labeled list
en: [[def_index_entry]]index entry
pt_BR: [[def_index_entry]]index entry (lançamento, entrada do índice)

note: type: Plain text
en: The information regarding a particular file, stored in the <<def_index,index>>. An index entry can be unmerged, if a <<def_merge,merge>> was started, but not yet finished (i.e. if the index contains multiple versions of that file).
pt_BR: As informações sobre um determinado arquivo, armazenadas no <<def_index,índice>>. Uma entrada do índice pode ter a mesclagem removida, caso uma <<def_merge,mesclagem>> seja iniciada, porém ainda não foi concluído (ou seja, caso o índice contenha várias versões deste arquivo).

note: type: Labeled list
en: [[def_master]]master
pt_BR: [[def_master]]master (mestre)

note: type: Plain text
en: The default development <<def_branch,branch>>. Whenever you create a Git <<def_repository,repository>>, a branch named "master" is created, and becomes the active branch. In most cases, this contains the local development, though that is purely by convention and is not required.
pt_BR: O desenvolvimento predefinido do <<def_branch,ramo>>. Sempre quando você cria um <<def_repository,repositório>> Git, um ramo chamado "master" é criado e se torna o ramo ativo. Na maioria dos casos, contém o desenvolvimento local, embora isto seja puramente por convenção e não seja necessário.

note: type: Labeled list
en: [[def_merge]]merge
pt_BR: [[def_merge]]merge (mesclar, mesclagem, juntar, combinar, misturar, fundir-se, unir, ligar-se)

note: type: Plain text
en: As a verb: To bring the contents of another <<def_branch,branch>> (possibly from an external <<def_repository,repository>>) into the current branch.  In the case where the merged-in branch is from a different repository, this is done by first <<def_fetch,fetching>> the remote branch and then merging the result into the current branch.  This combination of fetch and merge operations is called a <<def_pull,pull>>.  Merging is performed by an automatic process that identifies changes made since the branches diverged, and then applies all those changes together.  In cases where changes conflict, manual intervention may be required to complete the merge.
pt_BR: Como verbo: Para trazer o conteúdo de outro <<def_branch,ramo>> (possivelmente de um <<def_repository,repositório>> externo) para o ramo atual.  No caso onde a ramificação mesclada seja de um repositório diferente, primeiro isto é feito ao <<def_fetch,buscar>> (fetch) o ramo remoto e depois mesclando o seu resultado no ramo atual.  Essa combinação das operações de busca e mesclagem é chamada de <<def_pull,captura>> (pull).  A mesclagem é realizada através de um processo automático que identifica as alterações feitas desde que as ramificações divirjam e depois aplique todas estas alterações juntas.  Nos casos onde as alterações entrem em conflito, pode ser necessária intervenção manual para concluir a mesclagem.

note: type: Plain text
en: As a noun: unless it is a <<def_fast_forward,fast-forward>>, a successful merge results in the creation of a new <<def_commit,commit>> representing the result of the merge, and having as <<def_parent,parents>> the tips of the merged <<def_branch,branches>>.  This commit is referred to as a "merge commit", or sometimes just a "merge".
pt_BR: Como substantivo: a menos que seja um <<def_fast_forward,avanço rápido>>, uma mesclagem bem-sucedida resulta na criação de um novo <<def_commit,commit>> representando o resultado da mesclagem e tendo como <<def_parent,parentes>> as dicas das <<def_branch,ramificações>>.  Este commit refere-se ao chamado "merge commit" (commit da mesclagem) ou às vezes, apenas como "mesclagem".

note: type: Labeled list
en: [[def_object]]object
pt_BR: [[def_object]]object (objeto)

note: type: Plain text
en: The unit of storage in Git. It is uniquely identified by the <<def_SHA1,SHA-1>> of its contents. Consequently, an object cannot be changed.
pt_BR: A unidade de armazenamento no Git. Ele é identificado exclusivamente pelo <<def_SHA1,SHA-1>> do seu conteúdo. Consequentemente, um objeto não pode ser alterado.

note: type: Labeled list
en: [[def_object_database]]object database
pt_BR: [[def_object_database]]object database (banco de dados do objeto)

note: type: Plain text
en: Stores a set of "objects", and an individual <<def_object,object>> is identified by its <<def_object_name,object name>>. The objects usually live in `$GIT_DIR/objects/`.
pt_BR: Armazena o conjunto de "objetos", e um <<def_object,objeto>> individual é identificado pelos seus <<def_object_name,nomes dos objetos>>. Geralmente o objeto reside no `$GIT_DIR/objects/`.

note: type: Labeled list
en: [[def_object_identifier]]object identifier
pt_BR: [[def_object_identifier]]object identifier (identificador do objeto)

note: type: Plain text
en: Synonym for <<def_object_name,object name>>.
pt_BR: É um sinônimo para o <<def_object_name,nome do objeto>>.

note: type: Labeled list
en: [[def_object_name]]object name
pt_BR: [[def_object_name]]object name (nome do objeto)

note: type: Plain text
en: The unique identifier of an <<def_object,object>>.  The object name is usually represented by a 40 character hexadecimal string.  Also colloquially called <<def_SHA1,SHA-1>>.
pt_BR: O identificador único para um <<def_object,objeto>>.  O nome do objeto geralmente é representado por uma sequência com 40 caracteres hexadecimais.  Também chamado coloquialmente de <<def_SHA1,SHA-1>>.

note: type: Labeled list
en: [[def_object_type]]object type
pt_BR: [[def_object_type]]tipo do objeto

note: type: Plain text
en: One of the identifiers "<<def_commit_object,commit>>", "<<def_tree_object,tree>>", "<<def_tag_object,tag>>" or "<<def_blob_object,blob>>" describing the type of an <<def_object,object>>.
pt_BR: Um dos identificadores "<<def_commit_object,commit>>", "<<def_tree_object,árvore>>", "<<def_tag_object,tag>>" ou "<<def_blob_object,bolha>>" descrevendo o tipo de um <<def_object,objeto>>.

note: type: Labeled list
en: [[def_octopus]]octopus
pt_BR: [[def_octopus]]octopus (polvo)

note: type: Plain text
en: To <<def_merge,merge>> more than two <<def_branch,branches>>.
pt_BR: Para <<def_merge,mesclar>> mais de duas <<def_branch,ramificações>>.

note: type: Labeled list
en: [[def_origin]]origin
pt_BR: [[def_origin]]origin (origem)

note: type: Plain text
en: The default upstream <<def_repository,repository>>. Most projects have at least one upstream project which they track. By default 'origin' is used for that purpose. New upstream updates will be fetched into <<def_remote_tracking_branch,remote-tracking branches>> named origin/name-of-upstream-branch, which you can see using `git branch -r`.
pt_BR: O <<def_repository,repositório>> upstream predefinido. A maioria dos projetos possui pelo menos um projeto "upstream" que eles monitoram. A predefinição 'origin' é usada para isso. As atualizações do novo "upstream" serão buscados no <<def_remote_tracking_branch,ramo monitorado remotamente>> chamado 'origin/name-of-upstream-branch', que você pode ver usando o comando `git branch -r`.

note: type: Labeled list
en: [[def_overlay]]overlay
pt_BR: [[def_overlay]]overlay (cobrir, revestir, sobrepor, capa, camada)

note: type: Plain text
en: Only update and add files to the working directory, but don't delete them, similar to how 'cp -R' would update the contents in the destination directory.  This is the default mode in a <<def_checkout,checkout>> when checking out files from the <<def_index,index>> or a <<def_tree-ish,tree-ish>>.  In contrast, no-overlay mode also deletes tracked files not present in the source, similar to 'rsync --delete'.
pt_BR: Atualize e adicione apenas os arquivos ao diretório de trabalho porém não os exclua, semelhante a como o comando 'cp -R' atualizaria o conteúdo no diretório de destino.  Este é o modo predefinido em <<def_checkout,checkout>> ao fazer averiguação dos arquivos vindo do <<def_index,índice>> ou <<def_tree-ish,tree-ish>>.  Por outro lado, o modo sem sobreposição também exclui os arquivos monitorados que não estão presentes na fonte, semelhante ao comando 'rsync --delete'.

note: type: Labeled list
en: [[def_pack]]pack
pt_BR: [[def_pack]]pack (pacote)

note: type: Plain text
en: A set of objects which have been compressed into one file (to save space or to transmit them efficiently).
pt_BR: Um conjunto de objetos que foram compactados em um arquivo (para economizar espaço ou transmiti-los com eficiência).

note: type: Labeled list
en: [[def_pack_index]]pack index
pt_BR: [[def_pack_index]]pack index (índice do pacote)

note: type: Plain text
en: The list of identifiers, and other information, of the objects in a <<def_pack,pack>>, to assist in efficiently accessing the contents of a pack.
pt_BR: A lista de identificadores e das outras informações dos objetos em um <<def_pack,pacote>>, para ajudar no acesso eficiente ao conteúdo de um pacote.

note: type: Labeled list
en: [[def_pathspec]]pathspec
pt_BR: [[def_pathspec]]pathspec (a especificação do caminho)

note: type: Plain text
en: Pattern used to limit paths in Git commands.
pt_BR: O padrão utilizado para limitar os caminhos nos comandos do Git.

note: type: Plain text
en: Pathspecs are used on the command line of "git ls-files", "git ls-tree", "git add", "git grep", "git diff", "git checkout", and many other commands to limit the scope of operations to some subset of the tree or worktree.  See the documentation of each command for whether paths are relative to the current directory or toplevel.  The pathspec syntax is as follows:
pt_BR: Os pathspecs são utilizados na linha de comando, os comando "git ls-files", "git ls-tree", "git add", "git grep", "git diff", "git checkout" e muitos outros para limitar o escopo das operações para algum subconjunto da árvore ou da árvore de trabalho.  Consulte a documentação de cada comando para saber se os caminhos são relativos ao diretório atual ou ao nível mais alto.  A sintaxe do pathspec é a seguinte:

note: type: Plain text
en: any path matches itself
pt_BR: qualquer caminho corresponde a si próprio

note: type: Plain text
en: the pathspec up to the last slash represents a directory prefix.  The scope of that pathspec is limited to that subtree.
pt_BR: o pathspec até a última barra representa um prefixo do diretório.  O escopo deste pathspec é limitado a esta subárvore.

note: type: Plain text
en: the rest of the pathspec is a pattern for the remainder of the pathname.  Paths relative to the directory prefix will be matched against that pattern using fnmatch(3); in particular, '*' and '?' _can_ match directory separators.
pt_BR: o restante do pathspec é um padrão para o restante do nome do caminho.  Os caminhos relativos ao prefixo do diretório serão comparados com este padrão usando fnmatch(3); '*' e '?' em particular _podem_ ser comparados com os separadores dos diretórios.

note: type: Plain text
en: For example, Documentation/*.jpg will match all .jpg files in the Documentation subtree, including Documentation/chapter_1/figure_1.jpg.
pt_BR: Como por exemplo, 'Documentação/*.jpg' irá coincidir com todos os arquivos .jpg na subárvore 'Documentação', incluindo 'Documentação/capítulo_1/figura_1.jpg'.

note: type: Plain text
en: A pathspec that begins with a colon `:` has special meaning.  In the short form, the leading colon `:` is followed by zero or more "magic signature" letters (which optionally is terminated by another colon `:`), and the remainder is the pattern to match against the path.  The "magic signature" consists of ASCII symbols that are neither alphanumeric, glob, regex special characters nor colon.  The optional colon that terminates the "magic signature" can be omitted if the pattern begins with a character that does not belong to "magic signature" symbol set and is not a colon.
pt_BR: Um pathspec que começa com dois pontos `:` tem um significado especial.  Na forma abreviada, os dois pontos iniciais `:` são seguidos por zero ou mais letras da "assinatura mágica" (que opcionalmente são terminadas por outros dois pontos `:`), o restante é o padrão que será comparado ao caminho.  A "assinatura mágica" consiste em símbolos ASCII que não são caracteres alfanuméricos, 'glob', 'regex' nem caracteres especiais.  Os dois pontos opcionais que encerram a "assinatura mágica" podem ser omitidos caso o padrão comece com um caractere que não pertença ao conjunto dos símbolos da "assinatura mágica" e não seja dois pontos.

note: type: Plain text
en: In the long form, the leading colon `:` is followed by an open parenthesis `(`, a comma-separated list of zero or more "magic words", and a close parentheses `)`, and the remainder is the pattern to match against the path.
pt_BR: Na forma longa, os dois pontos iniciais `:` são seguidos por um parêntese aberto `(`, uma lista separada por vírgula de zeros ou mais "palavras mágicas" e parênteses próximos `)`, o restante é o padrão para coincidir contra o caminho.

note: type: Plain text
en: A pathspec with only a colon means "there is no pathspec". This form should not be combined with other pathspec.
pt_BR: Um pathspec com apenas dois pontos significa "não há um pathspec". Este formulário não deve ser combinado com um outro pathspec.

note: type: Plain text
en: The magic word `top` (magic signature: `/`) makes the pattern match from the root of the working tree, even when you are running the command from inside a subdirectory.
pt_BR: A palavra mágica `top` (assinatura mágica: `/`) faz o padrão da raiz da árvore de trabalho coincidir mesmo quando você está executando o comando de dentro de um subdiretório.

note: type: Plain text
en: Wildcards in the pattern such as `*` or `?` are treated as literal characters.
pt_BR: Curingas no padrão como `*` ou `?` são tratados como caracteres literais.

note: type: Plain text
en: Case insensitive match.
pt_BR: Coincidência indiferente a letras maiúsculas ou minúsculas.

note: type: Plain text
en: Git treats the pattern as a shell glob suitable for consumption by fnmatch(3) with the FNM_PATHNAME flag: wildcards in the pattern will not match a / in the pathname.  For example, "Documentation/{asterisk}.html" matches "Documentation/git.html" but not "Documentation/ppc/ppc.html" or "tools/perf/Documentation/perf.html".
pt_BR: O Git trata o padrão como um "shell glob" adequado para o consumo do `fnmatch(3)` com a sinalização `FNM_PATHNAME`: curingas no padrão não corresponderão com o `pathname`.  Por exemplo, "Documentation/{asterisk}.html" coincide com "Documentation/git.html", mas não com "Documentation/ppc/ppc.html" ou "tools/perf/Documentation/perf.html".

note: type: Plain text
en: Two consecutive asterisks ("`**`") in patterns matched against full pathname may have special meaning:
pt_BR: Dois asteriscos consecutivos ("`**`") nos padrões coincidentes ao `pathname` completo podem ter um significado especial:

note: type: Plain text
en: A leading "`**`" followed by a slash means match in all directories. For example, "`**/foo`" matches file or directory "`foo`" anywhere, the same as pattern "`foo`". "`**/foo/bar`" matches file or directory "`bar`" anywhere that is directly under directory "`foo`".
pt_BR: Um "`**`" inicial seguido de uma barra significa que houve coincidência em todos os diretórios. Por exemplo, "`**foo`" é coincidente ao arquivo ou diretório "`foo`" em qualquer lugar, o mesmo que o padrão "`foo`". "`**/foo/bar`" é coincidente ao arquivo ou diretório "`bar`" em qualquer lugar que esteja diretamente sob o diretório "`foo`".

note: type: Plain text
en: A trailing "`/**`" matches everything inside. For example, "`abc/**`" matches all files inside directory "abc", relative to the location of the `.gitignore` file, with infinite depth.
pt_BR: Um "`/**`" à direita corresponde a tudo que estiver dentro. Por exemplo, "`abc/**`" coincide todos os arquivos dentro do diretório "abc", relativos à localização do arquivo `.gitignore`, com uma profundidade infinita.

note: type: Plain text
en: A slash followed by two consecutive asterisks then a slash matches zero or more directories. For example, "`a/**/b`" matches "`a/b`", "`a/x/b`", "`a/x/y/b`" and so on.
pt_BR: Uma barra seguida por dois asteriscos consecutivos e uma barra coincide com zero ou mais diretórios. Por exemplo, "`a/**/b`" coincide com "`a/b`", "`a/x/b`", "`a/x/y/b`" e assim por diante.

note: type: Plain text
en: Other consecutive asterisks are considered invalid.
pt_BR: Os outros asteriscos consecutivos são considerados inválidos.

note: type: Plain text
en: Glob magic is incompatible with literal magic.
pt_BR: A magica "glob" é incompatível com a mágica literal.

note: type: Plain text
en: After `attr:` comes a space separated list of "attribute requirements", all of which must be met in order for the path to be considered a match; this is in addition to the usual non-magic pathspec pattern matching.  See linkgit:gitattributes[5].
pt_BR: Após o `attr:`, vem um espaço separado da lista do "attribute requirements" (requisitos dos atributos), todos os quais devem ser atendidos para que o caminho seja considerado uma correspondência; isso é um acréscimo à coincidência usual dos padrões do `pathspec`.  Consulte linkgit:gitattributes[5].

note: type: Plain text
en: Each of the attribute requirements for the path takes one of these forms:
pt_BR: Cada um dos requisitos de atributo para o caminho assume uma destas formas:

note: type: Plain text
en: "`ATTR`" requires that the attribute `ATTR` be set.
pt_BR: "`ATTR`" requer que o atributo `ATTR` seja definido.

note: type: Plain text
en: "`-ATTR`" requires that the attribute `ATTR` be unset.
pt_BR: "`ATTR`" requer que o atributo `ATTR` não seja definido.

note: type: Plain text
en: "`ATTR=VALUE`" requires that the attribute `ATTR` be set to the string `VALUE`.
pt_BR: "`ATTR=VALUE`" requer que o atributo `ATTR` seja definido como a string `VALUE`.

note: type: Plain text
en: "`!ATTR`" requires that the attribute `ATTR` be unspecified.
pt_BR: "`!ATTR`"requer que o atributo` ATTR` não seja especificado.

note: type: Plain text
en: Note that when matching against a tree object, attributes are still obtained from working tree, not from the given tree object.
pt_BR: Observe que durante a coincidência com um objeto da árvore, os atributos ainda serão obtidos da mesma e não do objeto da árvore especificado.

note: type: Labeled list
en: exclude
pt_BR: exclude (excluí)

note: type: Plain text
en: After a path matches any non-exclude pathspec, it will be run through all exclude pathspecs (magic signature: `!` or its synonym `^`). If it matches, the path is ignored.  When there is no non-exclude pathspec, the exclusion is applied to the result set as if invoked without any pathspec.
pt_BR: Depois que um caminho coincida com qualquer `pathspec` que não foi excluído ele será executado em todos os `pathspecs` que foram excluídos (assinatura mágica: `!` or its synonym `^`). Caso coincida, o caminho é ignorado.  Quando não há um `pathspec` não excluído a exclusão é aplicada ao conjunto de resultados como se fosse invocada sem nenhum `pathspec`.

note: type: Labeled list
en: [[def_parent]]parent
pt_BR: [[def_parent]]parent (pai, origem, matriz)

note: type: Plain text
en: A <<def_commit_object,commit object>> contains a (possibly empty) list of the logical predecessor(s) in the line of development, i.e. its parents.
pt_BR: Um <<def_commit_object,objeto commit>> contém uma lista (possivelmente vazia) dos predecessores lógicos na linha de desenvolvimento, ou seja, as suas origens.

note: type: Plain text
en: The term <<def_pickaxe,pickaxe>> refers to an option to the diffcore routines that help select changes that add or delete a given text string. With the `--pickaxe-all` option, it can be used to view the full <<def_changeset,changeset>> that introduced or removed, say, a particular line of text. See linkgit:git-diff[1].
pt_BR: O termo <<def_pickaxe,pickaxe>> refere-se a uma opção para as rotinas `diffcore` que ajudam a selecionar as alterações que adicionam ou excluem uma determinada string. Com a opção `--pickaxe-all`, ela pode ser utilizada para visualizar completamente o <<def_changeset,changeset>> que introduziu ou removeu, digamos, uma determinada linha de texto. Consulte linkgit:git-diff[1].

note: type: Labeled list
en: [[def_plumbing]]plumbing
pt_BR: [[def_plumbing]]plumbing (encanamento)

note: type: Plain text
en: Cute name for <<def_core_git,core Git>>.
pt_BR: Um nome bonito para <<def_core_git,núcleo do Git>>.

note: type: Labeled list
en: [[def_porcelain]]porcelain
pt_BR: [[def_porcelain]]porcelain (porcelana)

note: type: Plain text
en: Cute name for programs and program suites depending on <<def_core_git,core Git>>, presenting a high level access to core Git. Porcelains expose more of a <<def_SCM,SCM>> interface than the <<def_plumbing,plumbing>>.
pt_BR: Nome bonito para programas e conjunto de programas, dependendo do <<def_core_git,núcleo do Git>>, apresentando um acesso de alto nível ao núcleo do Git principal. As porcelanas expõem mais uma interface <<def_SCM,SCM>> do que o <<def_plumbing,plumbing>>.

note: type: Labeled list
en: [[def_per_worktree_ref]]per-worktree ref
pt_BR: [[def_per_worktree_ref]]per-worktree ref (referência por árvore de trabalho)

note: type: Plain text
en: Refs that are per-<<def_working_tree,worktree>>, rather than global.  This is presently only <<def_HEAD,HEAD>> and any refs that start with `refs/bisect/`, but might later include other unusual refs.
pt_BR: As refs que são por-<<def_working_tree,árvore de trabalho>> em vez de global.  Atualmente isto é apresentado apenas como <<def_HEAD,HEAD>> e qualquer outra `refs` que inicie com `refs/bisect/`, mas podem posteriormente, incluir outras `refs` incomuns.

note: type: Labeled list
en: [[def_pseudoref]]pseudoref
pt_BR: [[def_pseudoref]]pseudoref (pseudo referência)

note: type: Plain text
en: Pseudorefs are a class of files under `$GIT_DIR` which behave like refs for the purposes of rev-parse, but which are treated specially by git.  Pseudorefs both have names that are all-caps, and always start with a line consisting of a <<def_SHA1,SHA-1>> followed by whitespace.  So, HEAD is not a pseudoref, because it is sometimes a symbolic ref.  They might optionally contain some additional data.  `MERGE_HEAD` and `CHERRY_PICK_HEAD` are examples.  Unlike <<def_per_worktree_ref,per-worktree refs>>, these files cannot be symbolic refs, and never have reflogs.  They also cannot be updated through the normal ref update machinery.  Instead, they are updated by directly writing to the files.  However, they can be read as if they were refs, so `git rev-parse MERGE_HEAD` will work.
pt_BR: `Pseudorefs` são uma classe de arquivos em `$GIT_DIR` que se comporta como `refs` para fins de análise de revisão, no entanto, são tratados especialmente pelo git.  Os `pseudorefs` têm nomes com maiúsculas e sempre começam com uma linha que consiste em <<def_SHA1,SHA-1>>, seguido por um espaço.  Portanto, `HEAD` não é um `pseudoref` pois às vezes é um `ref` simbólico.  Opcionalmente eles podem conter alguns dados adicionais.  São exemplos `MERGE_HEAD` e `CHERRY_PICK_HEAD`.  Ao contrário do <<def_per_worktree_ref,per-worktree refs>>, estes arquivos não podem ser `refs` simbólicos e nunca possuem um `reflogs`.  Eles também não podem ser atualizados através do mecanismo `ref` normal de atualização.  Em vez disso, eles são atualizados gravando diretamente nos arquivos.  No entanto, eles podem ser lidos como se fossem `refs`, portanto, `git rev-parse MERGE_HEAD` funcionará.

note: type: Labeled list
en: [[def_pull]]pull
pt_BR: [[def_pull]]pull (captura, puxar, atrair, apertar)

note: type: Plain text
en: Pulling a <<def_branch,branch>> means to <<def_fetch,fetch>> it and <<def_merge,merge>> it.  See also linkgit:git-pull[1].
pt_BR: Captura um <<def_branch,ramo>> significa <<def_fetch,fetch (obter)>> e <<def_merge,merge (mesclar)>>.  Consulte também linkgit:git-pull[1].

note: type: Labeled list
en: [[def_push]]push
pt_BR: [[def_push]]push (impulsionar, impulso, empurrar, apertar, pressionar, forçar, investida)

note: type: Plain text
en: Pushing a <<def_branch,branch>> means to get the branch's <<def_head_ref,head ref>> from a remote <<def_repository,repository>>, find out if it is an ancestor to the branch's local head ref, and in that case, putting all objects, which are <<def_reachable,reachable>> from the local head ref, and which are missing from the remote repository, into the remote <<def_object_database,object database>>, and updating the remote head ref. If the remote <<def_head,head>> is not an ancestor to the local head, the push fails.
pt_BR: Fazer um impulsionamento ao <<def_branch,ramo>> significa pegar a <<def_head_ref,ref do cabeçalho>> do ramo de um <<def_repository,repositório>> remoto, descobrir se é um ancestral da ref (referência) do cabeçalho local e nesse caso, colocar todos os objetos que são <<def_reachable,acessíveis>> com base na ref do cabeçalho local e que estão faltando a partir do repositório remoto, para o <<def_object_database,banco de dados do objeto>> que atualiza a ref do cabeçalho remoto. Caso o <<def_head,cabeçalho>> não seja um ancestral do cabeçalho local, o impulsionamento (push) vai falhar.

note: type: Labeled list
en: [[def_reachable]]reachable
pt_BR: [[def_reachable]]reachable (acessível ou alcançável)

note: type: Plain text
en: All of the ancestors of a given <<def_commit,commit>> are said to be "reachable" from that commit. More generally, one <<def_object,object>> is reachable from another if we can reach the one from the other by a <<def_chain,chain>> that follows <<def_tag,tags>> to whatever they tag, <<def_commit_object,commits>> to their parents or trees, and <<def_tree_object,trees>> to the trees or <<def_blob_object,blobs>> that they contain.
pt_BR: Todos os ancestrais de um determinado <<def_commit,commit>> são considerados "reachable" (ou acessíveis) a partir deste commit. De um modo mais geral, um <<def_object,objeto>> é acessível a partir do outro se pudermos alcançá-lo através de um <<def_chain,chain>> seguido de <<def_tag,tags>> para o que quer que eles marque com uma tag, <<def_commit_object,commits>> para as suas origens ou árvores, e as <<def_tree_object,árvores>> para as árvores ou as <<def_blob_object,bolhas>> que os contém.

note: type: Labeled list
en: [[def_rebase]]rebase
pt_BR: [[def_rebase]]rebase (reconstrução da fundação ou reconstrução)

note: type: Plain text
en: To reapply a series of changes from a <<def_branch,branch>> to a different base, and reset the <<def_head,head>> of that branch to the result.
pt_BR: Para reaplicar uma série de alterações de uma <<def_branch,ramo>> para uma base diferente e redefinir o <<def_head,head>> dessa ramificação para o resultado.

note: type: Labeled list
en: [[def_ref]]ref
pt_BR: [[def_ref]]ref (referência)

note: type: Plain text
en: A name that begins with `refs/` (e.g. `refs/heads/master`)  that points to an <<def_object_name,object name>> or another ref (the latter is called a <<def_symref,symbolic ref>>).  For convenience, a ref can sometimes be abbreviated when used as an argument to a Git command; see linkgit:gitrevisions[7] for details.  Refs are stored in the <<def_repository,repository>>.
pt_BR: Um nome que comece com `refs/` (por exemplo, `refs/heads/master`) que aponte para um <<def_object_name,object name>> ou outro ref (o último é chamado de <<def_symref,ref simbólica>>).  Por conveniência, uma `ref` as vezes pode ser abreviado quando utilizado como um argumento em um comando Git; Para mais detalhes consulte linkgit:gitrevisions[7].  As `refs` são armazenadas no <<def_repository,repositório>>.

note: type: Plain text
en: The ref namespace is hierarchical.  Different subhierarchies are used for different purposes (e.g. the `refs/heads/` hierarchy is used to represent local branches).
pt_BR: O espaço de nomes da ref é hierárquico.  Sub-hierarquias diferentes são utilizadas para diferentes propósitos (por exemplo, a hierarquia `refs/heads/` é utilizada para representar as ramificações locais).

note: type: Plain text
en: There are a few special-purpose refs that do not begin with `refs/`.  The most notable example is `HEAD`.
pt_BR: Existem algumas referências especiais que não começam com `refs/`.  O exemplo mais notável é `HEAD`.

note: type: Plain text
en: A reflog shows the local "history" of a ref.  In other words, it can tell you what the 3rd last revision in _this_ repository was, and what was the current state in _this_ repository, yesterday 9:14pm.  See linkgit:git-reflog[1] for details.
pt_BR: Um `reflog` exibe o "histórico" local de uma `ref`.  Em outras palavras, ele pode informar qual foi a 3ª última revisão _neste_ repositório e qual era a sua condição atual, ontem às 21:14.  Para mais detalhes consulte o comando linkgit:git-reflog[1].

note: type: Plain text
en: A "refspec" is used by <<def_fetch,fetch>> and <<def_push,push>> to describe the mapping between remote <<def_ref,ref>> and local ref.
pt_BR: Um `refspec` é utilizado por <<def_fetch,fetch>> e <<def_push,push>> para descrever o mapeamento entre <<def_ref,ref>> remoto e o `ref` local.

note: type: Labeled list
en: [[def_remote]]remote repository
pt_BR: [[def_remote]]remote repository (repositório remoto)

note: type: Plain text
en: A <<def_repository,repository>> which is used to track the same project but resides somewhere else. To communicate with remotes, see <<def_fetch,fetch>> or <<def_push,push>>.
pt_BR: Um <<def_repository,repositório>> que é utilizado para rastrear os mesmo projeto porém reside em um outro lugar. Para se comunicar com ramos remotos, consulte <<def_fetch,fetch>> ou <<def_push,push>>.

note: type: Labeled list
en: [[def_remote_tracking_branch]]remote-tracking branch
pt_BR: [[def_remote_tracking_branch]]remote-tracking branch (monitorando os ramos remotamente)

note: type: Plain text
en: A <<def_ref,ref>> that is used to follow changes from another <<def_repository,repository>>. It typically looks like 'refs/remotes/foo/bar' (indicating that it tracks a branch named 'bar' in a remote named 'foo'), and matches the right-hand-side of a configured fetch <<def_refspec,refspec>>. A remote-tracking branch should not contain direct modifications or have local commits made to it.
pt_BR: Um <<def_ref,ref>> que é utilizado para rastrear as modificações de outro <<def_repository,repositório>>. Normalmente se parece com 'refs/remotes/foo/bar' (indicando que rastreia um ramo com nome 'bar' e um remoto chamado 'foo'), coincide o lado direito do `fetch` configurado <<def_refspec,refspec>>. Um ramo monitorado remotamente não deve conter alterações diretas, tão pouco, ter commits locais.

note: type: Labeled list
en: [[def_repository]]repository
pt_BR: [[def_repository]]repository (repositório)

note: type: Plain text
en: A collection of <<def_ref,refs>> together with an <<def_object_database,object database>> containing all objects which are <<def_reachable,reachable>> from the refs, possibly accompanied by meta data from one or more <<def_porcelain,porcelains>>. A repository can share an object database with other repositories via <<def_alternate_object_database,alternates mechanism>>.
pt_BR: Uma coleção de <<def_ref,refs>> junto com um <<def_object_database,banco de dados do objeto>> contendo todos os objetos que são <<def_reachable,acessível>> vindas das `refs`, possivelmente acompanhados por metadados de um ou mais <<def_porcelain,porcelanas>>. Um repositório pode compartilhar um banco de dados de objetos com outros repositórios através de <<def_alternate_object_database,mecanismo alternativo>>.

note: type: Plain text
en: The action of fixing up manually what a failed automatic <<def_merge,merge>> left behind.
pt_BR: A ação de corrigir manualmente o que uma falha automática <<def_merge,mesclagem>> deixou para trás.

note: type: Labeled list
en: [[def_revision]]revision
pt_BR: [[def_revision]]revision (revisão)

note: type: Plain text
en: Synonym for <<def_commit,commit>> (the noun).
pt_BR: Um sinônimo de <<def_commit,commit>> (o substantivo).

note: type: Labeled list
en: [[def_rewind]]rewind
pt_BR: [[def_rewind]]rewind (rebobinar, retroceder)

note: type: Plain text
en: To throw away part of the development, i.e. to assign the <<def_head,head>> to an earlier <<def_revision,revision>>.
pt_BR: Para jogar fora parte do desenvolvimento, ou seja, atribuir <<def_head,head>> a um <<def_revision,revisão>> anterior.

note: type: Plain text
en: Source code management (tool).
pt_BR: Gerenciamento do código fonte (ferramenta).

note: type: Plain text
en: "Secure Hash Algorithm 1"; a cryptographic hash function.  In the context of Git used as a synonym for <<def_object_name,object name>>.
pt_BR: "Secure Hash Algorithm 1"; uma função hash de criptográfica.  No contexto do Git utilizado como sinônimo de <<def_object_name,object name>>.

note: type: Labeled list
en: [[def_shallow_clone]]shallow clone
pt_BR: [[def_shallow_clone]]shallow clone (clonagem superficial)

note: type: Plain text
en: Mostly a synonym to <<def_shallow_repository,shallow repository>> but the phrase makes it more explicit that it was created by running `git clone --depth=...` command.
pt_BR: Em geral um sinônimo para <<def_shallow_repository,shallow repository>> porém a frase a torna mais explicita criada ao executar o comando `git clone --depth=...`.

note: type: Labeled list
en: [[def_shallow_repository]]shallow repository
pt_BR: [[def_shallow_repository]]shallow repository (repositório raso)

note: type: Plain text
en: A shallow <<def_repository,repository>> has an incomplete history some of whose <<def_commit,commits>> have <<def_parent,parents>> cauterized away (in other words, Git is told to pretend that these commits do not have the parents, even though they are recorded in the <<def_commit_object,commit object>>). This is sometimes useful when you are interested only in the recent history of a project even though the real history recorded in the upstream is much larger. A shallow repository is created by giving the `--depth` option to linkgit:git-clone[1], and its history can be later deepened with linkgit:git-fetch[1].
pt_BR: Um <<def_repository,repositório>> repositório raso possui um histórico incompleto da quais <<def_commit,commits>> possui <<def_parent,parents>> dos quais cauterizam (em outras palavras, o Git é informado para fingir que estes commits não possuam origens, ainda que esteja cadastrados no <<def_commit_object,objeto commit>>). Algumas vezes é útil quando você está interessado apenas no histórico recente de um projeto, ainda que o histórico real registrado no "upstream" seja muito maior. Um repositório raso é criado, ao usar a opção `--depth` para linkgit:git-clone[1] e o seu histórico pode ser aprofundado posteriormente com linkgit:git-fetch[1].

note: type: Labeled list
en: [[def_stash]]stash entry
pt_BR: [[def_stash]]stash entry (lançamento para estocagem)

note: type: Plain text
en: An <<def_object,object>> used to temporarily store the contents of a <<def_dirty,dirty>> working directory and the index for future reuse.
pt_BR: Um <<def_object,objeto>> é utilizado para armazenar temporariamente o conteúdo de um diretório de trabalho <<def_dirty,sujo>> e o seu índice para utilização futura.

note: type: Labeled list
en: [[def_submodule]]submodule
pt_BR: [[def_submodule]]submodule (submódulo)

note: type: Plain text
en: A <<def_repository,repository>> that holds the history of a separate project inside another repository (the latter of which is called <<def_superproject, superproject>>).
pt_BR: Um <<def_repository,repositório>> retém o histórico de um projeto separado dentro de um outro repositório (o último na qual é chamado de <<def_superproject, superproject>>).

note: type: Labeled list
en: [[def_superproject]]superproject
pt_BR: [[def_superproject]]superproject (superprojeto)

note: type: Plain text
en: A <<def_repository,repository>> that references repositories of other projects in its working tree as <<def_submodule,submodules>>.  The superproject knows about the names of (but does not hold copies of) commit objects of the contained submodules.
pt_BR: Um <<def_repository,repositório>> se refere a repositórios de outros projetos em suas próprias árvores de trabalho como <<def_submodule,submódulo>>.  O superprojeto conhece os nomes dos (mas não mantém cópias de nenhum deles) commits dos objetos que contenham os submódulos.

note: type: Labeled list
en: [[def_symref]]symref
pt_BR: [[def_symref]]symref (referência simbólica)

note: type: Plain text
en: Symbolic reference: instead of containing the <<def_SHA1,SHA-1>> id itself, it is of the format 'ref: refs/some/thing' and when referenced, it recursively dereferences to this reference.  '<<def_HEAD,HEAD>>' is a prime example of a symref. Symbolic references are manipulated with the linkgit:git-symbolic-ref[1] command.
pt_BR: Uma referência simbólica: em vez de conter o próprio id <<def_SHA1,SHA-1>>, ele tem o formato 'ref: refs/some/thing' e quando é referenciado faz uma referência recursiva a essa referência.  '<<def_HEAD,HEAD>>' é o exemplo primário de um `symref`. As referências simbólicas são manipuladas com o comando linkgit:git-symbolic-ref[1].

note: type: Labeled list
en: [[def_tag]]tag
pt_BR: [[def_tag]]tag (etiqueta)

note: type: Plain text
en: A <<def_ref,ref>> under `refs/tags/` namespace that points to an object of an arbitrary type (typically a tag points to either a <<def_tag_object,tag>> or a <<def_commit_object,commit object>>).  In contrast to a <<def_head,head>>, a tag is not updated by the `commit` command. A Git tag has nothing to do with a Lisp tag (which would be called an <<def_object_type,object type>> in Git's context). A tag is most typically used to mark a particular point in the commit ancestry <<def_chain,chain>>.
pt_BR: Um <<def_ref,ref>> sob `refs/tags/` no espaço de nomes que aponte para um objeto arbitrário (em geral uma tag que aponta seja para <<def_tag_object,tag>> ou um <<def_commit_object,objeto commit>>).  Em contraste de um <<def_head,head>>, a tag não é atualizada pelo comando `commit`. Uma tag Git não tem nada a ver com uma tag `Lisp` (que seria chamada de <<def_object_type,object type>> dentro do contexto do Git). Uma tag é normalmente utilizada para marcar um ponto específico na ancestralidade de um commit <<def_chain,chain>>.

note: type: Labeled list
en: [[def_tag_object]]tag object
pt_BR: [[def_tag_object]]objeto tag (objeto etiqueta, objeto da etiqueta)

note: type: Plain text
en: An <<def_object,object>> containing a <<def_ref,ref>> pointing to another object, which can contain a message just like a <<def_commit_object,commit object>>. It can also contain a (PGP)  signature, in which case it is called a "signed tag object".
pt_BR: Um <<def_object,objeto>> contendo um <<def_ref,ref>> apontando para outro objeto que pode conter uma mensagem como um <<def_commit_object,objeto commit>>. Também pode conter uma assinatura (PGP); nesse caso, é chamado de "signed tag object".

note: type: Labeled list
en: [[def_topic_branch]]topic branch
pt_BR: [[def_topic_branch]]topic branch (tópico do ramo)

note: type: Plain text
en: A regular Git <<def_branch,branch>> that is used by a developer to identify a conceptual line of development. Since branches are very easy and inexpensive, it is often desirable to have several small branches that each contain very well defined concepts or small incremental yet related changes.
pt_BR: Um Git comum <<def_branch,ramo>> que é utilizado por um desenvolvedor para identificar uma linha conceitual de desenvolvimento. Como as ramificações são muito fáceis e baratas, muitas vezes é desejável ter várias ramificações pequenas, cada uma contendo conceitos muito bem definidos ou pequenas alterações incrementais, porém relacionadas.

note: type: Labeled list
en: [[def_tree]]tree
pt_BR: [[def_tree]]tree (árvore)

note: type: Plain text
en: Either a <<def_working_tree,working tree>>, or a <<def_tree_object,tree object>> together with the dependent <<def_blob_object,blob>> and tree objects (i.e. a stored representation of a working tree).
pt_BR: Entre um <<def_working_tree,árvore de trabalho>> ou um <<def_tree_object,objeto árvore>> junto com os objetos dependentes <<def_blob_object,blob>> e os objetos das árvores (uma representação de uma árvore de trabalho).

note: type: Labeled list
en: [[def_tree_object]]tree object
pt_BR: [[def_tree_object]]tree object (objeto árvore)

note: type: Plain text
en: An <<def_object,object>> containing a list of file names and modes along with refs to the associated blob and/or tree objects. A <<def_tree,tree>> is equivalent to a <<def_directory,directory>>.
pt_BR: Um <<def_object,objeto>> contendo uma lista de nomes e modos em conjunto com `refs` associados as sua gotas e ou objetos da árvore. Um <<def_tree,tree>> é equivalente a um <<def_directory,diretório>>.

note: type: Labeled list
en: [[def_tree-ish]]tree-ish (also treeish)
pt_BR: [[def_tree-ish]]tree-ish (também treeish)

note: type: Plain text
en: A <<def_tree_object,tree object>> or an <<def_object,object>> that can be recursively dereferenced to a tree object.  Dereferencing a <<def_commit_object,commit object>> yields the tree object corresponding to the <<def_revision,revision>>'s top <<def_directory,directory>>.  The following are all tree-ishes: a <<def_commit-ish,commit-ish>>, a tree object, a <<def_tag_object,tag object>> that points to a tree object, a tag object that points to a tag object that points to a tree object, etc.
pt_BR: Um <<def_tree_object,objeto árvore>> ou um <<def_object,objeto>> que pode perder uma referência recursivamente em um objeto da árvore.  Perder um <<def_commit_object,objeto commit>> retorna o objeto da árvore <<def_revision,revisão>> correspondente ao topo <<def_directory,diretório>>.  São todos os tree-ishes: um <<def_commit-ish,commit-ish>>, um objeto da árvore, um <<def_tag_object,objeto tag>> que aponta para o objeto da árvore, um objeto tag que aponta para o objeto tag que aponta para o objeto árvore, etc.

note: type: Labeled list
en: [[def_unmerged_index]]unmerged index
pt_BR: [[def_unmerged_index]]unmerged index (índices não mesclados)

note: type: Plain text
en: An <<def_index,index>> which contains unmerged <<def_index_entry,index entries>>.
pt_BR: Um <<def_index,índice>> que contenha índices não mesclados <<def_index_entry,entradas do índice>>.

note: type: Labeled list
en: [[def_unreachable_object]]unreachable object
pt_BR: [[def_unreachable_object]]unreachable object (objetos inacessíveis)

note: type: Plain text
en: An <<def_object,object>> which is not <<def_reachable,reachable>> from a <<def_branch,branch>>, <<def_tag,tag>>, or any other reference.
pt_BR: Um <<def_object,objeto>> que não é <<def_reachable,acessível>> de um <<def_branch,ramo>>, <<def_tag,tag>>, ou de qualquer outra referência.

note: type: Labeled list
en: [[def_upstream_branch]]upstream branch
pt_BR: [[def_upstream_branch]]upstream branch (ramo upstream)

note: type: Plain text
en: The default <<def_branch,branch>> that is merged into the branch in question (or the branch in question is rebased onto). It is configured via branch.<name>.remote and branch.<name>.merge. If the upstream branch of 'A' is 'origin/B' sometimes we say "'A' is tracking 'origin/B'".
pt_BR: É predefinido que o <<def_branch,ramo>> que seja mesclado na árvore em questão (ou no ramo onde uma reconstrução (rebase) seja feita). É configurado através do `branch.<nome>.remote` e `branch.<nome>.merge`. Caso o ramo "upstream" de 'A' seja 'origin/B' algumas vezes nós dizemos que "'A' está monitorando 'origin/B'".

note: type: Labeled list
en: [[def_working_tree]]working tree
pt_BR: [[def_working_tree]]working tree (árvore de trabalho)

note: type: Plain text
en: The tree of actual checked out files.  The working tree normally contains the contents of the <<def_HEAD,HEAD>> commit's tree, plus any local changes that you have made but not yet committed.
pt_BR: A árvore dos arquivos atualmente averiguados.  A árvore de trabalho normalmente contém o conteúdo <<def_HEAD,HEAD>> do commit da árvore, além de quaisquer alterações locais que você fizer, mas ainda o commit não foi feito.

note: type: Plain text
en: Git is to some extent character encoding agnostic.
pt_BR: O Git é, até certo ponto, um codificador de caracteres agnóstico.

note: type: Plain text
en: The contents of the blob objects are uninterpreted sequences of bytes.  There is no encoding translation at the core level.
pt_BR: O conteúdo dos objetos blob são sequências de bytes não interpretados.  Não há tradução de codificação no nível principal.

note: type: Plain text
en: Path names are encoded in UTF-8 normalization form C. This applies to tree objects, the index file, ref names, as well as path names in command line arguments, environment variables and config files (`.git/config` (see linkgit:git-config[1]), linkgit:gitignore[5], linkgit:gitattributes[5] and linkgit:gitmodules[5]).
pt_BR: Os nomes do caminho são codificados na forma de normalização UTF-8 C. Isso se aplica a objetos nas árvore, arquivos do índice, referência de nomes e nomes do caminho em argumentos da linha de comando, variáveis do ambiente e os arquivos de configuração (`.git / config` (consulte linkgit:git-config[1]), linkgit:gitignore[5], linkgit:gitattributes[5] e linkgit:gitmodules[5]).

note: type: Plain text
en: Note that Git at the core level treats path names simply as sequences of non-NUL bytes, there are no path name encoding conversions (except on Mac and Windows). Therefore, using non-ASCII path names will mostly work even on platforms and file systems that use legacy extended ASCII encodings. However, repositories created on such systems will not work properly on UTF-8-based systems (e.g. Linux, Mac, Windows) and vice versa.  Additionally, many Git-based tools simply assume path names to be UTF-8 and will fail to display other encodings correctly.
pt_BR: Observe que o Git em seu nível básico trata os nomes dos caminhos simplesmente como sequências de bytes não `NUL`, não há conversões de codificação dos nomes dos caminhos (exceto no Mac e no Windows). Portanto, o uso dos nomes do caminhos que não sejam `ASCII` funcionará principalmente em plataformas e sistemas de arquivos que se utilizem de codificações ASCII estendidas e herdadas. No entanto, os repositórios criados nestes sistemas não funcionarão corretamente em sistemas baseados em UTF-8 (por exemplo, Linux, Mac, Windows) e vice-versa.  Além disso, muitas ferramentas baseadas em Git simplesmente assumem nomes do caminho como UTF-8 e falharão ao exibir outros tipos de codificações corretamente.

note: type: Plain text
en: Commit log messages are typically encoded in UTF-8, but other extended ASCII encodings are also supported. This includes ISO-8859-x, CP125x and many others, but _not_ UTF-16/32, EBCDIC and CJK multi-byte encodings (GBK, Shift-JIS, Big5, EUC-x, CP9xx etc.).
pt_BR: As mensagens do registro log do commit geralmente são codificadas em UTF-8, porém há compatibilidade para outras codificações ASCII estendidas. Isso inclui ISO-8859-x, CP125x e muitos outros. Porém não há compatibilidade com codificações UTF-16/32, EBCDIC e CJK, codificações de vários bytes (GBK, Shift-JIS, Big5, EUC-x, CP9xx etc.).

note: type: Plain text
en: Although we encourage that the commit log messages are encoded in UTF-8, both the core and Git Porcelain are designed not to force UTF-8 on projects.  If all participants of a particular project find it more convenient to use legacy encodings, Git does not forbid it.  However, there are a few things to keep in mind.
pt_BR: Embora incentivemos que as mensagens do registro log do commit sejam codificadas em UTF-8, a Porcelana do Git e seu núcleo foram projetados para não impor a utilização do UTF-8 nos projetos.  Caso todos os participantes de um projeto em particular achem mais conveniente usar as codificações herdadas, o Git não o proibirá.  Porém, há algumas coisas a serem consideradas.

note: type: Plain text
en: 'git commit' and 'git commit-tree' issues a warning if the commit log message given to it does not look like a valid UTF-8 string, unless you explicitly say your project uses a legacy encoding.  The way to say this is to have i18n.commitencoding in `.git/config` file, like this:
pt_BR: Ambos os comandos 'git commit" e "git commit-árvore' emitem um aviso caso a mensagem do registro log do commit utilizada não se parecer com uma string UTF-8 válida, a menos que explicitamente queira que seu projeto utilize uma codificação do legado.  A melhor maneira de usar isso é ter uma variável `i18n.commitencoding` em um arquivo `.git/config`, como este:

note: type: Plain text
en: Commit objects created with the above setting record the value of `i18n.commitEncoding` in its `encoding` header.  This is to help other people who look at them later.  Lack of this header implies that the commit log message is encoded in UTF-8.
pt_BR: Os objetos commit que foram criados com a configuração acima registram o valor `i18n.commitEncoding` em seu cabeçalho `encoding`.  Isso é para auxiliar as outras pessoas que olharão para eles mais tarde.  A falta deste cabeçalho implica que a mensagem do registro log do commit seja codificado em UTF-8.

note: type: Plain text
en: 'git log', 'git show', 'git blame' and friends look at the `encoding` header of a commit object, and try to re-code the log message into UTF-8 unless otherwise specified.  You can specify the desired output encoding with `i18n.logOutputEncoding` in `.git/config` file, like this:
pt_BR: Os comandos 'git log', 'git show', 'git blame' e relacionados fazem vista para o cabeçalho `encoding` de um objeto commit e tentam codificar novamente a mensagem do registro log em UTF-8 a menos que seja definido de outra maneira.  É possível especificar a codificação da saída desejada com  a variável `i18n.logOutputEncoding` no arquivo `.git/config`, assim:

note: type: Plain text
en: If you do not have this configuration variable, the value of `i18n.commitEncoding` is used instead.
pt_BR: Caso não tenha essa variável de configuração, o valor de `i18n.commitEncoding` é utilizado em seu lugar.

note: type: Plain text
en: Note that we deliberately chose not to re-code the commit log message when a commit is made to force UTF-8 at the commit object level, because re-coding to UTF-8 is not necessarily a reversible operation.
pt_BR: Observe que decidimos deliberadamente não codificar novamente a mensagem do registro log do commit quando um commit for feito para forçar a codificação UTF-8 a nível do objeto commit, porque a re-codificação para UTF-8 não é necessariamente uma operação reversível.

note: type: Plain text
en: <start> and <end> can take one of these forms:
pt_BR: <inicio> e <fim> podem assumir uma destas formas:

note: type: Plain text
en: number
pt_BR: número

note: type: Plain text
en: If <start> or <end> is a number, it specifies an absolute line number (lines count from 1).
pt_BR: Caso <inicio> ou <fim> seja um número, ele especifica um número de linha absoluto (as linhas contam a partir do 1).

note: type: Plain text
en: This form will use the first line matching the given POSIX regex. If <start> is a regex, it will search from the end of the previous `-L` range, if any, otherwise from the start of file.  If <start> is ``^/regex/'', it will search from the start of file.  If <end> is a regex, it will search starting at the line given by <start>.
pt_BR: Este formulário usará a primeira linha correspondente ao regex POSIX informado. Caso <inicio> seja um regex, ele procurará no final do `L` do intervalo, se houver, caso contrário, desde o início do arquivo.  Caso <inicio> seja ``^/regex/'', ele pesquisará desde o início do arquivo.  Caso `<fim>` seja um regex, ele pesquisará a partir da linha fornecida através do `<inicio>`.

note: type: Plain text
en: +offset or -offset
pt_BR: +offset ou -offset

note: type: Plain text
en: This is only valid for <end> and will specify a number of lines before or after the line given by <start>.
pt_BR: Válido apenas para `<fim>` que definirá uma quantidade de linhas antes ou depois da linha utilizada por `<inicio>`.

note: type: Plain text
en: If ``:<funcname>'' is given in place of <start> and <end>, it is a regular expression that denotes the range from the first funcname line that matches <funcname>, up to the next funcname line. ``:<funcname>'' searches from the end of the previous `-L` range, if any, otherwise from the start of file. ``^:<funcname>'' searches from the start of file.
pt_BR: Caso ``:<funcname>'' seja informado no lugar de <inicio> e <fim>, é uma expressão regular que indica o intervalo da primeira "funcname" que coincide com <funcname> até a próxima linha "funcname". ``:<funcname>'' pesquisa no final do intervalo `L` anterior, se houver, caso contrário, a pesquisa ocorrerá desde o início do arquivo. ``^:<funcname>'' pesquisa desde o início do arquivo.

note: type: Plain text
en: If the file `.mailmap` exists at the toplevel of the repository, or at the location pointed to by the mailmap.file or mailmap.blob configuration options, it is used to map author and committer names and email addresses to canonical real names and email addresses.
pt_BR: Caso o arquivo `.mailmap` exista no topo do repositório ou no local apontado pelas opções da configuração `mailmap.file` ou `mailmap.blob`, ele será utilizado para mapear os nomes dos autores e os endereços de email para os seus respectivos nomes e endereços de email verdadeiros.

note: type: Plain text
en: In the simple form, each line in the file consists of the canonical real name of an author, whitespace, and an email address used in the commit (enclosed by '<' and '>') to map to the name. For example:
pt_BR: No formato simples, cada linha do arquivo consiste no nome real de um autor, espaço e um endereço de email utilizado no commit (delimitado por '<' and '>') mapeando para o nome. Por exemplo:

note: type: Plain text
en: 	Proper Name <commit@email.xx>
pt_BR: 	Nome Próprio <commit@email.xx>

note: type: Plain text
en: The more complex forms are:
pt_BR: Os formatos mais complexos são:

note: type: Plain text
en: which allows mailmap to replace only the email part of a commit, and:
pt_BR: o que permite que o mailmap substitua apenas a parte do email de um commit e:

note: type: Plain text
en: 	Proper Name <proper@email.xx> <commit@email.xx>
pt_BR: 	Nome Próprio <proper@email.xx> <commit@email.xx>

note: type: Plain text
en: which allows mailmap to replace both the name and the email of a commit matching the specified commit email address, and:
pt_BR: o que permite que o mailmap substitua ambos os nomes e o email de um commit correspondente ao endereço de email do commit especificado, e:

note: type: Plain text
en: 	Proper Name <proper@email.xx> Commit Name <commit@email.xx>
pt_BR: 	Nome Próprio <proper@email.xx> Nome de quem fez o Commit <commit@email.xx>

note: type: Plain text
en: which allows mailmap to replace both the name and the email of a commit matching both the specified commit name and email address.
pt_BR: o que permite que o mailmap substitua ambos os nomes e o email de um commit que corresponda a ambos os nomes de quem fez o commit e com o endereço de email.

note: type: Plain text
en: Example 1: Your history contains commits by two authors, Jane and Joe, whose names appear in the repository under several forms:
pt_BR: Exemplo 1: O seu histórico contém confirmações de dois autores, Jane e Joe, cujos nomes aparecem no repositório de diferentes maneiras:

note: type: Plain text
en: Now suppose that Joe wants his middle name initial used, and Jane prefers her family name fully spelled out. A proper `.mailmap` file would look like:
pt_BR: Agora, suponha que Joe queira que seu nome do meio seja utilizado no começo e Jane prefere que o nome de sua família seja escrito por extenso. Um arquivo `.mailmap` apropriado se pareceria com:

note: type: Plain text
en: Note how there is no need for an entry for `<jane@laptop.(none)>`, because the real name of that author is already correct.
pt_BR: Observe como não há necessidade de uma entrada para `<jane@laptop.(none)>` porque o nome real deste autor já está correto.

note: type: Plain text
en: Example 2: Your repository contains commits from the following authors:
pt_BR: Exemplo 2: O seu repositório contém commits dos seguintes autores:

note: type: Plain text
en: Then you might want a `.mailmap` file that looks like:
pt_BR: Então você pode querer um arquivo `.mailmap` parecido com:

note: type: Plain text
en: Use hash '#' for comments that are either on their own line, or after the email address.
pt_BR: Utilize o sinal de jogo da velha '#' para comentários que estejam em sua própria linha ou após o endereço de email.

note: type: Plain text
en: Perform the merge and commit the result. This option can be used to override --no-commit.
pt_BR: Execute a mesclagem e faça o commit com o resultado. Esta opção pode ser usada para substituir a opção `--no-commit`.

note: type: Plain text
en: With --no-commit perform the merge and stop just before creating a merge commit, to give the user a chance to inspect and further tweak the merge result before committing.
pt_BR: Com a opção `--no-commit`, executa a mesclagem e para imediatamente antes de criar a mesclagem de um commit, para dar ao usuário a chance de inspecionar e ajustar ainda mais o resultado da mesclagem antes de fazer o commit.

note: type: Plain text
en: Note that fast-forward updates do not create a merge commit and therefore there is no way to stop those merges with --no-commit.  Thus, if you want to ensure your branch is not changed or updated by the merge command, use --no-ff with --no-commit.
pt_BR: Observe que as atualizações com avanço rápido não criam a mesclagem de um commit e portanto, não há como interromper essas mesclagens com a opção `--no-commit`.  Portanto, caso queira garantir que o seu ramo não seja alterado ou atualizado pelo comando mesclar, utilize --no-ff with --no-commit.

note: type: Plain text
en: Invoke an editor before committing successful mechanical merge to further edit the auto-generated merge message, so that the user can explain and justify the merge. The `--no-edit` option can be used to accept the auto-generated message (this is generally discouraged).
pt_BR: Chame um editor antes de fazer a mesclagem mecânica de um commit bem sucedido para editar ainda mais a mensagem da mesclagem que foi gerada automaticamente, para que o usuário possa explicar e justificar a mesclagem. A opção `--no-edit` pode ser utilizada para aceitar a mensagem que foi gerada automaticamente (em geral isso é desencorajado).

note: type: Plain text
en: The `--edit` (or `-e`) option is still useful if you are giving a draft message with the `-m` option from the command line and want to edit it in the editor.
pt_BR: A opção `--edit` (ou `-e`) ainda é útil caso esteja enviando uma mensagem de rascunho com a opção `-m` na linha de comando e queira editá-la no editor.

note: type: Plain text
en: Older scripts may depend on the historical behaviour of not allowing the user to edit the merge log message. They will see an editor opened when they run `git merge`. To make it easier to adjust such scripts to the updated behaviour, the environment variable `GIT_MERGE_AUTOEDIT` can be set to `no` at the beginning of them.
pt_BR: Os scripts mais antigos podem depender do comportamento histórico de não permitir que o usuário edite a mensagem do registro log da mesclagem. Eles verão um editor aberto quando executar o `git merge`. Para facilitar o ajuste destes scripts para o comportamento que foi atualizado, a variável de ambiente `GIT_MERGE_AUTOEDIT` pode ser definido como `no` no início deles.

note: type: Plain text
en: This option determines how the merge message will be cleaned up before committing. See linkgit:git-commit[1] for more details. In addition, if the '<mode>' is given a value of `scissors`, scissors will be appended to `MERGE_MSG` before being passed on to the commit machinery in the case of a merge conflict.
pt_BR: Esta opção determina como a mensagem de mesclagem será limpa antes da confirmação. Para mais detalhes consulte linkgit:git-commit[1]. Além disso, caso o '<mode>' seja dado o valor de `scissors`, `scissors` (tesouras) será anexada a `MERGE_MSG` antes de ser repassada para o mecanismo de commit caso exista mesclagens conflitantes.

note: type: Plain text
en: Specifies how a merge is handled when the merged-in history is already a descendant of the current history.  `--ff` is the default unless merging an annotated (and possibly signed) tag that is not stored in its natural place in the `refs/tags/` hierarchy, in which case `--no-ff` is assumed.
pt_BR: Especifica como uma mesclagem é manipulada quando o histórico mesclado já é um descendente do histórico atual.  A predefinição é a opção `--ff` , a menos que durante a mesclagem de uma tag anotada (e possivelmente assinada) que não seja armazenada em seu local natural na hierarquia `refs/tags/`, no caso onde a opção `--ff` não será assumida.

note: type: Plain text
en: With `--ff`, when possible resolve the merge as a fast-forward (only update the branch pointer to match the merged branch; do not create a merge commit).  When not possible (when the merged-in history is not a descendant of the current history), create a merge commit.
pt_BR: Com `--ff`, quando for possível, resolva a mesclagem como um avanço rápido (atualize apenas o ponteiro do ramo para coincidir com a ramificação que foi mesclada; não crie um commit da mesclagem).  Quando não for possível (quando o histórico mesclado não for um descendente do histórico atual), crie um commit da mesclagem.

note: type: Plain text
en: With `--no-ff`, create a merge commit in all cases, even when the merge could instead be resolved as a fast-forward.
pt_BR: Com `--no-ff`, crie um commit da mesclagem em todos os casos, mesmo quando a mesclagem puder ser resolvida como um avanço rápido.

note: type: Plain text
en: With `--ff-only`, resolve the merge as a fast-forward when possible.  When not possible, refuse to merge and exit with a non-zero status.
pt_BR: Com a opção `--ff-only`, quando for possível, resolva a mesclagem com avanço rápido.  Quando não for possível, recuse a mesclagem e encerre com uma condição diferente de zero.

note: type: Plain text
en: GPG-sign the resulting merge commit. The `keyid` argument is optional and defaults to the committer identity; if specified, it must be stuck to the option without a space. `--no-gpg-sign` is useful to countermand both `commit.gpgSign` configuration variable, and earlier `--gpg-sign`.
pt_BR: Assine a mesclagem resultante do commit com o GPG. O argumento `keyid` é opcional e a predefinição retorna para a identidade de quem fez o commit; se utilizado, deve estar anexado a opção sem espaço. A opção `--no-gpg-sign` é útil para revogar a variável de configuração `commit.gpgSign` e a anterior `--gpg-sign`.

note: type: Plain text
en: In addition to branch names, populate the log message with one-line descriptions from at most <n> actual commits that are being merged. See also linkgit:git-fmt-merge-msg[1].
pt_BR: Além dos nomes dos ramos, preencha a mensagem do registro log com descrições de uma linha com no máximo <n> commits atuais que estão sendo mesclados. Consulte também linkgit:git-fmt-merge-msg[1].

note: type: Plain text
en: With --no-log do not list one-line descriptions from the actual commits being merged.
pt_BR: Com '--no-log', não liste as descrições de uma linha vindas do commits que estão atualmente sendo mescladas.

note: type: Plain text
en: With --no-signoff do not add a Signed-off-by line.
pt_BR: A opção `--no-signoff` não adiciona a linha de assinatura "Signed-off-by".

note: type: Plain text
en: Show a diffstat at the end of the merge. The diffstat is also controlled by the configuration option merge.stat.
pt_BR: Exiba um "diffstat" no final da mesclagem. O 'diffstat' também é controlado pela opção da configuração merge.stat.

note: type: Plain text
en: With -n or --no-stat do not show a diffstat at the end of the merge.
pt_BR: Com `-n` ou `--no-stat`, não mostre o 'diffstat' no final da mesclagem.

note: type: Plain text
en: Produce the working tree and index state as if a real merge happened (except for the merge information), but do not actually make a commit, move the `HEAD`, or record `$GIT_DIR/MERGE_HEAD` (to cause the next `git commit` command to create a merge commit).  This allows you to create a single commit on top of the current branch whose effect is the same as merging another branch (or more in case of an octopus).
pt_BR: Produza a árvore de trabalho e a condição do índice como se uma mesclagem real tivesse acontecido (exceto as informações da mesclagem), porém não efetue um commit, mova o `HEAD` ou registre o `$GIT_DIR/MERGE_HEAD` (para causar o próximo comando `git commit` para criar uma mesclagem).  Isso permite que você crie um único commit sobre o ramo atual, cujo efeito é o mesmo que mesclar um outro ramo (ou mais no caso da mesclagem "octopus").

note: type: Plain text
en: With --no-squash perform the merge and commit the result. This option can be used to override --squash.
pt_BR: Com a opção `--no-squash`, execute a mesclagem e faça o commit com o resultado. Esta opção pode ser usada para substituir a opção `--squash`.

note: type: Plain text
en: With --squash, --commit is not allowed, and will fail.
pt_BR: Com a opção `--squash`, a opção `--commit` não é permitida e irá falhar.

note: type: Plain text
en: This option bypasses the pre-merge and commit-msg hooks.  See also linkgit:githooks[5].
pt_BR: Esta opção ignora os ganchos dos commits anteriores e os ganchos das mensagens do commit.  Consulte também linkgit:githooks[5].

note: type: Plain text
en: Use the given merge strategy; can be supplied more than once to specify them in the order they should be tried.  If there is no `-s` option, a built-in list of strategies is used instead ('git merge-recursive' when merging a single head, 'git merge-octopus' otherwise).
pt_BR: Use a estratégia de mesclagem informada; podem ser utilizado mais de uma vez para defini-los na ordem em que devem ser tentados.  Caso não haja a opção `-s`, em vez disso será usada uma lista de estratégias incorporada ('git merge-recursive' ao mesclar um único cabeçalho, caso contrário 'git merge octopus').

note: type: Labeled list
en: -X <option>
pt_BR: -X <opção>

note: type: Plain text
en: Pass merge strategy specific option through to the merge strategy.
pt_BR: Passe a opção específica da estratégia através da estratégia de mesclagem.

note: type: Plain text
en: Verify that the tip commit of the side branch being merged is signed with a valid key, i.e. a key that has a valid uid: in the default trust model, this means the signing key has been signed by a trusted key.  If the tip commit of the side branch is not signed with a valid key, the merge is aborted.
pt_BR: Verifique se o topo do commit do lado do ramo mesclado está assinado com uma chave válida, ou seja, uma chave que possua um uid válida: no modelo de confiança predefinido, isso significa que a chave da assinatura foi assinada através de uma chave confiável.  Caso o topo do commit do lado do ramo não seja assinada com uma chave válida, a mesclagem será cancelada.

note: type: Plain text
en: Synonyms to --stat and --no-stat; these are deprecated and will be removed in the future.
pt_BR: É um sinônimos para `--stat` e `--no-stat`; estas opções foram descontinuadas e serão removidas no futuro.

note: type: Plain text
en: Operate quietly. Implies --no-progress.
pt_BR: Opere em silêncio. Implica no uso da opção `--no-progress`.

note: type: Plain text
en: Turn progress on/off explicitly. If neither is specified, progress is shown if standard error is connected to a terminal.  Note that not all merge strategies may support progress reporting.
pt_BR: Ativa/desativa o progresso de maneira explicita. Se nenhum seja definido, o progresso será exibido caso o erro predefinido esteja conectado a um terminal.  Observe que nem todas as estratégias de mesclagem podem se compatíveis com os relatórios de progresso.

note: type: Plain text
en: Automatically create a temporary stash entry before the operation begins, and apply it after the operation ends.  This means that you can run the operation on a dirty worktree.  However, use with care: the final stash application after a successful merge might result in non-trivial conflicts.
pt_BR: Automatically create a temporary stash entry before the operation begins, and apply it after the operation ends.  This means that you can run the operation on a dirty worktree.  No entanto, utilize com cuidado: conflitos não triviais podem acontecer caso a aplicação final do "stash" ocorra após uma mesclagem bem-sucedida.

note: type: Plain text
en: By default, `git merge` command refuses to merge histories that do not share a common ancestor.  This option can be used to override this safety when merging histories of two projects that started their lives independently. As that is a very rare occasion, no configuration variable to enable this by default exists and will not be added.
pt_BR: É predefinido que o comando `git merge` se recuse a mesclar os históricos que não compartilham de um ancestral comum.  Esta opção pode ser utilizada para substituir esta segurança durante a mesclagem dos históricos dos dois projetos que iniciaram as suas vidas de forma independente. Como esta é uma ocasião muito rara, não existe variável de configuração para ativar isso de forma predefinida e não será adicionada.

note: type: Title -
en: MERGE STRATEGIES
pt_BR: ESTRATÉGIAS DE MESCLAGEM

note: type: Plain text
en: The merge mechanism (`git merge` and `git pull` commands) allows the backend 'merge strategies' to be chosen with `-s` option.  Some strategies can also take their own options, which can be passed by giving `-X<option>` arguments to `git merge` and/or `git pull`.
pt_BR: O mecanismo da mesclagem (comandos `git merge` e `git pull`) permite que as estruturas das 'estratégias de mesclagem' sejam escolhidas com a opção `-s`.  Algumas estratégias também podem ter suas próprias opções, que podem ser passadas usando `-X<opção>` como argumentos para o comando `git merge` e/ou `git pull`.

note: type: Plain text
en: This can only resolve two heads (i.e. the current branch and another branch you pulled from) using a 3-way merge algorithm.  It tries to carefully detect criss-cross merge ambiguities and is considered generally safe and fast.
pt_BR: Isso só pode resultar em dois cabeçalhos (ou seja, a ramificação atual e uma outra ramificada da que você obteve) utilizando um algoritmo de mesclagem de três vias.  Ele tenta detectar cuidadosamente as ambiguidades cruzadas da mesclagem e geralmente é considerado seguro e rápido.

note: type: Plain text
en: This can only resolve two heads using a 3-way merge algorithm.  When there is more than one common ancestor that can be used for 3-way merge, it creates a merged tree of the common ancestors and uses that as the reference tree for the 3-way merge.  This has been reported to result in fewer merge conflicts without causing mismerges by tests done on actual merge commits taken from Linux 2.6 kernel development history.  Additionally this can detect and handle merges involving renames, but currently cannot make use of detected copies.  This is the default merge strategy when pulling or merging one branch.
pt_BR: Isso pode resolver apenas duas cabeças usando o algoritmo da mesclagem de 3 vias.  Quando há mais de um ancestral comum que pode ser usado para a mesclagem de 3 vias, ele cria uma árvore mesclada dos ancestrais comuns e o usa como a árvore de referência para a mesclagem de 3 vias.  Foi informado que isso resulta em menos conflitos durante mesclagem sem causar distorções pelos testes feitos nas mesclagens reais dos commits, retiradas do histórico de desenvolvimento do Linux kernel 2.6.  Além disso, isso pode detectar e manipular as mesclagens envolvendo renomeações, porém atualmente não pode fazer uso das cópias detectadas.  Essa é a estratégia de mesclagem predefinida ao extrair ou mesclar um ramo.

note: type: Plain text
en: The 'recursive' strategy can take the following options:
pt_BR: A estratégia 'recursiva' pode ter as seguintes opções:

note: type: Plain text
en: This option forces conflicting hunks to be auto-resolved cleanly by favoring 'our' version.  Changes from the other tree that do not conflict with our side are reflected in the merge result.  For a binary file, the entire contents are taken from our side.
pt_BR: Esta opção impõem que os pedaços conflitantes que sejam resolvidos de forma automática e de maneira limpa, favorecendo a 'nossa' versão.  As alterações vindos de outra árvore que não conflitam com o nosso lado são refletidas no resultado da mesclagem.  Para um arquivo binário, todo o conteúdo é retirado do nosso lado.

note: type: Plain text
en: This should not be confused with the 'ours' merge strategy, which does not even look at what the other tree contains at all.  It discards everything the other tree did, declaring 'our' history contains all that happened in it.
pt_BR: Isso não deve ser confundido com a estratégia da 'nossa' de mesclagem, que sequer olha para o que a outra árvore contém.  Descarta tudo o que a outra árvore fez, declarando que o 'nosso' histórico contém tudo o que aconteceu nela.

note: type: Plain text
en: This is the opposite of 'ours'; note that, unlike 'ours', there is no 'theirs' merge strategy to confuse this merge option with.
pt_BR: Este é o oposto do 'nosso'; observe que, diferentemente do 'nosso', não existe uma estratégia de mesclagem 'deles' para confundir esta opção de mesclagem.

note: type: Plain text
en: With this option, 'merge-recursive' spends a little extra time to avoid mismerges that sometimes occur due to unimportant matching lines (e.g., braces from distinct functions).  Use this when the branches to be merged have diverged wildly.  See also linkgit:git-diff[1] `--patience`.
pt_BR: Com esta opção, 'merge-recursive' gasta um pouco de tempo extra para evitar as distorções que às vezes ocorrem devido as coincidência das linhas sem importância (como, por exemplo, chaves das funções distintas).  Use isso quando os ramos que serão mesclados divergirem bastante.  Consulte também linkgit:git-diff[1] `--patience`.

note: type: Plain text
en: Tells 'merge-recursive' to use a different diff algorithm, which can help avoid mismerges that occur due to unimportant matching lines (such as braces from distinct functions).  See also linkgit:git-diff[1] `--diff-algorithm`.
pt_BR: Informa ao 'merge-recursive' para usar um algoritmo diff diferente, que pode ajudar a evitar as distorções que ocorrem devido as linhas coincidentes sem importância (como chaves das funções distintas).  Consulte também linkgit:git-diff[1] `--diff-algorithm`.

note: type: Plain text
en: Treats lines with the indicated type of whitespace change as unchanged for the sake of a three-way merge.  Whitespace changes mixed with other changes to a line are not ignored.  See also linkgit:git-diff[1] `-b`, `-w`, `--ignore-space-at-eol`, and `--ignore-cr-at-eol`.
pt_BR: Trata as linhas com o tipo indicado da mudança do espaço como inalterado por uma mesclagem de três vias.  As alterações de espaço combinadas com outras alterações em uma linha não são ignoradas.  Consulte também linkgit:git-diff[1] `-b`, `-w`, `--ignore-space-at-eol`, e `--ignore-cr-at-eol`.

note: type: Plain text
en: If 'their' version only introduces whitespace changes to a line, 'our' version is used;
pt_BR: Caso a versão 'their' (dele) introduzir apenas as alterações de espaço em uma linha, a 'our' (nossa) versão será utilizada;

note: type: Plain text
en: If 'our' version introduces whitespace changes but 'their' version includes a substantial change, 'their' version is used;
pt_BR: Caso a 'our' (nossa) versão introduzir alterações nos espaços, porém a versão 'their' (dele) incluir uma alteração substancial, a versão 'their' (dele) será utilizada;

note: type: Plain text
en: Otherwise, the merge proceeds in the usual way.
pt_BR: Caso contrário, a mesclagem continuará de forma usual.

note: type: Plain text
en: This runs a virtual check-out and check-in of all three stages of a file when resolving a three-way merge.  This option is meant to be used when merging branches with different clean filters or end-of-line normalization rules.  See "Merging branches with differing checkin/checkout attributes" in linkgit:gitattributes[5] for details.
pt_BR: Executa uma averiguação e um check-in virtual de três estágios em um arquivo ao resolver uma mesclagem de três vias.  Esta opção deve ser utilizada ao mesclar os ramos com diferentes filtros que estejam limpos ou as regras normais para a quebra de linha.  Para obter mais detalhes, consulte "Mesclando ramificações com diferentes atributos de check-in/check-out" em linkgit:gitattributes[5].

note: type: Plain text
en: Disables the `renormalize` option.  This overrides the `merge.renormalize` configuration variable.
pt_BR: Desativa a opção `renormalize`.  Substitui a variável de configuração `merge.renormalize`.

note: type: Plain text
en: Turn off rename detection. This overrides the `merge.renames` configuration variable.  See also linkgit:git-diff[1] `--no-renames`.
pt_BR: Desativa a detecção de renomeação. Isso substitui a variável de configuração `merge.renames`.  Consulte tambémlinkgit:git-diff[1] `--no-renames`.

note: type: Plain text
en: Turn on rename detection, optionally setting the similarity threshold.  This is the default. This overrides the 'merge.renames' configuration variable.  See also linkgit:git-diff[1] `--find-renames`.
pt_BR: Liga a detecção de renomeação, configurando opcionalmente o limite de similaridade.  Esta é a predefinição. Isso substitui a configuração da variável 'merge.renames'.  Consulte também linkgit:git-diff[1] `--find-renames`.

note: type: Plain text
en: Deprecated synonym for `find-renames=<n>`.
pt_BR: É um sinônimo obsoleto para `find-renames=<n>`.

note: type: Labeled list
en: subtree[=<path>]
pt_BR: subtree[=<caminho>]

note: type: Plain text
en: This option is a more advanced form of 'subtree' strategy, where the strategy makes a guess on how two trees must be shifted to match with each other when merging.  Instead, the specified path is prefixed (or stripped from the beginning) to make the shape of two trees to match.
pt_BR: Essa opção é uma forma mais avançada da estratégia da 'subárvore', onde a estratégia adivinha como as duas árvores devem ser deslocadas para coincidirem uma com a outra durante a mesclagem.  Em vez disso, o caminho definido é prefixado (ou removido desde o início) para criar a forma das duas árvores que serão coincididas.

note: type: Plain text
en: This resolves cases with more than two heads, but refuses to do a complex merge that needs manual resolution.  It is primarily meant to be used for bundling topic branch heads together.  This is the default merge strategy when pulling or merging more than one branch.
pt_BR: Isso resolve os casos com mais de dois cabeçalhos, porém se recusa a fazer uma mesclagem complexa que precise de uma resolução manual.  Destina-se primeiramente para ser usado para agrupar junto o tópico dos cabeçalhos.  Esra é a estratégia de mesclagem predefinida durante a extração ou a mesclagem com mais de um ramo.

note: type: Plain text
en: This resolves any number of heads, but the resulting tree of the merge is always that of the current branch head, effectively ignoring all changes from all other branches.  It is meant to be used to supersede old development history of side branches.  Note that this is different from the -Xours option to the 'recursive' merge strategy.
pt_BR: Isso resolve qualquer quantidade dos cabeçalhos, porém a árvore resultante da mesclagem é sempre a do cabeçalho atual do ramo, ignorando efetivamente todas as alterações de todas os outros ramos.  Ele deve ser usado para substituir o histórico antigo de desenvolvimento das ramificações laterais.  Observe que isso é diferente da opção `-Xours` da estratégia de mesclagem 'recursiva'.

note: type: Plain text
en: This is a modified recursive strategy. When merging trees A and B, if B corresponds to a subtree of A, B is first adjusted to match the tree structure of A, instead of reading the trees at the same level. This adjustment is also done to the common ancestor tree.
pt_BR: Esta é uma estratégia recursiva modificada. Ao mesclar as árvores 'A' e 'B', caso 'B' corresponda a uma subárvore de 'A', o 'B' será ajustado primeiro para coincidir à estrutura da árvore 'A', em vez de ler as árvores no mesmo nível. Esse ajuste também é feito na árvore ancestral comum.

note: type: Plain text
en: With the strategies that use 3-way merge (including the default, 'recursive'), if a change is made on both branches, but later reverted on one of the branches, that change will be present in the merged result; some people find this behavior confusing.  It occurs because only the heads and the merge base are considered when performing a merge, not the individual commits.  The merge algorithm therefore considers the reverted change as no change at all, and substitutes the changed version instead.
pt_BR: Com as estratégias que usma a mesclagem de 3 vias (incluindo a predefinição, 'recursive'), caso uma alteração seja feita em ambas as ramificações, porém depois revertida em uma das ramificações, essa alteração estará presente no resultado mesclado; algumas pessoas acham este comportamento confuso.  Isso ocorre porque apenas os cabeçalhos e a base da mesclagem são consideradas ao fazer uma mesclagem, e não os commits individuais.  Portanto, o algoritmo da mesclagem considera a alteração revertida como nenhuma alteração e substitui a versão alterada.

note: type: Title -
en: PRETTY FORMATS
pt_BR: FORMATOS BONITOS

note: type: Plain text
en: If the commit is a merge, and if the pretty-format is not 'oneline', 'email' or 'raw', an additional line is inserted before the 'Author:' line.  This line begins with "Merge: " and the hashes of ancestral commits are printed, separated by spaces.  Note that the listed commits may not necessarily be the list of the *direct* parent commits if you have limited your view of history: for example, if you are only interested in changes related to a certain directory or file.
pt_BR: Se o commit for uma mesclagem e se o formato bonito não for 'oneline', 'email' ou 'raw', uma linha adicional será inserida antes da linha 'Author:'.  Esta linha começa com "Mesclar:" e os hashes dos commits anteriores são exibidos, separados por espaços.  Observe que os commits listados podem não ser necessariamente a lista *direta* dos commits relacionados se você limitou sua visão do histórico: por exemplo, se você estiver interessado apenas em alterações relacionadas a um determinado diretório ou arquivo.

note: type: Plain text
en: There are several built-in formats, and you can define additional formats by setting a pretty.<name> config option to either another format name, or a 'format:' string, as described below (see linkgit:git-config[1]). Here are the details of the built-in formats:
pt_BR: Existem vários formatos incorporados e você pode definir formatos adicionais ao definir uma opção da configuração `pretty.<nome>` para um outro nome de formato ou uma string 'format:', conforme descrito abaixo (consulte linkgit:git-config[1]). Aqui estão os detalhes dos formatos incorporados: Aqui estão os detalhes dos formatos incorporados:

note: type: Plain text
en: <hash> <title line>
pt_BR: <hash> <linha do título>

note: type: Plain text
en: This is designed to be as compact as possible.
pt_BR: Isso foi desenvolvido para ser o mais compacto possível.

note: type: Plain text
en: commit <hash>
    Author: <author>
pt_BR: commit <hash>
    Author: <autor>

note: type: Plain text
en: <title line>
pt_BR: <linha do título>

note: type: Plain text
en: commit <hash>
    Author: <author>
    Date:   <author date>
pt_BR: commit <hash>
    Author: <autor>
    Date:   <data do autor>

note: type: Plain text
en: <full commit message>
pt_BR: <mensagem completa do commit>

note: type: Plain text
en: commit <hash>
    Author: <author>
    Commit: <committer>
pt_BR: commit <hash>
    Author: <autor>
    Commit: <quem fez o commit>

note: type: Plain text
en: commit <hash>
    Author:     <author>
    AuthorDate: <author date>
    Commit:     <committer>
    CommitDate: <committer date>
pt_BR: commit <hash>
    Author:     <autor>
    AuthorDate: <data do autor>
    Commit:     <quem fez o commit>
    CommitDate: <a data de quem fez o commit>

note: type: Plain text
en: <abbrev hash> (<title line>, <short author date>)
pt_BR: <abbrev hash> (<linha do título>, <data do autor abreviada>)

note: type: Plain text
en: This format is used to refer to another commit in a commit message and is the same as `--pretty='format:%C(auto)%h (%s, %ad)'`.  By default, the date is formatted with `--date=short` unless another `--date` option is explicitly specified.  As with any `format:` with format placeholders, its output is not affected by other options like `--decorate` and `--walk-reflogs`.
pt_BR: Este formato é utilizado para se referir a outro commit em uma mensagem de commit e é o mesmo que o formato `--pretty='format:%C(auto)%h (%s, %ad)'`.  Por predefinição a data é formatada com `--date=short`, a menos que outra opção `--date` seja utilizada de forma explicita.  Como em qualquer formato `format:` com marcadores de formato, a sua saída não é afetada por outras opções como `--decorate` e `--walk-reflogs`.

note: type: Plain text
en: From <hash> <date>
    From: <author>
    Date: <author date>
    Subject: [PATCH] <title line>
pt_BR: From <hash> <data>
    From: <autor>
    Date: <data do autor>
    Subject: [PATCH] <linha do título>

note: type: Plain text
en: Like 'email', but lines in the commit message starting with "From " (preceded by zero or more ">") are quoted with ">" so they aren't confused as starting a new commit.
pt_BR: Como 'e-mail', porém as linhas no commit da mensagem iniciando com "From" (precedidas por zero ou mais ">") são citadas com ">" para que não sejam confundidas ao iniciar um novo commit.

note: type: Plain text
en: The 'raw' format shows the entire commit exactly as stored in the commit object.  Notably, the hashes are displayed in full, regardless of whether --abbrev or --no-abbrev are used, and 'parents' information show the true parent commits, without taking grafts or history simplification into account. Note that this format affects the way commits are displayed, but not the way the diff is shown e.g. with `git log --raw`. To get full object names in a raw diff format, use `--no-abbrev`.
pt_BR: O formato 'bruto' exibe todo o commit exatamente como foi armazenado no objeto commit.  Notavelmente, os hashes são exibidos na íntegra independentemente se a opção `--abbrev` ou `--no-abbrev` foram utilizadas, as informações relacionadas as origens 'parents' demonstram quais os verdadeiros commits da origem sem levar em consideração os enxertos ou a simplificação do histórico. Observe que este formato afeta a maneira como os commits são exibidos mas não a maneira como o "diff" é exibido com `git log --raw` por exemplo. Para obter os nomes completos e sem abreviações dos objetos em formato diff bruto, utilize `--no-abbrev`.

note: type: Plain text
en: 'format:<string>'
pt_BR: 'format:<texto>'

note: type: Plain text
en: The 'format:<string>' format allows you to specify which information you want to show. It works a little bit like printf format, with the notable exception that you get a newline with '%n' instead of '\n'.
pt_BR: O formato 'format:<texto>' permite especificar quais as informações que você deseja exibir. Funciona um pouco como o formato "printf" com a exceção notável de que você obtém uma nova linha com '%n' em vez de '\n'.

note: type: Plain text
en: E.g, 'format:"The author of %h was %an, %ar%nThe title was >>%s<<%n"' would show something like this:
pt_BR: Por exemplo,'format:"O autor do %h foi %an, %ar%nO título era >>%s<<%n"' exibirá algo como isso:

note: type: delimited block -
en: The author of fe6e0ee was Junio C Hamano, 23 hours ago
    The title was >>t4119: test autocomputing -p<n> for traditional diff input.<<
pt_BR: O autor do fe6e0ee foi Junio C Hamano, 23 houras atrás
    O título era >>t4119: test autocomputing -p<n> for traditional diff input.<<

note: type: Plain text
en: The placeholders are:
pt_BR: Os espaços reservados são:

note: type: Plain text
en: Placeholders that expand to a single literal character:
pt_BR: O Espaços reservados que se expandem para um único caractere literal:

note: type: Plain text
en: print a byte from a hex code
pt_BR: imprime um byte de um código hexadecimal

note: type: Plain text
en: Placeholders that affect formatting of later placeholders:
pt_BR: Espaços reservados que afetam a formatação de espaços reservados posteriores:

note: type: Plain text
en: switch color to red
pt_BR: mudar de cor para o vermelho

note: type: Plain text
en: switch color to green
pt_BR: mudar de cor para o verde

note: type: Plain text
en: switch color to blue
pt_BR: mudar de cor para o azul

note: type: Plain text
en: reset color
pt_BR: redefine a cor

note: type: Plain text
en: color specification, as described under Values in the
pt_BR: definições das cores, conforme descrito em Valores no

note: type: Plain text
en: "CONFIGURATION FILE" section of linkgit:git-config[1].  By default, colors are shown only when enabled for log output (by `color.diff`, `color.ui`, or `--color`, and respecting the `auto` settings of the former if we are going to a terminal). `%C(auto,...)` is accepted as a historical synonym for the default (e.g., `%C(auto,red)`). Specifying `%C(always,...)` will show the colors even when color is not otherwise enabled (though consider just using `--color=always` to enable color for the whole output, including this format and anything else git might color).  `auto` alone (i.e. `%C(auto)`) will turn on auto coloring on the next placeholders until the color is switched again.
pt_BR: "ARQUIVO DE CONFIGURAÇÃO" seção do linkgit:git-config[1].  É predefinido que as cores sejam exibidas apenas quando ativadas para na saída do registro log (em `color.diff`,` color.ui` ou `color`, e respeitando as configurações `auto` da primeira se estivermos indo para um terminal). `%C(auto,...)` é aceito como um sinônimo histórico do padrão (exemplo., `%C(auto,red)`). Especificar `%C(always,...)` exibirá as cores mesmo quando a cor não estiver ativada (embora considere apenas usar `--color=always` para sempre ativar a cor na saída incluindo este formato e qualquer outro que o git possa colorir).  `auto` sozinho (ou seja,`%C(auto)`)  ativará a coloração automática nos próximos espaços reservados até que a cor seja trocada novamente.

note: type: Plain text
en: left (`<`), right (`>`) or boundary (`-`) mark
pt_BR: marca esquerda (`<`), direita (`>`) ou limite (`-`)

note: type: Plain text
en: switch line wrapping, like the -w option of
pt_BR: alterna a quebra de linha, como a opção `-w` de

note: type: Plain text
en: make the next placeholder take at
pt_BR: faça com que o próximo espaço reservado leve em

note: type: Plain text
en: least N columns, padding spaces on the right if necessary.  Optionally truncate at the beginning (ltrunc), the middle (mtrunc) or the end (trunc) if the output is longer than N columns.  Note that truncating only works correctly with N >= 2.
pt_BR: menos N colunas, preenchendo espaços à direita, se necessário.  Opcionalmente, truncar no início (ltrunc), no meio (mtrunc) ou no final (trunc) caso a saída seja maior que N colunas.  Observe que o truncamento funciona corretamente com N >= 2.

note: type: Plain text
en: make the next placeholder take at least until Nth
pt_BR: faça com que o próximo espaço reservado leve pelo menos até a enésima

note: type: Plain text
en: columns, padding spaces on the right if necessary
pt_BR: colunas, preenchimento de espaços à direita se necessário

note: type: Plain text
en: similar to '%<(<N>)', '%<|(<N>)' respectively,
pt_BR: semelhante a '%<(<N>)', '%<|(<N>)' respectivamente,

note: type: Plain text
en: but padding spaces on the left
pt_BR: mas com espaços de preenchimento à esquerda

note: type: Plain text
en: similar to '%>(<N>)', '%>|(<N>)'
pt_BR: semelhante a '%>(<N>)', '%>|(<N>)'

note: type: Plain text
en: respectively, except that if the next placeholder takes more spaces than given and there are spaces on its left, use those spaces
pt_BR: respectivamente, exceto caso o próximo espaço reservado ocupe mais espaços do que o informado e haja espaços à esquerda, utilize estes espaços

note: type: Plain text
en: similar to '%<(<N>)', '%<|(<N>)'
pt_BR: semelhante a '%<(<N>)', '%<|(<N>)'

note: type: Plain text
en: respectively, but padding both sides (i.e. the text is centered)
pt_BR: respectivamente, mas preenchendo os dois lados (ou seja, o texto é centralizado)

note: type: Plain text
en: Placeholders that expand to information extracted from the commit:
pt_BR: Espaços reservados que se expandem para as informações extraídas do commit:

note: type: Plain text
en: commit hash
pt_BR: hash do commit

note: type: Plain text
en: abbreviated commit hash
pt_BR: abreviação do hash do commit

note: type: Plain text
en: tree hash
pt_BR: hash da árvore

note: type: Plain text
en: abbreviated tree hash
pt_BR: hash abreviado da árvore

note: type: Plain text
en: parent hashes
pt_BR: hash das origens

note: type: Plain text
en: abbreviated parent hashes
pt_BR: hash abreviado das origens

note: type: Plain text
en: author name
pt_BR: nome do autor

note: type: Plain text
en: author name (respecting .mailmap, see linkgit:git-shortlog[1]
pt_BR: nome do autor (respeitando .mailmap, consulte linkgit:git-shortlog[1]

note: type: Plain text
en: or linkgit:git-blame[1])
pt_BR: ou linkgit:git-blame[1])

note: type: Plain text
en: author email
pt_BR: e-mail do autor

note: type: Plain text
en: author email (respecting .mailmap, see linkgit:git-shortlog[1]
pt_BR: e-mail do autor (respeitando .mailmap, consulte linkgit:git-shortlog[1]

note: type: Plain text
en: author email local-part (the part before the '@' sign)
pt_BR: parte local do e-mail do autor (a parte antes do sinal '@')

note: type: Plain text
en: author local-part (see '%al') respecting .mailmap, see
pt_BR: parte local do autor (consulte '%al') respeitando .mailmap, consulte

note: type: Plain text
en: linkgit:git-shortlog[1] or linkgit:git-blame[1])
pt_BR: linkgit:git-shortlog[1] ou linkgit:git-blame[1])

note: type: Plain text
en: author date (format respects --date= option)
pt_BR: data do autor (o formato respeita a opção --date=)

note: type: Plain text
en: author date, RFC2822 style
pt_BR: data do autor, no padrão RFC2822

note: type: Plain text
en: author date, relative
pt_BR: data do autor, relativa

note: type: Plain text
en: author date, UNIX timestamp
pt_BR: data do autor, com registro de data e hora em formato UNIX

note: type: Plain text
en: author date, ISO 8601-like format
pt_BR: data do autor, formato parecido com ISO 8601

note: type: Plain text
en: author date, strict ISO 8601 format
pt_BR: data do autor, formato rigoroso ao padrão ISO 8601

note: type: Plain text
en: author date, short format (`YYYY-MM-DD`)
pt_BR: data do autor, formato curto (`AAAA-MM-DD`)

note: type: Plain text
en: committer name
pt_BR: nome de quem fez o commit

note: type: Plain text
en: committer name (respecting .mailmap, see
pt_BR: nome de quem fez o commit (respeitando .mailmap, consulte

note: type: Plain text
en: committer email
pt_BR: endereço do e-mail de quem fez o commit

note: type: Plain text
en: committer email (respecting .mailmap, see
pt_BR: e-mail de quem fez o commit (respeitando .mailmap, consulte

note: type: Plain text
en: committer email local-part (the part before the '@' sign)
pt_BR: parte local do e-mail de quem fez o commit (a parte antes do sinal '@')

note: type: Plain text
en: committer local-part (see '%cl') respecting .mailmap, see
pt_BR: parte local de quem fez o commit (consulte '%cl') respeitando o .mailmap, consulte

note: type: Plain text
en: committer date (format respects --date= option)
pt_BR: data do commit (o formato respeita a opção --date=)

note: type: Plain text
en: committer date, RFC2822 style
pt_BR: data do commit, no padrão RFC2822

note: type: Plain text
en: committer date, relative
pt_BR: data do commit, relativa

note: type: Plain text
en: committer date, UNIX timestamp
pt_BR: data do commit, com registro de data e hora em formato UNIX

note: type: Plain text
en: committer date, ISO 8601-like format
pt_BR: data do commit, formato parecido com ISO 8601

note: type: Plain text
en: committer date, strict ISO 8601 format
pt_BR: data do commit, formato rigoroso ao padrão ISO 8601

note: type: Plain text
en: committer date, short format (`YYYY-MM-DD`)
pt_BR: data do commit, formato curto (`AAAA-MM-DD`)

note: type: Plain text
en: ref names, like the --decorate option of linkgit:git-log[1]
pt_BR: nomes de referência "ref", como a opção --decorate do linkgit:git-log[1]

note: type: Plain text
en: ref names without the " (", ")" wrapping.
pt_BR: nomes de referência "ref" sem quebra automática " (", ")".

note: type: Plain text
en: ref name given on the command line by which the commit was reached
pt_BR: nomes "ref" dado na linha de comando pela qual o commit foi alcançado

note: type: Plain text
en: (like `git log --source`), only works with `git log`
pt_BR: (como `git log --source`), só funciona com `git log`

note: type: Plain text
en: encoding
pt_BR: codificação

note: type: Plain text
en: subject
pt_BR: assunto

note: type: Plain text
en: sanitized subject line, suitable for a filename
pt_BR: linha do assunto higienizado, adequado para um nome de arquivo

note: type: Plain text
en: body
pt_BR: corpo

note: type: Plain text
en: raw body (unwrapped subject and body)
pt_BR: corpo bruto (assunto e corpo da mensagem desembrulhados)

note: type: Plain text
en: commit notes
pt_BR: anotações de quem fez o commit

note: type: Plain text
en: raw verification message from GPG for a signed commit
pt_BR: verificação bruta da mensagem vinda do GPG para um commit assinado

note: type: Plain text
en: show "G" for a good (valid) signature,
pt_BR: exibe "G" para obter uma boa assinatura (válida),

note: type: Plain text
en: "B" for a bad signature, "U" for a good signature with unknown validity, "X" for a good signature that has expired, "Y" for a good signature made by an expired key, "R" for a good signature made by a revoked key, "E" if the signature cannot be checked (e.g. missing key)  and "N" for no signature
pt_BR: "B" para uma assinatura ruim, "U" para uma boa assinatura com validade desconhecida, "X" para uma boa assinatura que expirou, "Y" para uma boa assinatura feita por uma chave expirada, "R" para uma boa assinatura feita por uma chave revogada, "E" caso a assinatura não possa ser verificada (por exemplo, uma chave ausente) e "N" sem assinatura

note: type: Plain text
en: show the name of the signer for a signed commit
pt_BR: exibe o nome do assinante de um commit assinado

note: type: Plain text
en: show the key used to sign a signed commit
pt_BR: exibe a chave utilizada para assinar um commit assinado

note: type: Plain text
en: show the fingerprint of the key used to sign a signed commit
pt_BR: exiba a impressão digital da chave utilizada para assinar um commit já assinado

note: type: Plain text
en: show the fingerprint of the primary key whose subkey was used
pt_BR: exiba a impressão digital da chave primária cuja subchave foi utilizada

note: type: Plain text
en: to sign a signed commit
pt_BR: para assinar um commit assinado

note: type: Plain text
en: show the trust level for the key used to sign a signed commit
pt_BR: exiba o nível de confiança da chave utilizada para assinar um commit assinado

note: type: Plain text
en: reflog selector, e.g., `refs/stash@{1}` or `refs/stash@{2
pt_BR: seletor do "reflog", por exemplo, `refs/stash@{1}` ou `refs/stash@{2

note: type: Plain text
en: minutes ago}`; the format follows the rules described for the `-g` option. The portion before the `@` is the refname as given on the command line (so `git log -g refs/heads/master` would yield `refs/heads/master@{0}`).
pt_BR: minutos atrás} `; o formato segue as regras descritas para a opção `-g`. A parte antes ao `@` é o "refname", conforme indicado na linha de comando (portanto, `git log -g refs/heads/master` produziria `refs/heads/master@{0}`).

note: type: Plain text
en: shortened reflog selector; same as `%gD`, but the refname
pt_BR: seletor do reflog encurtado; o mesmo que '%gD', menos o "refname"

note: type: Plain text
en: portion is shortened for human readability (so `refs/heads/master` becomes just `master`).
pt_BR: a parte é reduzida visando a legibilidade humana (assim, `refs/heads/master` se torna apenas `master`).

note: type: Plain text
en: reflog identity name
pt_BR: nome da identidade "reflog"

note: type: Plain text
en: reflog identity name (respecting .mailmap, see
pt_BR: nome da identidade reflog (respeitando .mailmap, consulte

note: type: Plain text
en: reflog identity email
pt_BR: e-mail da identidade reflog

note: type: Plain text
en: reflog identity email (respecting .mailmap, see
pt_BR: e-mail da identidade reflog (respeitando .mailmap, consulte

note: type: Plain text
en: reflog subject
pt_BR: assunto reflog

note: type: Plain text
en: display the trailers of the body as
pt_BR: exiba os sinais de resposta no corpo da mensagem como

note: type: Plain text
en: interpreted by linkgit:git-interpret-trailers[1]. The `trailers` string may be followed by a colon and zero or more comma-separated options:
pt_BR: interpretado por linkgit:git-interpret-trailers[1]. A carreira de caracteres de resposta pode ser seguida por dois pontos e zero ou mais opções separadas por vírgula:

note: type: Plain text
en: 'key=<K>': only show trailers with specified key. Matching is done case-insensitively and trailing colon is optional. If option is given multiple times trailer lines matching any of the keys are shown. This option automatically enables the `only` option so that non-trailer lines in the trailer block are hidden. If that is not desired it can be disabled with `only=false`.  E.g., `%(trailers:key=Reviewed-by)` shows trailer lines with key `Reviewed-by`.
pt_BR: 'key=<K>': exibe apenas os caracteres de resposta com as chaves que forem definidas. A combinação é feita sem distinção entre maiúsculas e minúsculas, os dois pontos à direita são opcionais. Caso a opção seja utilizada várias vezes, os atributos das linhas coincidentes a qualquer uma das teclas serão exibidas. Esta opção ativa automaticamente a opção `only`, para que as linhas de bloqueio não sejam ocultadas. Caso não seja o efeito desejado, pode ser desativado com a opção `only=false`.  Por exemplo, `%(trailers:key=Revisado-por)` exibe as linhas com caracteres de resposta com a chave `Revisado-por`.

note: type: Plain text
en: 'only[=val]': select whether non-trailer lines from the trailer block should be included. The `only` keyword may optionally be followed by an equal sign and one of `true`, `on`, `yes` to omit or `false`, `off`, `no` to show the non-trailer lines. If option is given without value it is enabled. If given multiple times the last value is used.
pt_BR: 'only[=val]': seleciona se o atributo das linhas dos caracteres de resposta devem ser incluídos. A palavra-chave `only` pode opcionalmente ser seguido por um sinal de igual e uma das opções `true`, `on`, `yes` para omitir ou `false`, `off`, `no` para exibir as linhas que não sejam caracteres de resposta. Caso a opção seja usada sem qualquer valor, ela será ativada. Caso seja usado várias vezes, apenas o último valor será considerado.

note: type: Plain text
en: 'separator=<SEP>': specify a separator inserted between trailer lines. When this option is not given each trailer line is terminated with a line feed character. The string SEP may contain the literal formatting codes described above. To use comma as separator one must use `%x2C` as it would otherwise be parsed as next option. If separator option is given multiple times only the last one is used. E.g., `%(trailers:key=Ticket,separator=%x2C )` shows all trailer lines whose key is "Ticket" separated by a comma and a space.
pt_BR: 'separator=<SEP>': defina um separador inserido entre as linhas dos caracteres de resposta. Quando esta opção não é utilizada, cada linha do caractere de resposta é finalizada com um caractere de avanço da linha. A sequência SEP poderá conter os códigos de formatação literal descritos acima. Para usar uma vírgula como separador, é necessário utilizar `%x2C`, pois caso contrário, seria analisado como fosse uma próxima opção. Caso a opção separadora seja utilizada várias vezes, apenas a última será levada em consideração. Como por exemplo, `%(trailers:key=Ticket,separator=%x2C )` mostra todas as linhas do caractere de resposta cuja chave é "Ticket" separada por vírgula e espaço.

note: type: Plain text
en: 'unfold[=val]': make it behave as if interpret-trailer's `--unfold` option was given. In same way as to for `only` it can be followed by an equal sign and explicit value. E.g., `%(trailers:only,unfold=true)` unfolds and shows all trailer lines.
pt_BR: 'unfold[=val]': faça com que se comporte como se a opção do interpretador do caractere de resposta da opção `--unfold` tenha sido utilizada. Da mesma maneira que `only`, .que pode ser seguido através de um sinal de igual ou valores explícitos. Como por exemplo, `%(trailers:only,unfold=true)` revela e exibe todas as linhas dos caracteres de resposta.

note: type: Plain text
en: 'valueonly[=val]': skip over the key part of the trailer line and only show the value part. Also this optionally allows explicit value.
pt_BR: 'valueonly[=val]': ignore a parte principal da linha caractere de resposta e exiba apenas a parte do valor. Além disso, isto também permite que o valor seja explícito de maneira opcional.

note: type: Plain text
en: Some placeholders may depend on other options given to the revision traversal engine. For example, the `%g*` reflog options will insert an empty string unless we are traversing reflog entries (e.g., by `git log -g`). The `%d` and `%D` placeholders will use the "short" decoration format if `--decorate` was not already provided on the command line.
pt_BR: Alguns espaços reservados podem depender das outras opções passadas para o motor percorrer a revisão. Por exemplo o opção `%g*` do reflog insere um espaço vazio a menos que estejamos percorrendo as entradas do reflog (exemplo, através do comando `git log -g`). Os espaços reservados `%d` e `%D` usarão o formato de decoração "curta" caso a opção `--decorate` já não esteja sendo utilizada na linha de comando.

note: type: Plain text
en: If you add a `+` (plus sign) after '%' of a placeholder, a line-feed is inserted immediately before the expansion if and only if the placeholder expands to a non-empty string.
pt_BR: Caso adicionemos um `+` (sinal de adição) após o '%' de um espaço reservado, um feed de linha será inserido imediatamente antes da expansão, se e somente se o espaço reservado se expandir para uma sequência de caracteres não vazio.

note: type: Plain text
en: If you add a `-` (minus sign) after '%' of a placeholder, all consecutive line-feeds immediately preceding the expansion are deleted if and only if the placeholder expands to an empty string.
pt_BR: Caso adicione um `-` (sinal de menos) após o '%' de um espaço reservado, imediatamente todos os feeds consecutivos das linhas anteriores à expansão serão excluídos caso e somente caso o espaço reservado se expanda para um texto vazio.

note: type: Plain text
en: If you add a ` ` (space) after '%' of a placeholder, a space is inserted immediately before the expansion if and only if the placeholder expands to a non-empty string.
pt_BR: Caso adicionemos um ` ` (espaço) após o '%' de um espaço reservado, um espaço será inserido imediatamente antes da expansão, se e somente se o espaço reservado se expandir para uma sequência de caracteres não vazios.

note: type: Plain text
en: The 'tformat:' format works exactly like 'format:', except that it provides "terminator" semantics instead of "separator" semantics. In other words, each commit has the message terminator character (usually a newline) appended, rather than a separator placed between entries.  This means that the final entry of a single-line format will be properly terminated with a new line, just as the "oneline" format does.  For example:
pt_BR: O formato 'tformat:' funciona exatamente como 'format:', exceto que ele provê a semântica "terminator" (terminador) em vez do "separator" (separador). Em outras palavras, cada commit tem o caractere terminador da mensagem (geralmente uma nova linha) adicionada em vez de um separador colocado entre as entradas.  Significa que o final de cada entrada do formato de uma linha única será terminada corretamente com uma nova linha, assim como o formato com uma linha faz (oneline).  Por exemplo:

note: type: Plain text
en: In addition, any unrecognized string that has a `%` in it is interpreted as if it has `tformat:` in front of it.  For example, these two are equivalent:
pt_BR: Além disso, qualquer string não reconhecida que tenha um `%` nela, é interpretada como se tivesse `tformat:` na frente.  Como por exemplo, estes dois são equivalentes:

note: type: Labeled list
en: --pretty[=<format>]
pt_BR: --pretty[=<formato>]

note: type: Plain text
en: Pretty-print the contents of the commit logs in a given format, where '<format>' can be one of 'oneline', 'short', 'medium', 'full', 'fuller', 'reference', 'email', 'raw', 'format:<string>' and 'tformat:<string>'.  When '<format>' is none of the above, and has '%placeholder' in it, it acts as if '--pretty=tformat:<format>' were given.
pt_BR: Faça uma impressão bonita do conteúdo do registro log do commit em determinado formato, onde '<formato>' pode ser `oneline`, `short`, `medium`, `full`, `fuller`, `reference`, `email`, `raw`, `format:<texto>` e `tformat:<texto>`.  Quando '<formato>' não for nenhum dos itens acima e possua um `%placeholder`, ele age como se a opção `--pretty=tformat:<formato>' tenha sido utilizado.

note: type: Plain text
en: See the "PRETTY FORMATS" section for some additional details for each format.  When '=<format>' part is omitted, it defaults to 'medium'.
pt_BR: Consulte a seção "FORMATOS BONITOS" para obter detalhes adicionais para cada formato.  Quando a parte do '=<formato>' é omitido a predefinição retorna para 'medium'.

note: type: Plain text
en: Note: you can specify the default pretty format in the repository configuration (see linkgit:git-config[1]).
pt_BR: Nota: você pode especificar o formato "pretty" padrão na configuração do repositório (consulte linkgit:git-config[1]).

note: type: Plain text
en: Instead of showing the full 40-byte hexadecimal commit object name, show only a partial prefix.  Non default number of digits can be specified with "--abbrev=<n>" (which also modifies diff output, if it is displayed).
pt_BR: Em vez de exibir todos os 40 bytes hexadecimais do nome do objeto commit, exiba apenas um prefixo parcial.  A quantidade dos dígitos não predefinidos podem ser definidos com a opção "--abbrev=<n>" (que também altera o diff gerado, caso seja exibido).

note: type: Plain text
en: This should make "--pretty=oneline" a whole lot more readable for people using 80-column terminals.
pt_BR: Isso deve tornar `--pretty=oneline` muito mais legível para pessoas que usam terminais com 80 colunas.

note: type: Plain text
en: Show the full 40-byte hexadecimal commit object name. This negates `--abbrev-commit` and those options which imply it such as "--oneline". It also overrides the `log.abbrevCommit` variable.
pt_BR: Exibe o nome do objeto commit completo com 40 bytes hexadecimais. Isso nega o a opção `--abbrev-commit` e as opções que o implicam, como `--oneline`. Ele também substitui a variável `log.abbrevCommit`.

note: type: Plain text
en: This is a shorthand for "--pretty=oneline --abbrev-commit" used together.
pt_BR: Este é um atalho para "--pretty=oneline --abbrev-commit" ser utilizado junto.

note: type: Plain text
en: The commit objects record the encoding used for the log message in their encoding header; this option can be used to tell the command to re-code the commit log message in the encoding preferred by the user.  For non plumbing commands this defaults to UTF-8. Note that if an object claims to be encoded in `X` and we are outputting in `X`, we will output the object verbatim; this means that invalid sequences in the original commit may be copied to the output.
pt_BR: Os objetos commit registram a codificação utilizada para a mensagem do registro log em seu cabeçalho de codificação; esta opção pode ser usada para informar ao comando para novamente codificar a mensagem do registro log do commit na codificação preferida pelo usuário.  Para os comandos não redirecionáveis, a predefinição retorna para UTF-8. Observe que caso um objeto afirma ser codificado com `X` e estamos gerando em` X`, o objeto será gerado de forma literal; isso significa que as sequências inválidas no commit original podem ser copiadas para a saída.

note: type: Plain text
en: Perform a tab expansion (replace each tab with enough spaces to fill to the next display column that is multiple of '<n>')  in the log message before showing it in the output.  `--expand-tabs` is a short-hand for `--expand-tabs=8`, and `--no-expand-tabs` is a short-hand for `--expand-tabs=0`, which disables tab expansion.
pt_BR: Execute uma expansão de guia (substitua cada guia por espaços suficientes para preencher a próxima coluna da exibição que é o múltiplo de '<n>') na mensagem do registro log antes de exibi-la na saída.  A opção `--expand-tabs` é uma abreviação da opção `--expand-tabs=8`,  a opção `--no-expand-tabs` é uma abreviação da opção `--expand-tabs=0`, que desativa a expansão da guia.

note: type: Plain text
en: By default, tabs are expanded in pretty formats that indent the log message by 4 spaces (i.e.  'medium', which is the default, 'full', and 'fuller').
pt_BR: A predefinição é que as guias sejam expandidas em belos formatos que recuam a mensagem do registro log em 4 espaços (ou seja,  'medium', a predefinição, 'full' e 'fuller').

note: type: Plain text
en: Show the notes (see linkgit:git-notes[1]) that annotate the commit, when showing the commit log message.  This is the default for `git log`, `git show` and `git whatchanged` commands when there is no `--pretty`, `--format`, or `--oneline` option given on the command line.
pt_BR: Exiba as anotações (consulte linkgit:git-notes[1]) que acompanham o commit durante a exibição da mensagem do registro log do commit.  Este é a predefinição para os comandos `git log`, `git show` e `git whatchanged` quando não haja nenhuma opção `--pretty`, `--format` ou `--oneline` utilizada na linha de comando.

note: type: Plain text
en: By default, the notes shown are from the notes refs listed in the `core.notesRef` and `notes.displayRef` variables (or corresponding environment overrides). See linkgit:git-config[1] for more details.
pt_BR: É predefinido que as anotações exibidas são das anotações refs listadas nas variáveis `core.notesRef` e `notes.displayRef` (ou substituições correspondentes do ambiente). Para mais detalhes consulte linkgit:git-config[1].

note: type: Plain text
en: With an optional '<ref>' argument, use the ref to find the notes to display.  The ref can specify the full refname when it begins with `refs/notes/`; when it begins with `notes/`, `refs/` and otherwise `refs/notes/` is prefixed to form a full name of the ref.
pt_BR: Com um argumento opcional '<ref>', usa a "ref" para encontrar as notas que serão exibidas.  A "ref" pode definir o nome completo da "ref" quando começar com `refs/notes/`; quando começa com `notes/`, `refs/` e caso contrário `refs/notes/` é prefixado para formar um nome completo da "ref".

note: type: Plain text
en: Multiple --notes options can be combined to control which notes are being displayed. Examples: "--notes=foo" will show only notes from "refs/notes/foo"; "--notes=foo --notes" will show both notes from "refs/notes/foo" and from the default notes ref(s).
pt_BR: Várias opções `--notes` podem ser combinadas para controlar quais as notas estão sendo exibidas. Exemplos: `--notes=foo` mostrará apenas as notas vindas de "refs/notes/foo"; `--notes=foo --notes` mostrará as notas vindas de "refs/notes/foo" e das notas ref(s) predefinidas.

note: type: Plain text
en: Do not show notes. This negates the above `--notes` option, by resetting the list of notes refs from which notes are shown.  Options are parsed in the order given on the command line, so e.g.  "--notes --notes=foo --no-notes --notes=bar" will only show notes from "refs/notes/bar".
pt_BR: Não exiba as anotações. Isso nega a opção `--notes` acima, redefinindo a lista das anotações das 'refs' a partir de onde as notas são exibidas.  As opções são analisadas na ordem informada na linha de comando, portanto, "--notes --notes=foo --no-notes --notes=bar" exibirá apenas as anotações das "refs/notes/bar" por exemplo.

note: type: Plain text
en: These options are deprecated. Use the above --notes/--no-notes options instead.
pt_BR: Essas opções estão obsoletas. Em vez disso, utilize as opções --notes/--no-notes acima.

note: type: Plain text
en: Check the validity of a signed commit object by passing the signature to `gpg --verify` and show the output.
pt_BR: Verifique a validade de um objeto commit assinado, passando a assinatura para `gpg --verify` e exibe a sua saída.

note: type: Plain text
en: The "remote" repository that is the source of a fetch or pull operation.  This parameter can be either a URL (see the section <<URLS,GIT URLS>> below) or the name of a remote (see the section <<REMOTES,REMOTES>> below).
pt_BR: The "remote" repository that is the source of a fetch or pull operation.  Este parâmetro pode ser uma URL (consulte a seção <<URLS, GIT URLS>> abaixo) ou o nome de um ramo remoto (consulte a seção <<REMOTES, REMOTES>> abaixo).

note: type: Labeled list
en: <group>
pt_BR: <grupo>

note: type: Plain text
en: A name referring to a list of repositories as the value of remotes.<group> in the configuration file.  (See linkgit:git-config[1]).
pt_BR: Um nome referente para a lista de repositórios como o valor no arquivo da configuração `remotes.<grupo>`.  (Consulte linkgit:git-config[1]).

note: type: Plain text
en: Specifies which refs to fetch and which local refs to update.  When no <refspec>s appear on the command line, the refs to fetch are read from `remote.<repository>.fetch` variables instead
pt_BR: Determina quais as refs capturar e quais as refs locais atualizar.  Quando nenhum `<refspec>` aparece na linha de comando, em vez disso, os refs que serão capturados são lidos a partir das variáveis `remote.<repositório>.fetch`

note: type: Plain text
en: 	(see <<CRTB,CONFIGURED REMOTE-TRACKING BRANCHES>> below).
pt_BR: 	(consulte <<CRTB,CONFIGURAÇÕES DOS RAMOS MONITORADOS REMOTAMENTE>> below).

note: type: Plain text
en: 	(see the section "CONFIGURED REMOTE-TRACKING BRANCHES"
    	in linkgit:git-fetch[1]).
pt_BR: 	(consulte a seção "CONFIGURAÇÕES DOS RAMOS MONITORADOS REMOTAMENTE"
    	in linkgit:git-fetch[1]).

note: type: Plain text
en: The format of a <refspec> parameter is an optional plus `+`, followed by the source <src>, followed by a colon `:`, followed by the destination ref <dst>.  The colon can be omitted when <dst> is empty.  <src> is typically a ref, but it can also be a fully spelled hex object name.
pt_BR: O formato de um parâmetro `<refspec>` é um opcional mais `+`, seguido pela fonte `<src>`, seguido por dois pontos `:`, seguido pelo destino "ref" `<dst>`.  Os dois pontos podem ser omitidos quando o destino `<dst>` estiver vazio.  A fonte `<src>` normalmente é uma referência, mas também pode ser um nome de objeto escrito totalmente em hexadecimal.

note: type: Plain text
en: `tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`; it requests fetching everything up to the given tag.
pt_BR: A `tag` significa o mesmo que `refs/tags/<tag>:refs/tags/<tag>`; ele solicita a buscaa de tudo até a tag informada.

note: type: Plain text
en: The remote ref that matches <src> is fetched, and if <dst> is not an empty string, an attempt is made to update the local ref that matches it.
pt_BR: A "ref" remota que coincida com <src> é buscada e se <dst> não seja uma sequência vazia, é feita uma tentativa de atualizar a referência local que coincida com ela.

note: type: Plain text
en: Whether that update is allowed without `--force` depends on the ref namespace it's being fetched to, the type of object being fetched, and whether the update is considered to be a fast-forward. Generally, the same rules apply for fetching as when pushing, see the `<refspec>...` section of linkgit:git-push[1] for what those are. Exceptions to those rules particular to 'git fetch' are noted below.
pt_BR: Caso a atualização seja permitida sem a opção `--force` depende do espaço de nomes da ref onde está sendo buscada, do tipo do objeto que está sendo buscado e se a atualização é considerada um avanço rápido. Geralmente, as mesmas regras se aplicam à busca e ao impulsionar, consulte a seção `<refspec>...` do linkgit:git-push[1] para saber o que são. As exceções para estas regras específicas para o comando 'git fetch' são anotadas abaixo.

note: type: Plain text
en: Until Git version 2.20, and unlike when pushing with linkgit:git-push[1], any updates to `refs/tags/*` would be accepted without `+` in the refspec (or `--force`). When fetching, we promiscuously considered all tag updates from a remote to be forced fetches.  Since Git version 2.20, fetching to update `refs/tags/*` works the same way as when pushing. I.e. any updates will be rejected without `+` in the refspec (or `--force`).
pt_BR: Até a versão 2.20 do Git, e diferentemente do envio com linkgit:git-push[1], qualquer atualização para `refs/tags/*` seria aceita sem o sinal `+` no refspec (ou `--force`). Ao buscar, consideramos promiscuamente todas as atualizações das tags de um ramo remoto como buscas impostas.  Desde a versão 2.20 Git, buscar a atualização `refs/tags/*` funciona da mesma maneira que quando fazer um impulsionamento. Ou seja, todas as atualizações serão rejeitadas sem o sinal `+` no refspec (ou `--force`).

note: type: Plain text
en: Unlike when pushing with linkgit:git-push[1], any updates outside of `refs/{tags,heads}/*` will be accepted without `+` in the refspec (or `--force`), whether that's swapping e.g. a tree object for a blob, or a commit for another commit that's doesn't have the previous commit as an ancestor etc.
pt_BR: Ao contrário quando impulsionamos com o linkgit:git-push[1], qualquer atualização fora do `refs/{tags,heads}/*` será aceito sem o sinal `+` no refspec (ou `--force`), seja trocando, por exemplo, um objeto de árvore para uma bolha ou um commit para outro commit que não tenha o commit anterior como ancestral, etc.

note: type: Plain text
en: Unlike when pushing with linkgit:git-push[1], there is no configuration which'll amend these rules, and nothing like a `pre-fetch` hook analogous to the `pre-receive` hook.
pt_BR: Ao contrário quando impulsionamos com o linkgit:git-push[1], não existe uma configuração que corrija estas regras, e nada como um gancho `pre-fetch` análogo ao gancho `pre-receive`.

note: type: Plain text
en: As with pushing with linkgit:git-push[1], all of the rules described above about what's not allowed as an update can be overridden by adding an the optional leading `+` to a refspec (or using `--force` command line option). The only exception to this is that no amount of forcing will make the `refs/heads/*` namespace accept a non-commit object.
pt_BR: Assim como impulsionar com linkgit:git-push[1], todas as regras descritas acima sobre o que não é permitido como uma atualização pode ser sobrescrito ao adicionar um caractere opcional no "refspec" começando com `+` (ou utilizando a opção `--force` na linha de comando). A única exceção a isso é que nenhuma quantidade de imposição fará com que o espaço de nomes `refs/heads/*` aceite um objeto que não seja um commit.

note: type: Plain text
en: When the remote branch you want to fetch is known to be rewound and rebased regularly, it is expected that its new tip will not be descendant of its previous tip (as stored in your remote-tracking branch the last time you fetched).  You would want to use the `+` sign to indicate non-fast-forward updates will be needed for such branches.  There is no way to determine or declare that a branch will be made available in a repository with this behavior; the pulling user simply must know this is the expected usage pattern for a branch.
pt_BR: Quando se sabe que o ramo remoto que você quer buscar é retrocedida e reconstruída regularmente, espera-se que o novo topo não seja descendente do topo anterior (conforme foi armazenada no ramo monitorado remotamente da última vez que você fez a busca).  Você vai querer usar o sinal `+` para indicar que serão necessárias atualizações não rápidas para estas ramificações.  Não há como determinar ou declarar que uma ramificação será disponibilizada em um repositório com este comportamento; o usuário que está capturando simplesmente deve saber que esse é o padrão de uso esperado para um ramo.

note: type: Plain text
en: There is a difference between listing multiple <refspec> directly on 'git pull' command line and having multiple `remote.<repository>.fetch` entries in your configuration for a <repository> and running a 'git pull' command without any explicit <refspec> parameters.  <refspec>s listed explicitly on the command line are always merged into the current branch after fetching.  In other words, if you list more than one remote ref, 'git pull' will create an Octopus merge.  On the other hand, if you do not list any explicit <refspec> parameter on the command line, 'git pull' will fetch all the <refspec>s it finds in the `remote.<repository>.fetch` configuration and merge only the first <refspec> found into the current branch.  This is because making an Octopus from remote refs is rarely done, while keeping track of multiple remote heads in one-go by fetching more than one is often useful.
pt_BR: Há uma diferença entre listar múltiplos <refspec> diretamente na linha de comando com 'git pull' e ter várias entradas `remote.<repositório>.fetch` na sua configuração para um <repositório> e executar um comando com 'git pull' sem qualquer parâmetros explícitos <refspec>.  Os <refspec>s listados explicitamente na linha de comando são sempre mesclado no ramo atual após a busca.  Em outras palavras, caso você liste mais de uma "ref" remota, o comando 'git pull' criará uma mesclagem "Octopus" (Polvo).  Por outro lado, caso você não liste nenhum parâmetro <refspec> de forma explícita na linha de comando, o comando 'git pull' buscará tudo o que encontrar na configuração `remote.<repositório>.fetch` e mesclará apenas o primeiro que for encontrado no ramo atual.  Isso ocorre porque raramente é feito a criação de um "polvo" a partir das refs remotas, enquanto monitora os vários cabeçalhos remotos de uma só, isso geralmente é bastante útil.

note: type: Title -
en: SPECIFYING REVISIONS
pt_BR: DEFININDO AS REVISÕES

note: type: Plain text
en: A revision parameter '<rev>' typically, but not necessarily, names a commit object.  It uses what is called an 'extended SHA-1' syntax.  Here are various ways to spell object names.  The ones listed near the end of this list name trees and blobs contained in a commit.
pt_BR: Um parâmetro de revisão '<rev>' normalmente, mas não necessariamente, dá nome a um objeto commit.  Utiliza o que é chamado de uma sintaxe 'extended SHA-1'.  Aqui estão as várias maneiras de soletrar os nomes dos objetos.  Os listados próximos do final desta lista informam árvores e gotas existentes em um commit.

note: type: Plain text
en: This document shows the "raw" syntax as seen by git. The shell and other UIs might require additional quoting to protect special characters and to avoid word splitting.
pt_BR: Este documento demonstra a sintaxe "bruta" como vista pelo git. O shell e outras UIs podem exigir citações adicionais para proteger os caracteres especiais e evitar a divisão de palavras.

note: type: Labeled list
en: '<sha1>', e.g. 'dae86e1950b1277e545cee180551750029cfe735', 'dae86e'
pt_BR: '<sha1>', exemplo. 'dae86e1950b1277e545cee180551750029cfe735', 'dae86e'

note: type: Plain text
en: The full SHA-1 object name (40-byte hexadecimal string), or a leading substring that is unique within the repository.  E.g. dae86e1950b1277e545cee180551750029cfe735 and dae86e both name the same commit object if there is no other object in your repository whose object name starts with dae86e.
pt_BR: O nome completo do objeto SHA-1 (a sequência hexadecimal com 40-bytes) ou uma carreira de caracteres que é exclusiva e única no repositório.  Por exemplo, dae86e1950b1277e545cee180551750029cfe735 e dae86e informam o mesmo objeto commit caso não haja um outro objeto em seu repositório cujo nome comece com daee.

note: type: Labeled list
en: '<describeOutput>', e.g. 'v1.7.4.2-679-g3bee7fb'
pt_BR: '<describeOutput>', exemplo. 'v1.7.4.2-679-g3bee7fb'

note: type: Plain text
en: Output from `git describe`; i.e. a closest tag, optionally followed by a dash and a number of commits, followed by a dash, a 'g', and an abbreviated object name.
pt_BR: A saída do `git describe`; ou seja, um tag mais próximo opcionalmente seguido por um traço e um número do commit seguido por um traço, um 'g' e um nome abreviado do objeto.

note: type: Labeled list
en: '<refname>', e.g. 'master', 'heads/master', 'refs/heads/master'
pt_BR: '<refname>', exemplo. 'master', 'heads/master', 'refs/heads/master'

note: type: Plain text
en: A symbolic ref name.  E.g. 'master' typically means the commit object referenced by 'refs/heads/master'.  If you happen to have both 'heads/master' and 'tags/master', you can explicitly say 'heads/master' to tell Git which one you mean.  When ambiguous, a '<refname>' is disambiguated by taking the first match in the following rules:
pt_BR: Um nome simbólico `ref`.  'master' por exemplo, significa que o objeto de commit tem referência com 'refs/heads/master'.  Caso aconteça de haver ambos os 'heads/master' ou 'tags/master', você pode explicitamente usar 'heads/master' para informar o Git qual deles quer.  Quando ambíguo, um '<refname>' que desperte dúvidas é interpretado através da primeira coincidência de acordo com as seguintes regras:

note: type: Plain text
en: If '$GIT_DIR/<refname>' exists, that is what you mean (this is usually useful only for `HEAD`, `FETCH_HEAD`, `ORIG_HEAD`, `MERGE_HEAD` and `CHERRY_PICK_HEAD`);
pt_BR: Caso '$GIT_DIR/<refname>' exista, quando é isso o que você quer dizer (geralmente é apenas útil para `HEAD`, `FETCH_HEAD`, `ORIG_HEAD`, `MERGE_HEAD` e `CHERRY_PICK_HEAD`);

note: type: Plain text
en: otherwise, 'refs/<refname>' if it exists;
pt_BR: caso contrário, utilize 'refs/<refname>' caso exista;

note: type: Plain text
en: otherwise, 'refs/tags/<refname>' if it exists;
pt_BR: caso contrário, utilize 'refs/tags/<refname>' caso exista;

note: type: Plain text
en: otherwise, 'refs/heads/<refname>' if it exists;
pt_BR: caso contrário, utilize 'refs/heads/<refname>' caso exista;

note: type: Plain text
en: otherwise, 'refs/remotes/<refname>' if it exists;
pt_BR: caso contrário, utilize 'refs/remotes/<refname>' caso exista;

note: type: Plain text
en: otherwise, 'refs/remotes/<refname>/HEAD' if it exists.
pt_BR: caso contrário, utilize 'refs/remotes/<refname>/HEAD' caso exista.

note: type: Plain text
en: `HEAD` names the commit on which you based the changes in the working tree.  `FETCH_HEAD` records the branch which you fetched from a remote repository with your last `git fetch` invocation.  `ORIG_HEAD` is created by commands that move your `HEAD` in a drastic way, to record the position of the `HEAD` before their operation, so that you can easily change the tip of the branch back to the state before you ran them.  `MERGE_HEAD` records the commit(s) which you are merging into your branch when you run `git merge`.  `CHERRY_PICK_HEAD` records the commit which you are cherry-picking when you run `git cherry-pick`.
pt_BR: `HEAD` informa o commit no qual você teve como base as alterações na árvore de trabalho.  `FETCH_HEAD` registra em qual ramo você buscou no repositório remoto com a sua última invocação `git fetch`.  `ORIG_HEAD` é criado por comandos que movem seu` HEAD` de uma maneira drástica, para registrar a posição do `HEAD` antes da sua operação, para que você possa facilmente mudar a ponta do ramo de volta ao estado anterior a sua execução.  `MERGE_HEAD` registra os commits que você está mesclando no seu ramo quando você executa o comando `git merge`.  `CHERRY_PICK_HEAD` registra o commit que você está escolhendo quando executa o comando `git cherry-pick`.

note: type: Plain text
en: Note that any of the 'refs/*' cases above may come either from the `$GIT_DIR/refs` directory or from the `$GIT_DIR/packed-refs` file.  While the ref name encoding is unspecified, UTF-8 is preferred as some output processing may assume ref names in UTF-8.
pt_BR: Observe que em qualquer um dos casos o 'refs/*' acima pode vir do diretório `$GIT_DIR/refs` ou do arquivo`$GIT_DIR/packed-refs`.  Embora a codificação do nome de referência não seja especificado, o UTF-8 é o predefinido pois algum processamento de saída pode assumir nomes `ref` em UTF-8.

note: type: Plain text
en: '@' alone is a shortcut for `HEAD`.
pt_BR: O '@' sozinho é um atalho para `HEAD`.

note: type: Labeled list
en: '[<refname>]@{<date>}', e.g. 'master@\{yesterday\}', 'HEAD@{5 minutes ago}'
pt_BR: '[<refname>]@{<data>}', exemplo. 'master@\{yesterday\}', 'HEAD@{5 minutos atrás}'

note: type: Plain text
en: A ref followed by the suffix '@' with a date specification enclosed in a brace pair (e.g. '\{yesterday\}', '{1 month 2 weeks 3 days 1 hour 1 second ago}' or '{1979-02-26 18:30:00}') specifies the value of the ref at a prior point in time.  This suffix may only be used immediately following a ref name and the ref must have an existing log ('$GIT_DIR/logs/<ref>'). Note that this looks up the state of your *local* ref at a given time; e.g., what was in your local 'master' branch last week. If you want to look at commits made during certain times, see `--since` and `--until`.
pt_BR: Uma "ref" seguida por um sufixo '@' com uma especificação ordinal incluída em um par de chaves (exemplo. '\{ontem\}', '{1 mês 2 semanas 3 dias 1 hora 1 segundo atrás}' ou '{1979-02-26 18:30:00}') determina o valor da "ref" em um momento anterior.  Esse sufixo pode ser utilizado imediatamente após um nome "ref" e a "ref" deve ter um registro log que já exista ('$GIT_DIR/logs/<ref>'). Observe que em um determinado momento a condição geral da sua "ref" *local* será consultada ; o que estava no seu ramo 'master' na semana passada por exemplo. Caso queira ver quais os commits foram feitos durante determinados períodos de tempo, consulte `--since` e `--until`.

note: type: Plain text
en: A ref followed by the suffix '@' with an ordinal specification enclosed in a brace pair (e.g. '\{1\}', '\{15\}') specifies the n-th prior value of that ref.  For example 'master@\{1\}' is the immediate prior value of 'master' while 'master@\{5\}' is the 5th prior value of 'master'. This suffix may only be used immediately following a ref name and the ref must have an existing log ('$GIT_DIR/logs/<refname>').
pt_BR: Uma "ref" seguida pelo sufixo '@' com uma especificação ordinal incluída em um par de chaves (exemplo, '\{1\}', '\{15\}') especifica o enésimo valor anterior desta "ref".  Por exemplo, 'master@\{1\}' é o valor anterior imediato de 'master', enquanto 'master@\{5\}' é o quinto valor anterior do 'master'. Este sufixo poderá ser utilizado imediatamente após um nome "ref" e o mesmo deve ter um registro log já existente em ('$GIT_DIR/logs/<refname>').

note: type: Labeled list
en: '@{<n>}', e.g. '@\{1\}'
pt_BR: '@{<n>}', exemplo. '@\{1\}'

note: type: Plain text
en: You can use the '@' construct with an empty ref part to get at a reflog entry of the current branch. For example, if you are on branch 'blabla' then '@\{1\}' means the same as 'blabla@\{1\}'.
pt_BR: Você pode usar a construção '@' com um `ref` vazio para obter uma entrada `reflog` do ramo atual. Por exemplo, caso esteja no ramo 'blabla' então '@\{1\}' significa o mesmo que 'blabla@\{1\}'.

note: type: Labeled list
en: '@{-<n>}', e.g. '@{-1}'
pt_BR: '@{-<n>}', exemplo, '@{-1}'

note: type: Plain text
en: The construct '@{-<n>}' means the <n>th branch/commit checked out before the current one.
pt_BR: O construtor '@{-<n>}' significa que <n> do ramo/commit foi verificado antes da atual.

note: type: Labeled list
en: '[<branchname>]@\{upstream\}', e.g. 'master@\{upstream\}', '@\{u\}'
pt_BR: '[<nome-do-ramo>]@\{upstream\}', exemplo, 'master@\{upstream\}', '@\{u\}'

note: type: Plain text
en: The suffix '@\{upstream\}' to a branchname (short form '<branchname>@\{u\}')  refers to the branch that the branch specified by branchname is set to build on top of (configured with `branch.<name>.remote` and `branch.<name>.merge`).  A missing branchname defaults to the current one. These suffixes are also accepted when spelled in uppercase, and they mean the same thing no matter the case.
pt_BR: O sufixo '@ {upstream}' para o nome de uma ramificação (o formato abreviado '<nome-do-ramo>@\{u\}') refere-se ao ramo onde o ramo informado pelo "branchname" esteja definido para construir em cima do `branch.<nome>.remote` e `branch.<nome>.merge`).  Em uma ramificação desaparecida a predefinição retorna para a atual. Estes sufixos também são aceitos quando digitados em maiúsculas e significam a mesma coisa, não importa o caso.

note: type: Labeled list
en: '[<branchname>]@\{push\}', e.g. 'master@\{push\}', '@\{push\}'
pt_BR: '[<nome-do-ramo>]@\{push\}', exemplo, 'master@\{push\}', '@\{push\}'

note: type: Plain text
en: The suffix '@\{push}' reports the branch "where we would push to" if `git push` were run while `branchname` was checked out (or the current `HEAD` if no branchname is specified). Since our push destination is in a remote repository, of course, we report the local tracking branch that corresponds to that branch (i.e., something in `refs/remotes/`).
pt_BR: O sufixo '@\{push}' relata ao ramo "para onde estaremos fazendo impulsionamento" caso `git push` seja executado enquanto `branchname` seja verificado (ou o `HEAD` atual, caso nenhum nome do ramo tenha sido especificado). Como o nosso impulsionamento foi feito em um repositório remoto, é claro, relatamos o ramo de rastreamento local que tenha correspondência a esse ramo (ou seja, algo em `refs/remotes/`).

note: type: Plain text
en: Here's an example to make it more clear:
pt_BR: Aqui um exemplo para deixar mais claro:

note: type: Plain text
en: Note in the example that we set up a triangular workflow, where we pull from one location and push to another. In a non-triangular workflow, '@\{push}' is the same as '@\{upstream}', and there is no need for it.
pt_BR: Observe no exemplo que configuramos um fluxo de trabalho triangular, onde fazemos o `pull` (obtenção) de um local e o `push` (impulsionamento) para outro. Em um fluxo de trabalho não triangular, o '@\{push}' é igual como o '@\{upstream}' que não é necessário.

note: type: Plain text
en: This suffix is also accepted when spelled in uppercase, and means the same thing no matter the case.
pt_BR: Esse sufixo também é aceito quando escrito em maiúsculas e significa a mesma coisa, não importa o caso.

note: type: Labeled list
en: '<rev>{caret}[<n>]', e.g. 'HEAD{caret}, v1.5.1{caret}0'
pt_BR: '<rev>{caret}[<n>]', exemplo, 'HEAD{caret}, v1.5.1{caret}0'

note: type: Plain text
en: A suffix '{caret}' to a revision parameter means the first parent of that commit object.  '{caret}<n>' means the <n>th parent (i.e.  '<rev>{caret}' is equivalent to '<rev>{caret}1').  As a special rule, '<rev>{caret}0' means the commit itself and is used when '<rev>' is the object name of a tag object that refers to a commit object.
pt_BR: Um sufixo '{caret}' para um parâmetro de revisão significa que a primeira origem deste objeto commit.  '{caret}<n>' significa que é a quantidade <n> da origem (ou seja,  '<rev>{caret}' é equivamente a '<rev>{caret}1').  Como regra especial, '<rev>{caret}0' significa o commit em si e é utilizado quando '<rev>' for o nome do objeto de um objeto `tag` que tenha referência a um objeto de commit.

note: type: Labeled list
en: '<rev>{tilde}[<n>]', e.g. 'HEAD{tilde}, master{tilde}3'
pt_BR: '<rev>{tilde}[<n>]', exemplo, 'HEAD{tilde}, master{tilde}3'

note: type: Plain text
en: A suffix '{tilde}' to a revision parameter means the first parent of that commit object.  A suffix '{tilde}<n>' to a revision parameter means the commit object that is the <n>th generation ancestor of the named commit object, following only the first parents.  I.e. '<rev>{tilde}3' is equivalent to '<rev>{caret}{caret}{caret}' which is equivalent to '<rev>{caret}1{caret}1{caret}1'.  See below for an illustration of the usage of this form.
pt_BR: Um sufixo '{tilde}' para um parâmetro de revisão significa o que a primeira origem deste objeto commit.  Um sufixo '{tilde}<n>' para um parâmetro de revisão significa que o objeto commit é o <n> do ancestral da geração do objeto commit informado, seguindo apenas os primeiras origens.  Ou seja, '<rev>{tilde}3' é equivalente a '<rev>{caret}{caret}{caret}' que é equivalente a '<rev>{caret}1{caret}1{caret}1'.  Veja abaixo uma ilustração do uso deste formato.

note: type: Labeled list
en: '<rev>{caret}{<type>}', e.g. 'v0.99.8{caret}\{commit\}'
pt_BR: '<rev>{caret}{<type>}', exemplo, 'v0.99.8{caret}\{commit\}'

note: type: Plain text
en: A suffix '{caret}' followed by an object type name enclosed in brace pair means dereference the object at '<rev>' recursively until an object of type '<type>' is found or the object cannot be dereferenced anymore (in which case, barf).  For example, if '<rev>' is a commit-ish, '<rev>{caret}\{commit\}' describes the corresponding commit object.  Similarly, if '<rev>' is a tree-ish, '<rev>{caret}\{tree\}' describes the corresponding tree object.  '<rev>{caret}0' is a short-hand for '<rev>{caret}\{commit\}'.
pt_BR: Um sufixo '{caret}' seguido por um tipo de objeto com nome fechado entre chaves significa remover a referência do objeto em '<ref>' recursivamente até que um objeto do tipo '<type>' seja encontrado ou não seja mais possível remover a referência do (nesse caso, `barf`).  Por exemplo, caso '<ref>' seja um commit ish, '<rev>{caret}\{commit\}' descreve o objeto commit correspondente.  Da mesma forma caso '<re>' seja um ish da árvore '<rev>{caret}\{tree\}', descreve o objeto da árvore correspondente.  '<rev>{caret}0' é um atalho para '<rev>{caret}\{commit\}'.

note: type: Plain text
en: '<rev>{caret}\{object\}' can be used to make sure '<rev>' names an object that exists, without requiring '<rev>' to be a tag, and without dereferencing '<rev>'; because a tag is already an object, it does not have to be dereferenced even once to get to an object.
pt_BR: '<rev>{caret}\{object\}' pode ser utilizado para ter certeza que os nomes '<rev>' de um determinado objeto existam, sem requerer que '<rev>' seja uma tag e sem perder a referência com '<rev>'; pois `tag` já é um objeto, não a necessidade que seja perdido a referência nenhuma vez para chegar a um objeto.

note: type: Plain text
en: '<rev>{caret}\{tag\}' can be used to ensure that '<rev>' identifies an existing tag object.
pt_BR: '<rev>{caret}\{tag\}' pode ser utilizado para ter certeza que '<rev>' identifique um objeto `tag` já existente.

note: type: Labeled list
en: '<rev>{caret}{}', e.g. 'v0.99.8{caret}{}'
pt_BR: '<rev>{caret}{}', exemplo, 'v0.99.8{caret}{}'

note: type: Plain text
en: A suffix '{caret}' followed by an empty brace pair means the object could be a tag, and dereference the tag recursively until a non-tag object is found.
pt_BR: Um sufixo '{caret}' seguido por um par de chaves vazias significa que o objeto pode ser uma tag e perder a referência de uma tag recursivamente, até que um objeto que não seja tag, seja encontrada.

note: type: Labeled list
en: '<rev>{caret}{/<text>}', e.g. 'HEAD^{/fix nasty bug}'
pt_BR: '<rev>{caret}{/<texto>}', exemplo, 'HEAD^{/fix nasty bug}'

note: type: Plain text
en: A suffix '{caret}' to a revision parameter, followed by a brace pair that contains a text led by a slash, is the same as the ':/fix nasty bug' syntax below except that it returns the youngest matching commit which is reachable from the '<rev>' before '{caret}'.
pt_BR: Um sufixo '{caret}' para um parâmetro de revisão, seguido por um par de chaves que contém um texto liderado por uma barra, é o mesmo que a sintaxe ':/fix nasty bug' abaixo, exceto que ele retorna o commit coincidente mais jovem que é acessível a partir de '<rev>' antes de '{caret}'.

note: type: Labeled list
en: ':/<text>', e.g. ':/fix nasty bug'
pt_BR: ':/<texto>', exemplo, ':/fix nasty bug'

note: type: Plain text
en: A colon, followed by a slash, followed by a text, names a commit whose commit message matches the specified regular expression.  This name returns the youngest matching commit which is reachable from any ref, including HEAD.  The regular expression can match any part of the commit message. To match messages starting with a string, one can use e.g. ':/^foo'. The special sequence ':/!' is reserved for modifiers to what is matched. ':/!-foo' performs a negative match, while ':/!!foo' matches a literal '!' character, followed by 'foo'. Any other sequence beginning with ':/!' is reserved for now.  Depending on the given text, the shell's word splitting rules might require additional quoting.
pt_BR: Da nome a um commit aqueles que forem seguidos por um traço e por um texto, e a mensagem de commit coincidir à expressão regular especificada.  Esse nome retorna o commit coincidente mais jovem, acessível a partir de qualquer referência, incluindo `HEAD`.  A expressão regular pode corresponder a qualquer parte da mensagem do commit. Para coincidir mensagens que comecem com uma string, pode-se utilizar ':/^foo' por exemplo. A sequência especial ': /!' está reservada para modificadores que tenham coincidências. ':/!-foo' executa uma coincidência negativa, enquanto ':/!!foo' coincide com um caractere literal '!', seguido por 'foo'. No momento, qualquer outra sequência começando com ':/!' está reservada.  Dependendo do texto informado, as regras de divisão de palavras do shell podem exigir citações adicionais.

note: type: Labeled list
en: '<rev>:<path>', e.g. 'HEAD:README', 'master:./README'
pt_BR: '<rev>:<caminho>', exemplo, 'HEAD:README', 'master:./README'

note: type: Plain text
en: A suffix ':' followed by a path names the blob or tree at the given path in the tree-ish object named by the part before the colon.  A path starting with './' or '../' is relative to the current working directory.  The given path will be converted to be relative to the working tree's root directory.  This is most useful to address a blob or tree from a commit or tree that has the same tree structure as the working tree.
pt_BR: Um sufixo ':' seguido de um caminho nomeia a gota ou a árvore no caminho especificado no objeto  da árvore "ish" informado pela parte antes dos dois pontos.  Um caminho começando com './' ou '../' é relativo ao diretório de trabalho atual.  O caminho especificado será convertido para ser relativo ao diretório raiz da árvore de trabalho.  Isso é mais útil para abordar uma gota ou árvore de um commit ou uma árvore que tenha a mesma estrutura de árvore que uma árvore de trabalho.

note: type: Labeled list
en: ':[<n>:]<path>', e.g. ':0:README', ':README'
pt_BR: ':[<n>:]<caminho>', exemplo, ':0:README', ':README'

note: type: Plain text
en: A colon, optionally followed by a stage number (0 to 3) and a colon, followed by a path, names a blob object in the index at the given path. A missing stage number (and the colon that follows it) names a stage 0 entry. During a merge, stage 1 is the common ancestor, stage 2 is the target branch's version (typically the current branch), and stage 3 is the version from the branch which is being merged.
pt_BR: Os dois pontos opcionalmente seguidos por um número de estágio (0 para 3) e dois pontos, seguidos por um caminho, informam um objeto gota no índice no caminho especificado. Nomeia uma entrada de estágio quando o número estiver ausente (assim como dois pontos que o seguem). Durante uma mesclagem, o estágio 1 é o ancestral comum, o estágio 2 é a versão do ramo de destino (normalmente o ramo atual) e o estágio 3 é a versão do ramo que está sendo mesclado.

note: type: Plain text
en: Here is an illustration, by Jon Loeliger.  Both commit nodes B and C are parents of commit node A.  Parent commits are ordered left-to-right.
pt_BR: Aqui está uma ilustração, de Jon Loeliger.  Ambos os nós do commit B e C são as origens dos nós do commit A. Os commits da origem são ordenados da esquerda para a direita.

note: type: Plain text
en: History traversing commands such as `git log` operate on a set of commits, not just a single commit.
pt_BR: O histórico que atravessa os comandos como o `git log` opera em um determinado conjunto de commits e não apenas em único commit.

note: type: Plain text
en: For these commands, specifying a single revision, using the notation described in the previous section, means the set of commits `reachable` from the given commit.
pt_BR: Para estes comandos, defina uma única revisão utilizando a notação descrita na seção anterior, significa que o conjunto dos commits `acessíveis` a partir do commit informado.

note: type: Plain text
en: A commit's reachable set is the commit itself and the commits in its ancestry chain.
pt_BR: O conjunto acessível de um commit é o próprio commit e o commit em sua cadeia de ancestrais.

note: type: Title ~
en: Commit Exclusions
pt_BR: Exclusões de Commits

note: type: Labeled list
en: '{caret}<rev>' (caret) Notation
pt_BR: '{caret}<rev>' (caret) Notação

note: type: Plain text
en: To exclude commits reachable from a commit, a prefix '{caret}' notation is used.  E.g. '{caret}r1 r2' means commits reachable from 'r2' but exclude the ones reachable from 'r1' (i.e. 'r1' and its ancestors).
pt_BR: Para excluir os commits acessíveis de um commit, é usada uma notação de prefixo '{caret}'.  Por exemplo, '{caret}r1 r2' significa os commits acessíveis de 'r2' porém exclui aqueles acessíveis do 'r1' (como, por exemplo, 'r1' e os seus ancestrais).

note: type: Title ~
en: Dotted Range Notations
pt_BR: Notações do Intervalo Pontilhado

note: type: Labeled list
en: The '..' (two-dot) Range Notation
pt_BR: A faixa de notação de intervalo '..' (dois pontos)

note: type: Plain text
en: The '{caret}r1 r2' set operation appears so often that there is a shorthand for it.  When you have two commits 'r1' and 'r2' (named according to the syntax explained in SPECIFYING REVISIONS above), you can ask for commits that are reachable from r2 excluding those that are reachable from r1 by '{caret}r1 r2' and it can be written as 'r1..r2'.
pt_BR: A operação do conjunto '{caret}r1 r2' aparece com tanta frequência que existe uma abreviação para isso.  Quando você tem dois commits 'r1' e 'r2' (nomeados de acordo com a sintaxe explicada em ESPECIFICANDO REVISÕES acima), você pode solicitar os commits que sejam acessíveis atraés do 'r2' excluindo aqueles que podem ser acessados através do 'r1' pelo '{caret}r1 r2' e podem ser escritos como 'r1..r2'.

note: type: Labeled list
en: The '...' (three-dot) Symmetric Difference Notation
pt_BR: A notação da diferença simétrica '...' (três pontos)

note: type: Plain text
en: A similar notation 'r1\...r2' is called symmetric difference of 'r1' and 'r2' and is defined as 'r1 r2 --not $(git merge-base --all r1 r2)'.  It is the set of commits that are reachable from either one of 'r1' (left side) or 'r2' (right side) but not from both.
pt_BR: Uma notação semelhante 'r1\...r2' é chamada de uma diferença simétrica de 'r1' e 'r2' sendo definida como 'r1 r2 --not $(git merge-base --all r1 r2)'.  É o conjunto dos commits que são acessíveis a partir do 'r1' (lado esquerdo) ou 'r2' (lado direito), porém, não de ambos.

note: type: Plain text
en: In these two shorthand notations, you can omit one end and let it default to HEAD.  For example, 'origin..' is a shorthand for 'origin..HEAD' and asks "What did I do since I forked from the origin branch?" Similarly, '..origin' is a shorthand for 'HEAD..origin' and asks "What did the origin do since I forked from them?" Note that '..' would mean 'HEAD..HEAD' which is an empty range that is both reachable and unreachable from HEAD.
pt_BR: Nestas duas notações abreviadas, é possível omitir uma extremidade e deixá-la como predefinido no `HEAD`.  Como por exemplo, 'origin..' é uma abreviação de 'origin..HEAD' e pergunta "O que eu fiz desde que peguei a bifurcação no ramo de origem?" Da mesma forma, '..origin' é uma abreviação de 'HEAD..origin' e pergunta "O que a origem fez desde que eu as peguei?" Observe que '..' significaria 'HEAD..HEAD', que é um intervalo vazio acessível e inacessível a partir do `HEAD`.

note: type: Title ~
en: Other <rev>{caret} Parent Shorthand Notations
pt_BR: Outras <rev>{caret} Notações Abreviadas dos pais

note: type: Plain text
en: Three other shorthands exist, particularly useful for merge commits, for naming a set that is formed by a commit and its parent commits.
pt_BR: Existem três outras abreviações, particularmente úteis para a mesclagem dos commits, para nomear um conjunto formado por um commit e o seu pai principal.

note: type: Plain text
en: The 'r1{caret}@' notation means all parents of 'r1'.
pt_BR: A notação 'r1{caret}@' todos os pais do 'r1'.

note: type: Plain text
en: The 'r1{caret}!' notation includes commit 'r1' but excludes all of its parents.  By itself, this notation denotes the single commit 'r1'.
pt_BR: A notação 'r1{caret}!' (cursor) inclui o commit 'r1', mas exclui todos as suas origens.  Por si só, essa notação denota o único commit 'r1'.

note: type: Plain text
en: The '<rev>{caret}-[<n>]' notation includes '<rev>' but excludes the <n>th parent (i.e. a shorthand for '<rev>{caret}<n>..<rev>'), with '<n>' = 1 if not given. This is typically useful for merge commits where you can just pass '<commit>{caret}-' to get all the commits in the branch that was merged in merge commit '<commit>' (including '<commit>' itself).
pt_BR: A notação '<rev>{caret}-[<n>]' incluí '<rev>' porém excluí o '<n>ésimo' pai (ou seja, é uma abreviação para '<rev>{caret}<n>..<rev>'), com '<n>' = 1 caso não seja informado. Geralmente é útil para a mesclagem dos commits onde é possível passar '<commit>{caret}-' para obter todos os commits do ramoq que foi mesclado na mesclagem do commit '<commit>' (incluindo o próprio '<commit>').

note: type: Plain text
en: While '<rev>{caret}<n>' was about specifying a single commit parent, these three notations also consider its parents. For example you can say 'HEAD{caret}2{caret}@', however you cannot say 'HEAD{caret}@{caret}2'.
pt_BR: Embora '<rev>{caret}<n>' fosse sobre a especificação do pai de um único commit, estas três notações também consideram os seus pais. Como por exemplo, você pode dizer 'HEAD{caret}2{caret}@', contudo não poderá dizer 'HEAD{caret}@{caret}2'.

note: type: Title -
en: Revision Range Summary
pt_BR: Resumo do Intervalo da Revisão

note: type: Plain text
en: Include commits that are reachable from <rev> (i.e. <rev> and its ancestors).
pt_BR: Inclua os commits que são acessíveis através do <ref> (ou seja, <rev> e seus ancestrais).

note: type: Plain text
en: Exclude commits that are reachable from <rev> (i.e. <rev> and its ancestors).
pt_BR: Exclua os commits que estejam acessíveis de `<rev>` (<rev> e seus ancestrais por exemplo).

note: type: Plain text
en: Include commits that are reachable from <rev2> but exclude those that are reachable from <rev1>.  When either <rev1> or <rev2> is omitted, it defaults to `HEAD`.
pt_BR: Inclua os commits acessíveis a partir do <rev2>, porém exclua aquelas acessíveis a partir do <rev1>.  Quando <rev1> ou <rev2> for omitido, a predefinição retorna para `HEAD`.

note: type: Plain text
en: Include commits that are reachable from either <rev1> or <rev2> but exclude those that are reachable from both.  When either <rev1> or <rev2> is omitted, it defaults to `HEAD`.
pt_BR: Incluí os commits que sejam acessíveis seja de <rev1> ou <rev2> porém exclua aqueles que sejam acessíveis de ambos.  Quando <rev1> ou <rev2> for omitido, a predefinição retorna para `HEAD`.

note: type: Plain text
en: A suffix '{caret}' followed by an at sign is the same as listing all parents of '<rev>' (meaning, include anything reachable from its parents, but not the commit itself).
pt_BR: Um sufixo '{caret}' seguido por um sinal de arroba é o mesmo que listar todas as origens de '<rev>' (ou seja, incluir qualquer coisa acessível das suas origens, mas não o próprio commit).

note: type: Plain text
en: A suffix '{caret}' followed by an exclamation mark is the same as giving commit '<rev>' and then all its parents prefixed with '{caret}' to exclude them (and their ancestors).
pt_BR: Um sufixo '{caret}' seguido de um ponto de exclamação é o mesmo que fazer um commit '<rev>' e em seguida, todos as suas origens prefixam com '{caret}' para excluí-los (assim como seus ancestrais).

note: type: Plain text
en: Equivalent to '<rev>{caret}<n>..<rev>', with '<n>' = 1 if not given.
pt_BR: É o equivalente a '<rev>{caret}<n>..<rev>', with '<n>' = 1 caso nenhum seja informado.

note: type: Plain text
en: Here are a handful of examples using the Loeliger illustration above, with each step in the notation's expansion and selection carefully spelt out:
pt_BR: Aqui estão alguns exemplos utilizando a ilustração Loeliger acima, com cada etapa da expansão e da seleção da notação cuidadosamente explicitada:

note: type: Title ~
en: Commit Limiting
pt_BR: Limitação do Commit

note: type: Plain text
en: Besides specifying a range of commits that should be listed using the special notations explained in the description, additional commit limiting may be applied.
pt_BR: Além de especificar uma série de commits que devem ser listados utilizando as notações especiais explicadas na descrição, podem ser aplicadas limitações adicionais ao commit.

note: type: Plain text
en: Using more options generally further limits the output (e.g.  `--since=<date1>` limits to commits newer than `<date1>`, and using it with `--grep=<pattern>` further limits to commits whose log message has a line that matches `<pattern>`), unless otherwise noted.
pt_BR: O uso de mais opções geralmente limita ainda mais a saída (por exemplo,  limites `--since=<date1>` para commits mais recentes que `<data1>`, e usá-lo com `--grep=<padrão>` limita ainda mais para os commits cuja mensagem de registro log possua uma linha que coincida com `<padrão>`), a menos que indicado de outra maneira.

note: type: Plain text
en: Note that these are applied before commit ordering and formatting options, such as `--reverse`.
pt_BR: Observe que eles são aplicados antes da organização do commit e das opções de formatação como `--reverse`.

note: type: Labeled list
en: -<number>
pt_BR: -<quantidade>

note: type: Labeled list
en: -n <number>
pt_BR: -n <quantidade>

note: type: Labeled list
en: --max-count=<number>
pt_BR: --max-count=<quantidade>

note: type: Plain text
en: Limit the number of commits to output.
pt_BR: Limita a quantidade de commits na saída.

note: type: Labeled list
en: --skip=<number>
pt_BR: --skip=<quantidade>

note: type: Plain text
en: Skip 'number' commits before starting to show the commit output.
pt_BR: Ignora a 'quantidade'de commits antes começa a exibir a saída do commit.

note: type: Labeled list
en: --since=<date>
pt_BR: --since=<data>

note: type: Labeled list
en: --after=<date>
pt_BR: --after=<data>

note: type: Plain text
en: Show commits more recent than a specific date.
pt_BR: Exiba os commits com data mais recente das que foram informada.

note: type: Labeled list
en: --until=<date>
pt_BR: --until=<data>

note: type: Labeled list
en: --before=<date>
pt_BR: --before=<data>

note: type: Plain text
en: Show commits older than a specific date.
pt_BR: Exiba os commits mais antigos com data mais antiga das que foram informada.

note: type: Plain text
en: Limit the commits output to specified time range.
pt_BR: Limita a saída dos commits para um período de tempo específico.

note: type: Labeled list
en: --author=<pattern>
pt_BR: --author=<padrão>

note: type: Labeled list
en: --committer=<pattern>
pt_BR: --committer=<padrão>

note: type: Plain text
en: Limit the commits output to ones with author/committer header lines that match the specified pattern (regular expression).  With more than one `--author=<pattern>`, commits whose author matches any of the given patterns are chosen (similarly for multiple `--committer=<pattern>`).
pt_BR: Limite os commits gerados para aqueles com linhas de cabeçalho do autor e de quem fez o commit que coincida com determinado padrão (expressão regular).  Com um ou mais de um `--author=<padrão>`, são selecionados os commits cujo autor coincida com qualquer um dos padrões informados (é similar para vários `--committer=<padrão>`).

note: type: Labeled list
en: --grep-reflog=<pattern>
pt_BR: --grep-reflog=<padrão>

note: type: Plain text
en: Limit the commits output to ones with reflog entries that match the specified pattern (regular expression). With more than one `--grep-reflog`, commits whose reflog message matches any of the given patterns are chosen.  It is an error to use this option unless `--walk-reflogs` is in use.
pt_BR: Limite o commit gerado para aqueles com entradas de reflog que coincidam ao padrão informado (expressão regular). Com mais de uma opção `--grep-reflog`, são escolhidos os commits cuja mensagem do reflog coincida com qualquer um dos padrões informado.  É um erro usar esta opção, a menos que o `--walk-reflogs` esteja em uso.

note: type: Labeled list
en: --grep=<pattern>
pt_BR: --grep=<padrão>

note: type: Plain text
en: Limit the commits output to ones with log message that matches the specified pattern (regular expression).  With more than one `--grep=<pattern>`, commits whose message matches any of the given patterns are chosen (but see `--all-match`).
pt_BR: Limite o commit gerado para aqueles com mensagem do registro log que coincida ao padrão informado (expressão regular).  Com mais de uma opção `--grep=<padrão>`, os commits cuja mensagem coincida com qualquer um dos padrões informados (porém consulte `--all-match`).

note: type: Plain text
en: When `--notes` is in effect, the message from the notes is matched as if it were part of the log message.
pt_BR: Quando `--notes` está em vigor, a mensagem das anotações é coincidida como se fizesse parte da mensagem do registro log.

note: type: Plain text
en: Limit the commits output to ones that match all given `--grep`, instead of ones that match at least one.
pt_BR: Limita a saída dos commits para aqueles que coincidam com todos os comandos `--grep` utilizado, em vez daqueles que coincidam com apenas um.

note: type: Plain text
en: Limit the commits output to ones with log message that do not match the pattern specified with `--grep=<pattern>`.
pt_BR: Limita a saída dos commits para aqueles com uma mensagem do registro log que não coincida com o padrão utilizado em com o comando `--grep=<padrão>`.

note: type: Plain text
en: Match the regular expression limiting patterns without regard to letter case.
pt_BR: Coincida a expressão regular limitando o padrão sem considerar o tamanho das letras.

note: type: Plain text
en: Consider the limiting patterns to be basic regular expressions; this is the default.
pt_BR: Considere os padrões limitadores como expressões regulares básicas; Essa é a predefinição.

note: type: Plain text
en: Consider the limiting patterns to be extended regular expressions instead of the default basic regular expressions.
pt_BR: Considere os padrões de limitação a serem estendidos nas expressões regulares em vez das expressões regulares básicas predefinidas.

note: type: Plain text
en: Consider the limiting patterns to be fixed strings (don't interpret pattern as a regular expression).
pt_BR: Considere os padrões limitadores como cadeias de caracteres fixos (não interprete o padrão como uma expressão regular).

note: type: Plain text
en: Consider the limiting patterns to be Perl-compatible regular expressions.
pt_BR: Considere os padrões limitadores como expressões regulares compatíveis com o Perl.

note: type: Plain text
en: Stop when a given path disappears from the tree.
pt_BR: Pare quando um caminho informado tenha desaparecido da árvore.

note: type: Plain text
en: Print only merge commits. This is exactly the same as `--min-parents=2`.
pt_BR: Exiba apenas os commits que foram mesclados. É exatamente o mesmo que a opção `--min-parents=2`.

note: type: Plain text
en: Do not print commits with more than one parent. This is exactly the same as `--max-parents=1`.
pt_BR: Não imprima os commits com mais de um pai. É exatamente o mesmo que a opção `--max-parents=1`.

note: type: Labeled list
en: --min-parents=<number>
pt_BR: --min-parents=<quantidade>

note: type: Labeled list
en: --max-parents=<number>
pt_BR: --max-parents=<quantidade>

note: type: Plain text
en: Show only commits which have at least (or at most) that many parent commits. In particular, `--max-parents=1` is the same as `--no-merges`, `--min-parents=2` is the same as `--merges`.  `--max-parents=0` gives all root commits and `--min-parents=3` all octopus merges.
pt_BR: Exibe apenas os commits que tenham pelo menos (ou no máximo) aquela quantidade de pais dos commits. Em particular, `--max-parents=1` é o mesmo que `--no-merges`, `--min-parents=2` é o mesmo que `--merges`.  A opção `--max-parents=0` informa todos os commits raiz e `--min-parents=3` todas as mesclagens "polvo".

note: type: Plain text
en: `--no-min-parents` and `--no-max-parents` reset these limits (to no limit)  again.  Equivalent forms are `--min-parents=0` (any commit has 0 or more parents) and `--max-parents=-1` (negative numbers denote no upper limit).
pt_BR: As opções `--no-min-parents` e `--no-max-parents` redefinem estes limites (para nenhum limite) novamente.  As formas equivalentes são `--min-parents=0` (qualquer commit que tenha 0 ou mais pais) e `--max-parents=-1` (os números negativos indicam nenhum limite acima).

note: type: Plain text
en: Follow only the first parent commit upon seeing a merge commit.  This option can give a better overview when viewing the evolution of a particular topic branch, because merges into a topic branch tend to be only about adjusting to updated upstream from time to time, and this option allows you to ignore the individual commits brought in to your history by such a merge. Cannot be combined with --bisect.
pt_BR: Siga apenas o primeiro commit da origem ao ver a mesclagem de um commit.  Essa opção pode lhe fornecer uma melhor visão geral durante a visualização da evolução de um tópico específico no ramo, pois faz a mesclagem em um tópico no ramo e tende a ser apenas sobre o ajuste das atualizações upstream de tempos em tempos, esta opção permite ignorar os commits individuais trazidas para o seu histórico feitas por essa mesclagem. Não pode ser combinado com `--bisect`.

note: type: Plain text
en: Reverses the meaning of the '{caret}' prefix (or lack thereof)  for all following revision specifiers, up to the next `--not`.
pt_BR: Inverte o significado do prefixo '{cursor}' (ou falta dele)  para todos os especificadores das revisões seguintes, até o próximo `--not`.

note: type: Plain text
en: Pretend as if all the refs in `refs/`, along with `HEAD`, are listed on the command line as '<commit>'.
pt_BR: Finja como se todos os refs em `refs/` junto com `HEAD` estejam listados na linha de comando como '<commit>'.

note: type: Labeled list
en: --branches[=<pattern>]
pt_BR: --branches[=<padrão>]

note: type: Plain text
en: Pretend as if all the refs in `refs/heads` are listed on the command line as '<commit>'. If '<pattern>' is given, limit branches to ones matching given shell glob. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end is implied.
pt_BR: Finja como se todas as refs no `refs/heads` estejam listadas na linha de comando como '<commit>'. Caso '<padrão>' seja utilizado, limite os ramos para aqueles que coincidam com a "shell blob" informada. Caso o padrão não tenha '?', '{asterisco}', ou '[', '/{asterisco}' no final é implícito.

note: type: Labeled list
en: --tags[=<pattern>]
pt_BR: --tags[=<padrão>]

note: type: Plain text
en: Pretend as if all the refs in `refs/tags` are listed on the command line as '<commit>'. If '<pattern>' is given, limit tags to ones matching given shell glob. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end is implied.
pt_BR: Finja como se todas as refs no `refs/remotes` estejam listados na linha de comando como '<commit>'. Caso '<padrão>' seja utilizado, limite os ramos para aqueles que coincidam com a "shell blob" informada. Caso o padrão não tenha '?', '{asterisco}', ou '[', '/{asterisco}' no final é implícito.

note: type: Labeled list
en: --remotes[=<pattern>]
pt_BR: --remotes[=<padrão>]

note: type: Plain text
en: Pretend as if all the refs in `refs/remotes` are listed on the command line as '<commit>'. If '<pattern>' is given, limit remote-tracking branches to ones matching given shell glob.  If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end is implied.
pt_BR: Finja como se todos as refs no `refs/remotes` estejam listados na linha de comando como '<commit>'. Caso um '<padrão>' seja utilizado, limite as ramificações rastreadas remotamente que coincidam com aqueles da "shel glob" informada.  Caso o padrão não tenha '?', '{asterisco}', ou '[', '/{asterisco}' no final é implícito.

note: type: Plain text
en: Pretend as if all the refs matching shell glob '<glob-pattern>' are listed on the command line as '<commit>'. Leading 'refs/', is automatically prepended if missing. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end is implied.
pt_BR: Finja como se todos as refs coincidentes com "shell glob" '<glob-pattern>' estejam listados na linha de comando como '<commit>'. A 'refs/' principal é anexada automaticamente caso esteja ausente. Caso o padrão não tenha '?', '{asterisco}', ou '[', '/{asterisco}' no final é implícito.

note: type: Plain text
en: Pretend as if all objects mentioned by reflogs are listed on the command line as `<commit>`.
pt_BR: Finja que todos os objetos mencionados pelos `reflogs` estejam listados na linha de comando como `<commit>`.

note: type: Plain text
en: Pretend as if all objects mentioned as ref tips of alternate repositories were listed on the command line. An alternate repository is any repository whose object directory is specified in `objects/info/alternates`.  The set of included objects may be modified by `core.alternateRefsCommand`, etc. See linkgit:git-config[1].
pt_BR: Finja como se todos os objetos mencionados como dicas "ref" dos repositórios alternativos fossem listados na linha de comando. Um repositório alternativo é qualquer repositório cujo diretório dos objetos seja definido no `objects/info/alternates`.  O conjunto dos objetos incluídos podem ser modificados pelo `core.alternateRefsCommand`, etc. Consulte linkgit:git-config[1].

note: type: Plain text
en: By default, all working trees will be examined by the following options when there are more than one (see linkgit:git-worktree[1]): `--all`, `--reflog` and `--indexed-objects`.  This option forces them to examine the current working tree only.
pt_BR: É predefinido que todas as árvores de trabalho serão examinadas através das seguintes opções quando houver mais de uma (consulte linkgit:git-worktree[1]): `--all`, `--reflog` e `--indexed-objects`.  Esta opção impõem o exame seja feito apenas na árvore de trabalho atual.

note: type: Plain text
en: Upon seeing an invalid object name in the input, pretend as if the bad input was not given.
pt_BR: Ao ver um nome de objeto inválido na entrada, finja que a entrada incorreta não foi informada.

note: type: Plain text
en: Pretend as if the bad bisection ref `refs/bisect/bad` was listed and as if it was followed by `--not` and the good bisection refs `refs/bisect/good-*` on the command line. Cannot be combined with --first-parent.
pt_BR: Finja como se uma bisseção ruim "ref" `refs/bisect/bad` estivesse listada e como se fosse seguida por `--not` e a boa bisseção refs `refs/bisect/good-*` na linha de comando. Não pode ser combinado com `--first-parent`.

note: type: Plain text
en: In addition to the '<commit>' listed on the command line, read them from the standard input. If a `--` separator is seen, stop reading commits and start reading paths to limit the result.
pt_BR: Além dos '<commits>' listados na linha de comando, leia-os na entrada padrão. Caso um separador `--` seja visto, pare de ler os commits e comece a ler os caminhos para limitar o resultado.

note: type: Plain text
en: Don't print anything to standard output.  This form is primarily meant to allow the caller to test the exit status to see if a range of objects is fully connected (or not).  It is faster than redirecting stdout to `/dev/null` as the output does not have to be formatted.
pt_BR: Não imprima nada na saída padrão.  Este formulário tem como principal objetivo, permitir que a pessoa que chame, teste a condição da saída para verificar se um conjunto de objetos está totalmente conectado (ou não).  É mais rápido que redirecionar o stdout para `/dev/null`, pois a saída não precisa ser formatada.

note: type: Plain text
en: Like `--cherry-pick` (see below) but mark equivalent commits with `=` rather than omitting them, and inequivalent ones with `+`.
pt_BR: Como `--cherry-pick` (veja abaixo), porém marque os commits equivalentes com `=` ao invés de omiti-los e equivalentes com `+`.

note: type: Plain text
en: Omit any commit that introduces the same change as another commit on the ``other side'' when the set of commits are limited with symmetric difference.
pt_BR: Omitir qualquer commit que apresente a mesma alteração como em outro commit do ``outro lado" quando o conjunto de commits são limitadas com diferença simétrica.

note: type: Plain text
en: For example, if you have two branches, `A` and `B`, a usual way to list all commits on only one side of them is with `--left-right` (see the example below in the description of the `--left-right` option). However, it shows the commits that were cherry-picked from the other branch (for example, ``3rd on b'' may be cherry-picked from branch A). With this option, such pairs of commits are excluded from the output.
pt_BR: Como por exemplo, caso você tenha dois ramos, `A` e `B`, uma maneira comum de listar todos os commits em apenas um lado deles é com a opção `--left-right` (veja o exemplo abaixo na descrição da opção `--left-right`). No entanto, exibe os commits que foram selecionados de forma seletiva no outro ramo (como por exemplo, ``3º no b'' pode ser a escolha seletiva do ramo `A`). Com esta opção, estes pares de commits são excluídos da saída.

note: type: Plain text
en: List only commits on the respective side of a symmetric difference, i.e. only those which would be marked `<` resp. `>` by `--left-right`.
pt_BR: Liste apenas os commits nos respectivos lados de um "diff" simétrico, ou seja, apenas aqueles que seriam marcados como `<` resp. `>` por `--left-right`.

note: type: Plain text
en: For example, `--cherry-pick --right-only A...B` omits those commits from `B` which are in `A` or are patch-equivalent to a commit in `A`. In other words, this lists the `+` commits from `git cherry A B`.  More precisely, `--cherry-pick --right-only --no-merges` gives the exact list.
pt_BR: Por exemplo, a opção `--cherry-pick --right-only A...B` omite os commits de `B` que estão em `A` ou são equivalentes ao patch para um commit em `A`. Em outras palavras, lista os commits com sinal `+` do `git cherry A B`.  Mais precisamente, `--cherry-pick --right-only --no-merges` informa a lista exata.

note: type: Plain text
en: A synonym for `--right-only --cherry-mark --no-merges`; useful to limit the output to the commits on our side and mark those that have been applied to the other side of a forked history with `git log --cherry upstream...mybranch`, similar to `git cherry upstream mybranch`.
pt_BR: Um sinônimo para `--right-only --cherry-mark --no-merges`; útil para limitar a saída dos commits do nosso lado e marcar aqueles que forem marcados no histórico bifurcado do outro lado com `git log --cherry upstream...meu-ramo`, semelhante ao `git cherry upstream meu-ramo`.

note: type: Plain text
en: Instead of walking the commit ancestry chain, walk reflog entries from the most recent one to older ones.  When this option is used you cannot specify commits to exclude (that is, '{caret}commit', 'commit1..commit2', and 'commit1\...commit2' notations cannot be used).
pt_BR: Em vez de percorrer a cadeia de ancestralidade do commit, passe pelas entradas do reflog vindo da mais recente para as mais antigas.  Quando esta opção é utilizada, você não pode definir os commits para exclusão (ou seja, as notações '{caret}commit', 'commit1..commit2' e 'commit1\...commit2' não podem ser utilizadas).

note: type: Plain text
en: With `--pretty` format other than `oneline` and `reference` (for obvious reasons), this causes the output to have two extra lines of information taken from the reflog.  The reflog designator in the output may be shown as `ref@{Nth}` (where `Nth` is the reverse-chronological index in the reflog) or as `ref@{timestamp}` (with the timestamp for that entry), depending on a few rules:
pt_BR: Com o formato `--pretty` diferente do `oneline` e `reference` (por razões óbvias), isto faz com que a saída tenha duas linhas extras das informações extraídas do reflog.  O designador reflog na saída pode ser exibido como `ref@{Nth}` (onde `Nth` é o índice cronológico reverso no reflog) ou como `ref@{timestamp}` (com o registro de data e hora para esta entrada), dependendo de algumas regras:

note: type: Plain text
en: If the starting point is specified as `ref@{Nth}`, show the index format.
pt_BR: Caso o ponto inicial seja utilizado como `ref@{Nth}`, exiba o formato do índice.

note: type: Plain text
en: If the starting point was specified as `ref@{now}`, show the timestamp format.
pt_BR: Caso o ponto inicial seja utilizado como `ref@{now}`, exiba o formato do registro de data e hora.

note: type: Plain text
en: If neither was used, but `--date` was given on the command line, show the timestamp in the format requested by `--date`.
pt_BR: Caso nenhum deles tenha sido utilizado, mas a opção `--data` foi utilizado na linha de comando, exibe o registro de data e hora no formato solicitado por `--data`.

note: type: Plain text
en: Otherwise, show the index format.
pt_BR: Caso contrário, exibe o formato do índice.

note: type: Plain text
en: Under `--pretty=oneline`, the commit message is prefixed with this information on the same line.  This option cannot be combined with `--reverse`.  See also linkgit:git-reflog[1].
pt_BR: Em `pretty=oneline`, a mensagem do commit é prefixada com estas informações na mesma linha.  Esta opção não pode ser combinada com `--reverse`.  Consulte também linkgit:git-reflog[1].

note: type: Plain text
en: Under `--pretty=reference`, this information will not be shown at all.
pt_BR: Esta informação não será exibida de forma alguma sob `--pretty = reference`.

note: type: Plain text
en: After a failed merge, show refs that touch files having a conflict and don't exist on all heads to merge.
pt_BR: Após uma falha na mesclagem, exiba as refs que estão em atrito com os arquivos e não existam em todos os `HEADS` que serão mesclados.

note: type: Plain text
en: Output excluded boundary commits. Boundary commits are prefixed with `-`.
pt_BR: O limite da exclusão dos commits que forem gerados. Os limites entre os commits são prefixados com `-`.

note: type: Plain text
en: Try to speed up the traversal using the pack bitmap index (if one is available). Note that when traversing with `--objects`, trees and blobs will not have their associated path printed.
pt_BR: Tente acelerar a passagem usando o índice do pacote bitmap (caso haja um disponível). Observe que ao percorrer com `--objects`, as árvores e as bolhas não terão o seu caminho associado impresso.

note: type: Plain text
en: Show progress reports on stderr as objects are considered. The `<header>` text will be printed with each progress update.
pt_BR: Exibe os relatórios de progresso no stderr à medida que os objetos são considerados. O texto `<header>` será impresso a cada atualização do progresso.

note: type: Title ~
en: History Simplification
pt_BR: Simplificação do histórico

note: type: Plain text
en: Sometimes you are only interested in parts of the history, for example the commits modifying a particular <path>. But there are two parts of 'History Simplification', one part is selecting the commits and the other is how to do it, as there are various strategies to simplify the history.
pt_BR: Às vezes, você está interessado apenas nas partes da história, como por exemplo, os commit que alteraram um determinado <caminho>. Porém existem duas partes da 'Simplificação do Histórico', uma parte é a seleção dos commits e a outra é como fazê-lo, pois existem várias estratégias para simplificar o histórico.

note: type: Plain text
en: The following options select the commits to be shown:
pt_BR: As seguintes opções selecionam os commits que serão exibidos:

note: type: Labeled list
en: <paths>
pt_BR: <caminhos>

note: type: Plain text
en: Commits modifying the given <paths> are selected.
pt_BR: São selecionados os commits que alterarem os <caminhos> informados.

note: type: Plain text
en: Commits that are referred by some branch or tag are selected.
pt_BR: São selecionados os commits utilizados como referência por algumas ramificações ou tags.

note: type: Plain text
en: Note that extra commits can be shown to give a meaningful history.
pt_BR: Observe que os commits extras podem ser exibidos para fornecer um histórico significativo.

note: type: Plain text
en: The following options affect the way the simplification is performed:
pt_BR: As seguintes opções afetam a maneira como a simplificação é feita:

note: type: Labeled list
en: Default mode
pt_BR: Modo predefinido

note: type: Plain text
en: Simplifies the history to the simplest history explaining the final state of the tree. Simplest because it prunes some side branches if the end result is the same (i.e. merging branches with the same content)
pt_BR: Simplifique o histórico para o mais simples, explicando a condição final da árvore. Mais simples, porque elimina algumas ramificações laterais caso o resultado final for o mesmo (ou seja, mescle os ramos com o mesmo conteúdo)

note: type: Plain text
en: Include all commits from the default mode, but also any merge commits that are not TREESAME to the first parent but are TREESAME to a later parent. This mode is helpful for showing the merge commits that "first introduced" a change to a branch.
pt_BR: Inclua todas os commits no modo predefinido, porém também qualquer commits mesclado que não sejam 'TREESAME' para o primeiro parente, porém sejam 'TREESAME' para um parente posterior. Este modo auxilia na exibição do commit mesclado que "introduziu primeiro" a alteração em um ramo.

note: type: Plain text
en: Same as the default mode, but does not prune some history.
pt_BR: O mesmo que o modo predefinido, mas não corta parte do histórico.

note: type: Plain text
en: Only the selected commits are shown, plus some to have a meaningful history.
pt_BR: Apenas os commits selecionados são exibidos e mais alguns que tenham algum histórico significante.

note: type: Plain text
en: All commits in the simplified history are shown.
pt_BR: São exibidos todos os commits com um histórico simplificado.

note: type: Plain text
en: Additional option to `--full-history` to remove some needless merges from the resulting history, as there are no selected commits contributing to this merge.
pt_BR: Opção adicional para `--full-history` para remover algumas mesclagens desnecessárias do histórico resultante, pois não há commits selecionados contribuindo para essa mesclagem.

note: type: Plain text
en: When given a range of commits to display (e.g. 'commit1..commit2' or 'commit2 {caret}commit1'), only display commits that exist directly on the ancestry chain between the 'commit1' and 'commit2', i.e. commits that are both descendants of 'commit1', and ancestors of 'commit2'.
pt_BR: Quando um intervalo dos commits é exibido (como por exemplo, 'commit1..commit2' ou 'commit2 {caret}commit1'), apenas exibe os commits que existem diretamente na cadeia de ancestralidade entre o 'commit1' e o 'commit1', ou seja, os commits que são ambos descendentes doe 'commit1' e os ancestrais do 'commit2'.

note: type: Plain text
en: A more detailed explanation follows.
pt_BR: Segue explicações com mais detalhes.

note: type: Plain text
en: Suppose you specified `foo` as the <paths>.  We shall call commits that modify `foo` !TREESAME, and the rest TREESAME.  (In a diff filtered for `foo`, they look different and equal, respectively.)
pt_BR: Suponha que você defina `foo` como o <caminho>.  Vamos chamar os commits que alteraram `foo` '!TREESAME', e o restante 'TREESAME'.  (Em um diff filtrado pelo `foo`, eles parecem diferentes e iguais, respectivamente.)

note: type: Plain text
en: In the following, we will always refer to the same example history to illustrate the differences between simplification settings.  We assume that you are filtering for a file `foo` in this commit graph:
pt_BR: A seguir, sempre nos referiremos ao mesmo exemplo do histórico para ilustrar as diferenças entre as configurações de simplificação.  Assumimos que esteja filtrando um arquivo `foo` neste grafo do commit:

note: type: Plain text
en: The horizontal line of history A---Q is taken to be the first parent of each merge.  The commits are:
pt_BR: A linha horizontal do histórico 'A---Q' é considerada o primeira origem de cada mesclagem.  Os commits são:

note: type: Plain text
en: `I` is the initial commit, in which `foo` exists with contents ``asdf'', and a file `quux` exists with contents ``quux''. Initial commits are compared to an empty tree, so `I` is !TREESAME.
pt_BR: O `I` é o commit inicial onde `foo` existe com o conteúdo ``asdf'' e existe um arquivo `quux` com o conteúdo` `quux ''. Os commits iniciais são comparados com uma árvore vazia, então o `I` é !TREESAME.

note: type: Plain text
en: In `A`, `foo` contains just ``foo''.
pt_BR: Em `A`, `foo` contém apenas ``foo''.

note: type: Plain text
en: `B` contains the same change as `A`.  Its merge `M` is trivial and hence TREESAME to all parents.
pt_BR: O `B` contém a mesma alteração que `A`.  A mesclagem `M` é trivial e portanto, 'TREESAME' para todos os pais.

note: type: Plain text
en: `C` does not change `foo`, but its merge `N` changes it to ``foobar'', so it is not TREESAME to any parent.
pt_BR: O `C` não muda `foo`, mas a sua mesclagem `N` o altera para ``foobar'', portanto não é 'TREESAME' para nenhum dos pais.

note: type: Plain text
en: `D` sets `foo` to ``baz''. Its merge `O` combines the strings from `N` and `D` to ``foobarbaz''; i.e., it is not TREESAME to any parent.
pt_BR: `D` define `foo` para ``baz''. Mescla `O` combinado com textos vindos de ` N` e `D` a ``foobarbaz''; ou seja, não é "TREESAME" para nenhuma das origens.

note: type: Plain text
en: `E` changes `quux` to ``xyzzy'', and its merge `P` combines the strings to ``quux xyzzy''. `P` is TREESAME to `O`, but not to `E`.
pt_BR: O `E` altera `quux` para ``xyzzy'' e a sua mesclagem `P` combina as sequências dos caracteres para ``quux xyzzy''. O `P` é 'TREESAME' para `O`, porém não para `E`.

note: type: Plain text
en: `X` is an independent root commit that added a new file `side`, and `Y` modified it. `Y` is TREESAME to `X`. Its merge `Q` added `side` to `P`, and `Q` is TREESAME to `P`, but not to `Y`.
pt_BR: O `X` é um commit raiz independente que adicionou um novo arquivo `side`, e `Y` o alterou. O `Y` é 'TREESAME' para `X`. Mescla `Q` adicionou `side` para `P`, e `Q` e 'TREESAME' para `P`, mas não para `Y`.

note: type: Plain text
en: `rev-list` walks backwards through history, including or excluding commits based on whether `--full-history` and/or parent rewriting (via `--parents` or `--children`) are used. The following settings are available.
pt_BR: O `rev list` retrocede no histórico, incluindo ou excluindo os commits com base no uso do `--full-history` e/ou na reescrita dos pais (através da opção `--parents` ou `--children`). As seguintes configurações estão disponíveis.

note: type: Plain text
en: Commits are included if they are not TREESAME to any parent (though this can be changed, see `--sparse` below).  If the commit was a merge, and it was TREESAME to one parent, follow only that parent.  (Even if there are several TREESAME parents, follow only one of them.)  Otherwise, follow all parents.
pt_BR: Os commits serão incluídas caso não sejam 'TREESAME' para nenhum dos parentes (embora isso possa ser alterado, consulte a opção `--sparse` abaixo).  Se o commit foi uma mesclagem e também foi um 'TREESAME' para um parente, siga apenas este parente.  (Mesmo que haja vários parentes 'TREESAME', siga apenas um deles.) Caso contrário, siga todos.

note: type: Plain text
en: This results in:
pt_BR: Isso resulta em:

note: type: Plain text
en: Note how the rule to only follow the TREESAME parent, if one is available, removed `B` from consideration entirely.  `C` was considered via `N`, but is TREESAME.  Root commits are compared to an empty tree, so `I` is !TREESAME.
pt_BR: Observe como a regra para seguir apenas a origem TREESAME, caso haja um, removeu `B` completamente.  `C` foi considerado através do `N`, mas é o TREESAME.  Os commits raiz são comparadas com uma árvore vazia, então `I` é !TREESAME.

note: type: Plain text
en: Parent/child relations are only visible with `--parents`, but that does not affect the commits selected in default mode, so we have shown the parent lines.
pt_BR: As relações entre pai/filho são visíveis apenas com `--parents`, porém isso não afeta os commits selecionados no modo predefinido, portanto, mostramos as linhas dos pais.

note: type: Labeled list
en: --full-history without parent rewriting
pt_BR: `--full-history` sem reescrita anterior

note: type: Plain text
en: This mode differs from the default in one point: always follow all parents of a merge, even if it is TREESAME to one of them.  Even if more than one side of the merge has commits that are included, this does not imply that the merge itself is! In the example, we get
pt_BR: Este modo difere da predefinição em um ponto: sempre siga todos os pais de uma mesclagem, mesmo que seja 'TREESAME' para um deles.  Mesmo se mais de um lado da mesclagem tiver commits que estejam inclusos, isso não implica que a própria mesclagem seja! No exemplo, nós temos

note: type: Plain text
en: `M` was excluded because it is TREESAME to both parents.  `E`, `C` and `B` were all walked, but only `B` was !TREESAME, so the others do not appear.
pt_BR: O `M` foi excluído porque é 'TREESAME' para ambos os pais.  `E`, `C` e `B` foram todos percorridos, porém apenas `B` foi '!TREESAME', para que os outros não apareçam.

note: type: Plain text
en: Note that without parent rewriting, it is not really possible to talk about the parent/child relationships between the commits, so we show them disconnected.
pt_BR: Observe que, sem reescrever os pais, não é realmente possível falar sobre os relacionamentos pai/filho entre os commits, portanto, mostramos-lhes desconectados.

note: type: Labeled list
en: --full-history with parent rewriting
pt_BR: `--full-history` com reescrita anterior

note: type: Plain text
en: Ordinary commits are only included if they are !TREESAME (though this can be changed, see `--sparse` below).
pt_BR: Os commits comuns são incluídos apenas se forem '!TREESAME' (embora é possível alterar isso, consulte `--sparse` abaixo).

note: type: Plain text
en: Merges are always included.  However, their parent list is rewritten: Along each parent, prune away commits that are not included themselves.  This results in
pt_BR: As mesclagens estão sempre inclusas.  No entanto, sua lista de origens é reescrita: em cada origem, remova os commit que não foram inclusos.  Isto resulta no

note: type: Plain text
en: Compare to `--full-history` without rewriting above.  Note that `E` was pruned away because it is TREESAME, but the parent list of P was rewritten to contain `E`'s parent `I`.  The same happened for `C` and `N`, and `X`, `Y` and `Q`.
pt_BR: Compare com a opção `--full-history` sem reescrever acima.  Observe que `E` foi removido porque é um 'TREESAME', porém a lista dos parentes `P` foi reescrita para conter `E` parente do `I`.  O mesmo aconteceu para `C` e `N`, e `X`, `Y` e `Q`.

note: type: Plain text
en: In addition to the above settings, you can change whether TREESAME affects inclusion:
pt_BR: Além das configurações acima, é possível alterar se o 'TREESAME' afeta a inclusão:

note: type: Plain text
en: Commits that are walked are included if they are not TREESAME to any parent.
pt_BR: Os commits encaminhados serão incluídos caso não sejam um 'TREESAME' para nenhum dos parentes.

note: type: Plain text
en: All commits that are walked are included.
pt_BR: Todos os commits que forem passados serão incluidos.

note: type: Plain text
en: Note that without `--full-history`, this still simplifies merges: if one of the parents is TREESAME, we follow only that one, so the other sides of the merge are never walked.
pt_BR: Observe que sem o `--full-history', isso ainda simplifica as mesclagens: caso um dos pais seja 'TREESAME', seguiremos apenas este, para que os outros lados da mesclagem nunca sejam percorridos.

note: type: Plain text
en: First, build a history graph in the same way that `--full-history` with parent rewriting does (see above).
pt_BR: Primeiro, construa um grafo do histórico da mesma maneira que `--full-history` com a reescrita dos parentes (veja acima).

note: type: Plain text
en: Then simplify each commit `C` to its replacement `C'` in the final history according to the following rules:
pt_BR: Simplifique cada commit `C` para a sua reposição `C'` no histórico final, de acordo com as seguintes regras:

note: type: Plain text
en: Set `C'` to `C`.
pt_BR: Defina `C'` para `C`.

note: type: Plain text
en: Replace each parent `P` of `C'` with its simplification `P'`.  In the process, drop parents that are ancestors of other parents or that are root commits TREESAME to an empty tree, and remove duplicates, but take care to never drop all parents that we are TREESAME to.
pt_BR: Substitua cada pai `P` do `C'` por sua simplificação `P'`.  No processo, solte os pais que são ancestrais dos outros pais ou que os commits raiz 'TREESAME' em uma árvore vazia e remova as duplicatas, porém tome cuidado para nunca descartar todos os pais já que somos 'TREESAME' também.

note: type: Plain text
en: If after this parent rewriting, `C'` is a root or merge commit (has zero or >1 parents), a boundary commit, or !TREESAME, it remains.  Otherwise, it is replaced with its only parent.
pt_BR: Se após esta reescrita da origem, o `C'` for um commit raiz ou uma mesclagem (tem zero ou > origens), um commit limite ou !TREESAME, será mantido.  Caso contrário, será substituído pela sua única origem.

note: type: Plain text
en: The effect of this is best shown by way of comparing to `--full-history` with parent rewriting.  The example turns into:
pt_BR: O efeito disso é melhor mostrado através da comparação com a opção `--full-history` com a reescrita dos pais.  O exemplo se transforma em:

note: type: Plain text
en: Note the major differences in `N`, `P`, and `Q` over `--full-history`:
pt_BR: Observe que as maiores diferenças entre `N`, `P`, e `Q` sobre `--full-history`:

note: type: Plain text
en: `N`'s parent list had `I` removed, because it is an ancestor of the other parent `M`.  Still, `N` remained because it is !TREESAME.
pt_BR: A lista dos pais de `N` teve `I` removida, porque é um ancestral do outro pai `M`.  Ainda assim, `N` permaneceu porque é '!TREESAME'.

note: type: Plain text
en: `P`'s parent list similarly had `I` removed.  `P` was then removed completely, because it had one parent and is TREESAME.
pt_BR: A lista de pais de `P` também removeu o `I`.  O `P` foi então removido completamente, porque tinha um pai e é 'TREESAME'.

note: type: Plain text
en: `Q`'s parent list had `Y` simplified to `X`. `X` was then removed, because it was a TREESAME root. `Q` was then removed completely, because it had one parent and is TREESAME.
pt_BR: A lista de pais de `Q` tinha` Y` simplificado para `X`. O `X` foi então removido, porque era uma raiz 'TREESAME'. O `Q` foi removido completamente, porque tinha um pai e é 'TREESAME'.

note: type: Plain text
en: There is another simplification mode available:
pt_BR: Há um outra modo de simplificação disponível:

note: type: Plain text
en: Limit the displayed commits to those directly on the ancestry chain between the ``from'' and ``to'' commits in the given commit range. I.e. only display commits that are ancestor of the ``to'' commit and descendants of the ``from'' commit.
pt_BR: Limite os commits exibidos àquelas diretamente na cadeia de ancestralidade entre os commits ``from'' e ``to'' no intervalo dos commits informados. Ou seja, exiba apenas os commits que são ancestrais do commit ``to'' ('para') e os descendentes do commit ``from''.

note: type: Plain text
en: As an example use case, consider the following commit history:
pt_BR: Como um exemplo de caso, considere o seguinte histórico do commit:

note: type: Plain text
en: A regular 'D..M' computes the set of commits that are ancestors of `M`, but excludes the ones that are ancestors of `D`. This is useful to see what happened to the history leading to `M` since `D`, in the sense that ``what does `M` have that did not exist in `D`''. The result in this example would be all the commits, except `A` and `B` (and `D` itself, of course).
pt_BR: Um 'D..M' regular calcula o conjunto dos commits que são ancestrais do `M`, mas exclui os que são ancestrais do `D`. Isso é útil para ver o que aconteceu com a história que levou a `M` desde o `D`, no sentido que ``o que `M` possui e que não existia em `D`''. O resultado neste exemplo seria todos os commits, exceto `A` e `B` (e `D`, obviamente).

note: type: Plain text
en: When we want to find out what commits in `M` are contaminated with the bug introduced by `D` and need fixing, however, we might want to view only the subset of 'D..M' that are actually descendants of `D`, i.e.  excluding `C` and `K`. This is exactly what the `--ancestry-path` option does. Applied to the 'D..M' range, it results in:
pt_BR: Quando queremos descobrir o qual commit em `M` está contaminado com o bug introduzido por `D` e precisa ser corrigido, contudo, podemos querer visualizar apenas o subconjunto 'D..M' que são realmente descendentes do `D`, como por exemplo, excluindo `C` e `K`. É exatamente isso que a opção `--ancestry-path` faz. Aplicado à faixa 'D..M', resulta em:

note: type: Plain text
en: Before discussing another option, `--show-pulls`, we need to create a new example history.
pt_BR: Antes de discutir outra opção, `--show-pulls`, precisamos criar um novo histórico de exemplo.

note: type: Plain text
en: A common problem users face when looking at simplified history is that a commit they know changed a file somehow does not appear in the file's simplified history. Let's demonstrate a new example and show how options such as `--full-history` and `--simplify-merges` works in that case:
pt_BR: Um problema comum que os usuários enfrentam ao examinar o histórico simplificado é que um commit que eles conhecem alterou um arquivo e que de alguma maneira não aparece no histórico simplificado do arquivo. Vamos demonstrar um novo exemplo e exibir como as opções como `--full-history` e `--simplify-merges` funcionam neste caso:

note: type: Plain text
en: For this example, suppose `I` created `file.txt` which was modified by `A`, `B`, and `X` in different ways. The single-parent commits `C`, `Z`, and `Y` do not change `file.txt`. The merge commit `M` was created by resolving the merge conflict to include both changes from `A` and `B` and hence is not TREESAME to either. The merge commit `R`, however, was created by ignoring the contents of `file.txt` at `M` and taking only the contents of `file.txt` at `X`. Hence, `R` is TREESAME to `X` but not `M`. Finally, the natural merge resolution to create `N` is to take the contents of `file.txt` at `R`, so `N` is TREESAME to `R` but not `C`.  The merge commits `O` and `P` are TREESAME to their first parents, but not to their second parents, `Z` and `Y` respectively.
pt_BR: Para este exemplo, suponha que `I` tenha criado o `file.txt` que foi modificado por `A`, `B` e` X` de maneiras diferentes. O único parente fa o commit `C`, `Z` e `Y` não alteram o `file.txt`. O commit mesclado `M` foi criado resolvendo o conflito da mesclagem para incluir as alterações de `A` e `B`, portanto, também não é um 'TREESAME'. O commit mesclado `R`, no entanto, foi criado ignorando o conteúdo do `file.txt` no `M` e levando apenas o conteúdo de `file.txt` no `X`. Portanto, `R` é o 'TREESAME' para `X`, mas não para `M`. Finalmente, a resolução de mesclagem natural para criar `N` é levar o conteúdo do `file.txt` para `R`, de modo onde `N` seja um 'TREESAME' para `R`, mas não para `C`.  O commit mesclado `O` e `P` são 'TREESAME' para seus primeiros parentes, mas não para seus os parentes secundários, `Z` e `Y` respectivamente.

note: type: Plain text
en: When using the default mode, `N` and `R` both have a TREESAME parent, so those edges are walked and the others are ignored. The resulting history graph is:
pt_BR: Ao utilizar os modos predefinidos, ambos os `N` e `R` tem um pai TREESAME, então aquelas bordas são percorridas e outras são ignoradas. E o grafo resultante no histórico é:

note: type: Plain text
en: When using `--full-history`, Git walks every edge. This will discover the commits `A` and `B` and the merge `M`, but also will reveal the merge commits `O` and `P`. With parent rewriting, the resulting graph is:
pt_BR: Ao utilizar a opção `--full-history`, O Git percorre cada canto. Descobre se os commits `A`, `B` e o mesclado `M`, porém também revela se o commit mesclado `O` e `P`. Com a reescrita do pai, o resultado do grafo é:

note: type: Plain text
en: Here, the merge commits `O` and `P` contribute extra noise, as they did not actually contribute a change to `file.txt`. They only merged a topic that was based on an older version of `file.txt`. This is a common issue in repositories using a workflow where many contributors work in parallel and merge their topic branches along a single trunk: manu unrelated merges appear in the `--full-history` results.
pt_BR: Aqui, a mesclagem do commit `O` e `P` contribuem com um ruído extra, pois na verdade não contribuíram com uma alteração no `file.txt`. Eles mesclaram apenas um 'topic' com base numa versão mais antiga do `file.txt`. Este é um problema comum em repositórios que utilizam um fluxo de trabalho onde que muitos colaboradores trabalham em paralelo e mesclam as suas ramificações dos tópicos em um único "trunk": as mesclagens não relacionadas ao manu aparecem nos resultados do comando `--full-history`.

note: type: Plain text
en: When using the `--simplify-merges` option, the commits `O` and `P` disappear from the results. This is because the rewritten second parents of `O` and `P` are reachable from their first parents. Those edges are removed and then the commits look like single-parent commits that are TREESAME to their parent. This also happens to the commit `N`, resulting in a history view as follows:
pt_BR: Ao utilizar a opção `--simplify-merges`, os commits `O` e `P` desaparecem dos resultados. Pois as reescritas do segundo pai de `O` e `P` são acessíveis a partir dos seus primeiros pais. Estes cantos são removidos e então os commits se parecem com commits com pai singular só que são TREESAME em relação aos seus pais. Isso também acontece ao commit `N`, resultando no histórico a seguir:

note: type: Plain text
en: In this view, we see all of the important single-parent changes from `A`, `B`, and `X`. We also see the carefully-resolved merge `M` and the not-so-carefully-resolved merge `R`. This is usually enough information to determine why the commits `A` and `B` "disappeared" from history in the default view. However, there are a few issues with this approach.
pt_BR: Nesta visão, vemos todas as alterações importantes da única origem vindas de `A`, `B` e `X`. Também vemos a mesclagem cuidadosamente resolvida de `M` e a mesclagem nem tão bem resolvida do `R`. Geralmente são informações suficientes para determinar por que os commit `A` e `B` "desapareceram" do histórico na visualização predefinida. No entanto, existem alguns problemas com esta abordagem.

note: type: Plain text
en: The first issue is performance. Unlike any previous option, the `--simplify-merges` option requires walking the entire commit history before returning a single result. This can make the option difficult to use for very large repositories.
pt_BR: O primeiro problema é o desempenho. Diferente das opções anteriores, a opção `--simplify-merges` precisa percorrer todo o histórico do commit antes de retornar um único resultado. Isso pode fazer com que a opção seja difícil de usar em repositórios muito grandes.

note: type: Plain text
en: The second issue is one of auditing. When many contributors are working on the same repository, it is important which merge commits introduced a change into an important branch. The problematic merge `R` above is not likely to be the merge commit that was used to merge into an important branch. Instead, the merge `N` was used to merge `R` and `X` into the important branch. This commit may have information about why the change `X` came to override the changes from `A` and `B` in its commit message.
pt_BR: O segundo problema é a auditoria. Quando muitos colaboradores estão trabalhando no mesmo repositório, é importante saber qual mesclagem do commit introduziu uma importante alteração no ramo. A mesclagem problemática `R` acima não parece ser o commit mesclado que foi utilizado na mesclagem de um ramo importante. Em vez disso, a mesclagem `N` foi utilizada para mesclar `R` e `X` em um importante ramo. Este commit por ter informação sobre o por que do `X` chegou a substituir as alterações do `A` e `B` em suas mensagens do commit.

note: type: Plain text
en: In addition to the commits shown in the default history, show each merge commit that is not TREESAME to its first parent but is TREESAME to a later parent.
pt_BR: Além dos commits exibidos no histórico predefinido, exiba cada mesclagem do commit que não seja 'TREESAME' para o primeiro parente, porém que seja 'TREESAME' para um parente posterior.

note: type: Plain text
en: When a merge commit is included by `--show-pulls`, the merge is treated as if it "pulled" the change from another branch. When using `--show-pulls` on this example (and no other options) the resulting graph is:
pt_BR: Quando a mesclagem de um commit é incluso pela opção `--show-pulls`, a mesclagem é tratada como tivesse "capturado" as alterações de um outro ramo. Ao usar a opção `--show-pulls` nest exemplo (e em nenhuma outra opção) o grafo resultante é:

note: type: Plain text
en: Here, the merge commits `R` and `N` are included because they pulled the commits `X` and `R` into the base branch, respectively. These merges are the reason the commits `A` and `B` do not appear in the default history.
pt_BR: Aqui, a mesclagem do commit `R` e `N` são incluídos porque obtiveram os commits `X` e `R` para o ramo base, respectivamente. Essas mesclagens são a razão pela qual os commits `A` e `B` não aparecem no histórico predefinido.

note: type: Plain text
en: When `--show-pulls` is paired with `--simplify-merges`, the graph includes all of the necessary information:
pt_BR: Quando a opção `--show-pulls` for usado em conjunto com `--simplify-merges`, o grafo incluí todas as informações necessárias:

note: type: Plain text
en: Notice that since `M` is reachable from `R`, the edge from `N` to `M` was simplified away. However, `N` still appears in the history as an important commit because it "pulled" the change `R` into the main branch.
pt_BR: Repare que desde que `M` seja acessível de `R`, o canto de `N` para `M` foi simplificado. No entanto, o `N` ainda aparece no histórico como um commit importante porque ele "obteve" as alterações vindas de `R` para o ramo principal.

note: type: Plain text
en: The `--simplify-by-decoration` option allows you to view only the big picture of the topology of the history, by omitting commits that are not referenced by tags.  Commits are marked as !TREESAME (in other words, kept after history simplification rules described above) if (1) they are referenced by tags, or (2) they change the contents of the paths given on the command line.  All other commits are marked as TREESAME (subject to be simplified away).
pt_BR: A opção `--simplify-by-decoration` permite exibir apenas o quadro geral da topologia do histórico, omitindo os commits que não sejam referenciadas pelas tags.  Os commits são marcadas como '!TREESAME' (em outras palavras, mantidas após as regras da simplificação do histórico descritas acima) caso (1) sejam referenciadas pelas tags ou (2) alteram o conteúdo dos caminhos usados na linha de comando.  Todos os outros commits são marcados como 'TREESAME' (assunto que será simplificado).

note: type: Title ~
en: Bisection Helpers
pt_BR: Auxiliares da Bisseção

note: type: Plain text
en: Limit output to the one commit object which is roughly halfway between included and excluded commits. Note that the bad bisection ref `refs/bisect/bad` is added to the included commits (if it exists) and the good bisection refs `refs/bisect/good-*` are added to the excluded commits (if they exist). Thus, supposing there are no refs in `refs/bisect/`, if
pt_BR: Limite a geração do objeto para um único commit, que fica aproximadamente a meio caminho entre os commits incluídos e excluídos. Observe que a bisseção da "ref" ruim `refs/bisect/bad` é adicionada aos commits incluídos (caso existam) e a bisseção das boas refs `refs/bisect/good-*` é adicionada aos commits excluídos (caso existam). Assim, supondo que não haja nenhuma refs em `refs/bisect/`, se

note: type: Plain text
en: outputs 'midpoint', the output of the two commands
pt_BR: gera o 'midpoint', a saída dos dois comandos

note: type: Plain text
en: would be of roughly the same length.  Finding the change which introduces a regression is thus reduced to a binary search: repeatedly generate and test new 'midpoint's until the commit chain is of length one. Cannot be combined with --first-parent.
pt_BR: teria aproximadamente o mesmo comprimento.  Encontrando a alteração que introduz uma regressão é assim reduzida a uma pesquisa binária: gere e teste repetidamente novos 'pontos intermediários' até que a cadeia dos commits tenha o comprimento de um. Não pode ser combinado com `--first-parent`.

note: type: Plain text
en: This calculates the same as `--bisect`, except that refs in `refs/bisect/` are not used, and except that this outputs text ready to be eval'ed by the shell. These lines will assign the name of the midpoint revision to the variable `bisect_rev`, and the expected number of commits to be tested after `bisect_rev` is tested to `bisect_nr`, the expected number of commits to be tested if `bisect_rev` turns out to be good to `bisect_good`, the expected number of commits to be tested if `bisect_rev` turns out to be bad to `bisect_bad`, and the number of commits we are bisecting right now to `bisect_all`.
pt_BR: Calcula o mesmo que `--bisect`, exceto que as refs no `refs/bisect/` não são usados e a menos que isso gere um texto pronto para ser avaliado pelo shell. Essas linhas atribuirão o nome da revisão do ponto intermediário à variável `bisect_rev`, e a quantidade esperada dos commits que serão testados depois que `bisect_rev` for testado como `bisect_nr`, a quantidade esperada dos commits que serão testados caso `bisect_rev` acabe sendo bom para `bisect_good`, a quantidade esperada dos commits que serão testados caso `bisect_rev` acabe sendo ruim para `bisect_bad`, a quantidade esperada dos commits que agora estamos fazendo o bisseção para `bisect_all`.

note: type: Plain text
en: This outputs all the commit objects between the included and excluded commits, ordered by their distance to the included and excluded commits. Refs in `refs/bisect/` are not used. The farthest from them is displayed first. (This is the only one displayed by `--bisect`.)
pt_BR: Gera todos os objetos commit entre os commits incluídos e excluídos, ordenadas pela distância entre os commits incluídos e excluídos. As referências em `refs/bisect/` não são usadas. O mais distante deles é exibido primeiro. (Este é o único exibido através do `--bisect`.)

note: type: Plain text
en: This is useful because it makes it easy to choose a good commit to test when you want to avoid to test some of them for some reason (they may not compile for example).
pt_BR: Isso é útil porque facilita a escolha de um bom commit para testar quando quiser evitar o teste de alguns deles por algum motivo (por eles não poderem ser compilados, por exemplo).

note: type: Plain text
en: This option can be used along with `--bisect-vars`, in this case, after all the sorted commit objects, there will be the same text as if `--bisect-vars` had been used alone.
pt_BR: Esta opção pode ser utilizada junto com `--bisect-vars`, neste caso, quando todos os objetos commits forem classificados, haverá o mesmo texto como se `--bisect-vars` tivesse sido utilizado sozinho.

note: type: Title ~
en: Commit Ordering
pt_BR: Ordenando os Commits

note: type: Plain text
en: By default, the commits are shown in reverse chronological order.
pt_BR: É predefinido que os commits sejam exibidos em uma ordem cronológica reversa.

note: type: Plain text
en: Show no parents before all of its children are shown, but otherwise show commits in the commit timestamp order.
pt_BR: Não exiba nenhuma origem antes de todos os herdeiros, porém exiba os commits com uma ordem de data e hora.

note: type: Plain text
en: Show no parents before all of its children are shown, but otherwise show commits in the author timestamp order.
pt_BR: Não exiba nenhuma origem antes de todos os herdeiros, porém exiba os commits com uma ordem de data e hora do autor.

note: type: Plain text
en: Show no parents before all of its children are shown, and avoid showing commits on multiple lines of history intermixed.
pt_BR: Não exiba nenhuma origem antes de todos os herdeiros e evite exibir os commits com múltiplas linhas misturadas no histórico.

note: type: Plain text
en: For example, in a commit history like this:
pt_BR: Por exemplo, em um histórico de commit como este:

note: type: Plain text
en: where the numbers denote the order of commit timestamps, `git rev-list` and friends with `--date-order` show the commits in the timestamp order: 8 7 6 5 4 3 2 1.
pt_BR: onde os números indicam a ordem dos registros de data e hora do commit, o comando `git rev-list` e seus amigos `--date-order` exibem os commits na ordem de registro de data e hora: 8 7 6 5 4 3 2 1.

note: type: Plain text
en: With `--topo-order`, they would show 8 6 5 3 7 4 2 1 (or 8 7 4 2 6 5 3 1); some older commits are shown before newer ones in order to avoid showing the commits from two parallel development track mixed together.
pt_BR: Com `--topo-order`, eles demonstrariam 8 6 5 3 7 4 2 1 (ou 8 7 4 2 6 5 3 1); alguns commits mais antigos são exibidos antes dos mais recentes, a fim de se evitar exibir os commits das duas trilhas de desenvolvimento paralelas misturadas juntas.

note: type: Plain text
en: Output the commits chosen to be shown (see Commit Limiting section above) in reverse order. Cannot be combined with `--walk-reflogs`.
pt_BR: Envie os commits escolhidos para serem exibidos (consulte a seção Limite do Commit acima) na ordem inversa. Não pode ser combinado com `--walk-reflogs`.

note: type: Title ~
en: Object Traversal
pt_BR: Passagem de Objeto

note: type: Plain text
en: These options are mostly targeted for packing of Git repositories.
pt_BR: Essas opções são direcionadas principalmente para o empacotamento dos repositórios Git.

note: type: Plain text
en: Print the object IDs of any object referenced by the listed commits.  `--objects foo ^bar` thus means ``send me all object IDs which I need to download if I have the commit object _bar_ but not _foo_''.
pt_BR: Imprima as IDs do objeto de qualquer objeto referenciado pelos commits listados.  Os `--objects foo ^bar` significa, portanto, ``me envie todas as IDs dos objetos que eu preciso baixar caso eu tenha o objeto commit _bar_ mas não _foo_''.

note: type: Plain text
en: Print tree and blob ids in order of the commits. The tree and blob ids are printed after they are first referenced by a commit.
pt_BR: Imprima as IDs da árvore e da bolha na ordem dos commit. As IDs da árvore e da bolha são impressas após serem referenciados pelo commit.

note: type: Plain text
en: Similar to `--objects`, but also print the IDs of excluded commits prefixed with a ``-'' character.  This is used by linkgit:git-pack-objects[1] to build a ``thin'' pack, which records objects in deltified form based on objects contained in these excluded commits to reduce network traffic.
pt_BR: Semelhante a opção `--objects`, porém também imprime as IDs dos commits que foram excluídos e prefixados com um caractere ``-''.  Isso é usado pelo linkgit:git-pack-objects[1] para criar um pacote ``thin'', que registra os objetos em um formato "deltificado" com base nos objetos existentes nestes commits excluídos para reduzir o tráfego da rede.

note: type: Plain text
en: Similar to `--objects-edge`, but it tries harder to find excluded commits at the cost of increased time.  This is used instead of `--objects-edge` to build ``thin'' packs for shallow repositories.
pt_BR: Semelhante a opção `--objects-edge`, porém se esforça mais para localizar os commits excluídos com o custo do tempo aumentado.  É usado em vez da opão  `--objects-edge` para criar os pacotes ``thin'' para os repositórios rasos.

note: type: Plain text
en: Pretend as if all trees and blobs used by the index are listed on the command line.  Note that you probably want to use `--objects`, too.
pt_BR: Finja como se todas as árvores e as bolhas usadas pelo índice estivessem listados na linha de comando.  Observe que você provavelmente queira utilizar a opção `--objects` também.

note: type: Plain text
en: Only useful with `--objects`; print the object IDs that are not in packs.
pt_BR: Útil apenas com a opção `--objects`; imprima as IDs do objeto que não estejam nos pacotes.

note: type: Plain text
en: Only useful with `--objects`; print the names of the object IDs that are found. This is the default behavior.
pt_BR: Útil apenas com a opção `--objects`; imprima os nomes dos IDs dos objetos que forem encontrados. Este é o comportamento predefinido.

note: type: Plain text
en: Only useful with `--objects`; does not print the names of the object IDs that are found. This inverts `--object-names`. This flag allows the output to be more easily parsed by commands such as linkgit:git-cat-file[1].
pt_BR: Útil apenas com a opção `--objects`; não imprima os nomes das IDs dos objetos que forem encontrados. Isto inverte a opção `--object-names`. Esta opção permite que a saída seja analisada mais facilmente por comandos como linkgit:git-cat-file[1].

note: type: Plain text
en: Only useful with one of the `--objects*`; omits objects (usually blobs) from the list of printed objects.  The '<filter-spec>' may be one of the following:
pt_BR: Útil apenas com um dos objetos `--objects*`; omite os objetos (geralmente bolhas) da lista dos objetos impressos.  O '<filter-spec>' pode ser um dos seguintes:

note: type: Plain text
en: The form '--filter=blob:none' omits all blobs.
pt_BR: O formulário '--filter=blob:none' omite todos as "gotas".

note: type: Plain text
en: The form '--filter=blob:limit=<n>[kmg]' omits blobs larger than n bytes or units.  n may be zero.  The suffixes k, m, and g can be used to name units in KiB, MiB, or GiB.  For example, 'blob:limit=1k' is the same as 'blob:limit=1024'.
pt_BR: O formulário '--filter=blob:limit=<n>[kmg]' omite as bolhas que forem maiores que 'n' bytes ou unidades.  O 'n' pode ser zero.  Os sufixos 'k', 'm' e 'g' podem ser utilizados para nomear as unidades em 'KiB', 'MiB' ou 'GiB'.  Como, por exemplo, ''blob:limit=1k'' é o mesmo que 'blob:limit=1024'.

note: type: Plain text
en: The form '--filter=sparse:oid=<blob-ish>' uses a sparse-checkout specification contained in the blob (or blob-expression) '<blob-ish>' to omit blobs that would not be not required for a sparse checkout on the requested refs.
pt_BR: O formulário '--filter=sparse:oid=<blob-ish>' usa uma especificação de verificação esparsa contida na bolha (ou expressão bolha) '<blob-ish>' para omitir as bolhas que não seriam necessárias em uma verificação esparsa nas referências solicitadas.

note: type: Plain text
en: The form '--filter=tree:<depth>' omits all blobs and trees whose depth from the root tree is >= <depth> (minimum depth if an object is located at multiple depths in the commits traversed). <depth>=0 will not include any trees or blobs unless included explicitly in the command-line (or standard input when --stdin is used). <depth>=1 will include only the tree and blobs which are referenced directly by a commit reachable from <commit> or an explicitly-given object. <depth>=2 is like <depth>=1 while also including trees and blobs one more level removed from an explicitly-given commit or tree.
pt_BR: O formulário '--filter=tree:<profundidade>' omite todas as bolhas e as árvores cuja profundidade da árvore raiz seja >= <profundidade> (a profundidade mínima caso um objeto estiver localizado em várias profundidades nos commits que forem percorridos). A <profundidade>=0 não incluirá nenhuma árvore ou bolhas, a menos que seja incluso de forma explícita na linha de comando (ou na entrada padrão quando stdin seja usado) A <profundidade>=1 incluirá apenas a árvore e as bolhas que são referenciados diretamente por um commit acessível de um objeto informado de forma explícita. A <profundidade>=2 é semelhante a <profundidade>=1 enquanto também inclui as árvores e as bolhas, mais um nível removido de um commit ou da árvore informada de forma explicita.

note: type: Plain text
en: Note that the form '--filter=sparse:path=<path>' that wants to read from an arbitrary path on the filesystem has been dropped for security reasons.
pt_BR: Observe que o formulário '--filter=sparse:path=<caminho>' deseja ler de um caminho arbitrário no sistema de arquivos que foi descartado por motivos de segurança.

note: type: Plain text
en: Multiple '--filter=' flags can be specified to combine filters. Only objects which are accepted by every filter are included.
pt_BR: Várias opções `--filter=` podem ser utilizados para fazer a combinação dos filtros. Somente os objetos que são aceitos por todos os filtros serão incluídos.

note: type: Plain text
en: The form '--filter=combine:<filter1>+<filter2>+...<filterN>' can also be used to combined several filters, but this is harder than just repeating the '--filter' flag and is usually not necessary. Filters are joined by '{plus}' and individual filters are %-encoded (i.e. URL-encoded).  Besides the '{plus}' and '%' characters, the following characters are reserved and also must be encoded: `~!@#$^&*()[]{}\;",<>?`+&#39;&#96;+ as well as all characters with ASCII code &lt;= `0x20`, which includes space and newline.
pt_BR: O formulário '--filter=combine:<filter1>+<filter2>+...<filterN>' também pode ser usado para combinar vários filtros, mas isso é mais difícil do que apenas repetir o comando '--filter' e geralmente não é necessário. Os filtros são unidos pelo '{plus}' e os filtros individuais são %-codificados (ou seja, URL-codificada).  Além dos caracteres '{plus}' e '%' os seguintes caracteres são reservados e também devem ser codificados: `~!@#$^&*()[]{}\;",<>?`+&#39;&#96;+ assim como todos os caracteres com código ASCII &lt;= `0x20`, que inclui espaço e nova linha.

note: type: Plain text
en: Other arbitrary characters can also be encoded. For instance, 'combine:tree:3+blob:none' and 'combine:tree%3A3+blob%3Anone' are equivalent.
pt_BR: Outros caracteres arbitrários também podem ser codificados. Por exemplo, 'combine:tree:3+blob:none' e 'combine:tree%3A3+blob%3Anone' são equivalentes.

note: type: Plain text
en: Turn off any previous `--filter=` argument.
pt_BR: Desligue qualquer opção `--filter=` utilizada anteriormente.

note: type: Plain text
en: Only useful with `--filter=`; prints a list of the objects omitted by the filter.  Object IDs are prefixed with a ``~'' character.
pt_BR: Útil apenas com a opção `--filter=`; imprime uma lista dos objetos omitidos pelo filtro.  As IDs dos objeto são prefixadas com um caractere ``~''.

note: type: Plain text
en: The form '--missing=error' requests that rev-list stop with an error if a missing object is encountered.  This is the default action.
pt_BR: A opção `--missing=error` solicita que os objetos do pacote parem com um erro caso um objeto perdido seja encontrado.  Esta é a ação predefinida.

note: type: Plain text
en: The form '--missing=allow-promisor' is like 'allow-any', but will only allow object traversal to continue for EXPECTED promisor missing objects.  Unexpected missing objects will raise an error.
pt_BR: A opção '--missing=allow-promisor' é como `allow-any`, mas só vai permitir que a travessia de objetos continue para os objetos prometedores PREVISTOS.  Os objetos perdidos e inesperados provocarão um erro.

note: type: Plain text
en: The form '--missing=print' is like 'allow-any', but will also print a list of the missing objects.  Object IDs are prefixed with a ``?'' character.
pt_BR: A opção `--missing=print' é como `allow any`, porém também imprime uma lista dos objetos perdidos.  As IDs do objeto são prefixadas com um caractere `?`.

note: type: Plain text
en: (For internal use only.)  Prefilter object traversal at promisor boundary.  This is used with partial clone.  This is stronger than `--missing=allow-promisor` because it limits the traversal, rather than just silencing errors about missing objects.
pt_BR: (Apenas para uso interno.) Uma pré-filtragem da travessia do objeto em um limite promissor  Isso é utilizado com clone parcial.  É mais forte do que `--missing=allow-promisor` porque limita a passagem, em vez de apenas silenciar os erros sobre os objetos perdidos.

note: type: Labeled list
en: --no-walk[=(sorted|unsorted)]
pt_BR: --no-walk [=(com classificação|sem classificação)]

note: type: Plain text
en: Only show the given commits, but do not traverse their ancestors.  This has no effect if a range is specified. If the argument `unsorted` is given, the commits are shown in the order they were given on the command line. Otherwise (if `sorted` or no argument was given), the commits are shown in reverse chronological order by commit time.  Cannot be combined with `--graph`.
pt_BR: Exibe apenas determinados commits, mas não atravesse os seus ancestrais.  Isso não tem nenhum efeito caso um intervalo seja especificado. Caso o argumento `unsorted` (sem classificação) seja utilizada, os commits serão exibidos na ordem em que foram utilizadas na linha de comando. Caso contrário (se o argumento `ordenado` ou nenhum outro seja utilizado), os commits serão exibidos em ordem cronológica reversa pela data do commit.  Não pode ser combinado com `--graph`.

note: type: Plain text
en: Overrides a previous `--no-walk`.
pt_BR: Substitui um `--no-walk` anterior.

note: type: Title ~
en: Commit Formatting
pt_BR: Formatação do Commit

note: type: Plain text
en: Using these options, linkgit:git-rev-list[1] will act similar to the more specialized family of commit log tools: linkgit:git-log[1], linkgit:git-show[1], and linkgit:git-whatchanged[1]
pt_BR: Utilizando estas opções linkgit:git-rev-list[1] funcionará de maneira semelhante à família mais especializada de ferramentas do registro log do commit: linkgit:git-log[1], linkgit:git-show[1] e linkgit:git-whatchanged[1]

note: type: Plain text
en: Synonym for `--date=relative`.
pt_BR: É um sinônimo para `--date=relative`.

note: type: Labeled list
en: --date=<format>
pt_BR: --date=<formato>

note: type: Plain text
en: Only takes effect for dates shown in human-readable format, such as when using `--pretty`. `log.date` config variable sets a default value for the log command's `--date` option. By default, dates are shown in the original time zone (either committer's or author's). If `-local` is appended to the format (e.g., `iso-local`), the user's local time zone is used instead.
pt_BR: Somente entra em vigor para as datas demonstradas no formato legível para as pessoas como utilizada na opção `--pretty`. A variável de configuração `log.date` define um valor predefinido para a opção `--date` do comando do registro log. É predefinido que os horários sejam exibidas no fuso horário original (do autor do commit ou do autor). Caso `-local` seja anexado ao formato (por exemplo,`iso-local`), o fuso horário local do usuário será utilizado.

note: type: Plain text
en: `--date=relative` shows dates relative to the current time, e.g. ``2 hours ago''. The `-local` option has no effect for `--date=relative`.
pt_BR: A opção `--date=relative` exibe as datas relativas à hora atual, por exemplo, ``2 horas atrás''. A opção `-local` não tem efeito para `--date=relative`.

note: type: Plain text
en: `--date=local` is an alias for `--date=default-local`.
pt_BR: `date=local` é um apelido para `date=default-local`.

note: type: Plain text
en: `--date=iso` (or `--date=iso8601`) shows timestamps in a ISO 8601-like format.  The differences to the strict ISO 8601 format are:
pt_BR: A opção `--date=iso` (ou `date=iso`) exibe os registros de data e hora em formato semelhante ao ISO 8601.  As diferenças para o formato rígido do ISO 8601 são:

note: type: Plain text
en: a space instead of the `T` date/time delimiter
pt_BR: um espaço em vez do `T` para delimitar data/hora

note: type: Plain text
en: a space between time and time zone
pt_BR: um espaço entre a hora e o fuso horário

note: type: Plain text
en: no colon between hours and minutes of the time zone
pt_BR: sem dois pontos entre horas e minutos do fuso horário

note: type: Plain text
en: `--date=iso-strict` (or `--date=iso8601-strict`) shows timestamps in strict ISO 8601 format.
pt_BR: a opção `--date=iso-strict` (ou `--date=iso8601-strict`) exibe o registro de data e hora com formato ISO 8601 restrito.

note: type: Plain text
en: `--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822 format, often found in email messages.
pt_BR: a opção `--date=rfc` (ou `--date=rfc2822`) exibe o registro de data e hora no formato RFC 2822, geralmente encontrado nas mensagens de e-mail.

note: type: Plain text
en: `--date=short` shows only the date, but not the time, in `YYYY-MM-DD` format.
pt_BR: `--date=short` exibe apenas a data em formato `AAAA-MM-DD` porém não a hora.

note: type: Plain text
en: `--date=raw` shows the date as seconds since the epoch (1970-01-01 00:00:00 UTC), followed by a space, and then the timezone as an offset from UTC (a `+` or `-` with four digits; the first two are hours, and the second two are minutes). I.e., as if the timestamp were formatted with `strftime("%s %z")`).  Note that the `-local` option does not affect the seconds-since-epoch value (which is always measured in UTC), but does switch the accompanying timezone value.
pt_BR: A opção `--date=raw` mostra a data como segundos desde a época (1970-01-01 00:00:00 UTC), seguido por um espaço e em seguida, o fuso horário como uma compensação do UTC (um `+` ou `-` com quatro dígitos; os dois primeiros são horas, e os dois seguintes são minutos). Ou seja, como se o registro de data e hora fosse formatado com `strftime("%s %z")`).  Observe que a opção `-local` não afeta os segundos desde o valor da época (que é sempre medido em UTC), porém altera o valor do fuso horário que o acompanha.

note: type: Plain text
en: `--date=human` shows the timezone if the timezone does not match the current time-zone, and doesn't print the whole date if that matches (ie skip printing year for dates that are "this year", but also skip the whole date itself if it's in the last few days and we can just say what weekday it was).  For older dates the hour and minute is also omitted.
pt_BR: A opção `--date=human` exibe o fuso horário como se o fuso horário não coincidisse com o fuso horário atual e não imprime a data inteira, caso coincida (como por exemplo, ignore o ano da impressão para datas que são "este ano", mas também ignore a data inteira caso seja nos últimos dias e dizendo apenas qual o dia da semana era).  Para datas mais antigas, a hora e os minutos também são omitidos.

note: type: Plain text
en: `--date=unix` shows the date as a Unix epoch timestamp (seconds since 1970).  As with `--raw`, this is always in UTC and therefore `-local` has no effect.
pt_BR: A opção `date=unix` exibe a data como um carimbo de data/hora da época do Unix (segundos desde 1970).  Assim como a opção `--raw`, isso sempre está no UTC e portanto, o `-local` não tem nenhum efeito.

note: type: Plain text
en: `--date=format:...` feeds the format `...` to your system `strftime`, except for %z and %Z, which are handled internally.  Use `--date=format:%c` to show the date in your system locale's preferred format.  See the `strftime` manual for a complete list of format placeholders. When using `-local`, the correct syntax is `--date=format-local:...`.
pt_BR: A opção `--date=format:...` alimenta o formato `...` par ao seu sistema `strftime`, menos para o %z e %Z, que são tratados internamente.  Use a opção `--date=format:%c` para exibir a data no formato preferido do código do idioma do sistema.  Consulte o manual do `strftime` para obter uma lista completa dos "placeholders". Ao utilizar o `-local`, a sintaxe correta é `--date=format-local:...`.

note: type: Plain text
en: `--date=default` is the default format, and is similar to `--date=rfc2822`, with a few exceptions:
pt_BR: A opção `--date=default` é o formato predefinido e similar ao `--date=rfc2822` com algumas excessões:

note: type: Plain text
en: there is no comma after the day-of-week
pt_BR: não há vírgula após o dia da semana

note: type: Plain text
en: the time zone is omitted when the local time zone is used
pt_BR: o fuso horário é omitido quando o fuso horário local é utilizado

note: type: Plain text
en: Print the contents of the commit in raw-format; each record is separated with a NUL character.
pt_BR: Exiba o conteúdo dos commits em formato bruto; cada registro é separado por um caractere `NUL`.

note: type: Plain text
en: Print also the parents of the commit (in the form "commit parent...").  Also enables parent rewriting, see 'History Simplification' above.
pt_BR: Imprima também os pais do commit (no formato "commit parent...").  Também permite reescrever os pais, consulte 'Simplificação do Histórico' acima.

note: type: Plain text
en: Print also the children of the commit (in the form "commit child...").  Also enables parent rewriting, see 'History Simplification' above.
pt_BR: Imprima também os filhos do commit (no formato "commit child...").  Também permite reescrever os pais, consulte 'Simplificação do Histórico' acima.

note: type: Plain text
en: Print the raw commit timestamp.
pt_BR: Exiba a data e hora do commit em formato bruto.

note: type: Plain text
en: Mark which side of a symmetric difference a commit is reachable from.  Commits from the left side are prefixed with `<` and those from the right with `>`.  If combined with `--boundary`, those commits are prefixed with `-`.
pt_BR: Marque de que lado da diferença simétrica de onde um commit seja acessível.  As confirmações do lado esquerdo são prefixadas com `<` e as da direita com `>`.  Caso combinemos com `--boundary`, estes commits são prefixados com `-`.

note: type: Plain text
en: For example, if you have this topology:
pt_BR: Por exemplo, caso tenha essa topologia:

note: type: Plain text
en: you would get an output like this:
pt_BR: você obterá uma saída como essa:

note: type: delimited block -
en: 	>bbbbbbb... 3rd on b
    	>bbbbbbb... 2nd on b
    	<aaaaaaa... 3rd on a
    	<aaaaaaa... 2nd on a
    	-yyyyyyy... 1st on b
    	-xxxxxxx... 1st on a
pt_BR: 	>bbbbbbb... 3º no b
    	>bbbbbbb... 2º no b
    	<aaaaaaa... 3º no a
    	<aaaaaaa... 2º no a
    	-yyyyyyy... 1º no b
    	-xxxxxxx... 1º no a

note: type: Plain text
en: Draw a text-based graphical representation of the commit history on the left hand side of the output.  This may cause extra lines to be printed in between commits, in order for the graph history to be drawn properly.  Cannot be combined with `--no-walk`.
pt_BR: Desenhe uma representação gráfica com base no texto do histórico de consolidação no lado esquerdo da saída.  Pode fazer com que as linhas extras sejam impressas entre os commits, para que o histórico do grafo seja desenhado de forma correta.  Não pode ser combinado com `--no-walk`.

note: type: Plain text
en: This enables parent rewriting, see 'History Simplification' above.
pt_BR: Permite a reescrita dos pais, consulte 'Simplificação do Histórico' acima.

note: type: Plain text
en: This implies the `--topo-order` option by default, but the `--date-order` option may also be specified.
pt_BR: É predefinido que seja implícito o uso da opção `--topo-order`, porém a opção `--date-order` também possa ser utilizada.

note: type: Labeled list
en: --show-linear-break[=<barrier>]
pt_BR: --show-linear-break[=<barreira>]

note: type: Plain text
en: When --graph is not used, all history branches are flattened which can make it hard to see that the two consecutive commits do not belong to a linear branch. This option puts a barrier in between them in that case. If `<barrier>` is specified, it is the string that will be shown instead of the default one.
pt_BR: Quando a opção `--graph` não é utilizado, todas as ramificações do histórico são achatadas, o que dificulta a visualização onde dois commits consecutivos não pertençam em um ramo linear. Neste caso, esta opção coloca uma barreira entre eles. Caso `<barreira>` seja utilizado, é a string que será exibida em vez do que estiver predefinido.

note: type: Plain text
en: Print a number stating how many commits would have been listed, and suppress all other output.  When used together with `--left-right`, instead print the counts for left and right commits, separated by a tab. When used together with `--cherry-mark`, omit patch equivalent commits from these counts and print the count for equivalent commits separated by a tab.
pt_BR: Imprima um número informando quantos commits teriam sido listados e suprima todas as outras saídas.  Quando usado em conjunto com a opção `--left-right`, imprima as contagens dos commits esquerdo e direito, separados por uma aba. Quando usado junto com a opção `--cherry-mark`, omita os commits equivalentes dos patches destas contagens e imprima a contagem para os commits equivalentes separados por uma aba.

note: type: Title ~
en: Diff Formatting
pt_BR: Formatando o "Diff"

note: type: Plain text
en: Listed below are options that control the formatting of diff output.  Some of them are specific to linkgit:git-rev-list[1], however other diff options may be given. See linkgit:git-diff-files[1] for more options.
pt_BR: Abaixo estão listadas as opções que controlam a formatação da saída diff.  Alguns deles são específicos para linkgit:git-rev-list[1], porém outras opções diff podem ser informadas. Para mais opções, consulte linkgit:git-diff-files[1].

note: type: Plain text
en: With this option, diff output for a merge commit shows the differences from each of the parents to the merge result simultaneously instead of showing pairwise diff between a parent and the result one at a time. Furthermore, it lists only files which were modified from all parents.
pt_BR: Com esta opção, a saída "diff" para um commit de mesclagem exibe as diferenças de cada uma das origens para a mesclagem resultante de forma simultânea em vez de mostrar a diferença pareada entre uma origem e o resultado, um de cada vez. Além disso, lista apenas os arquivos que foram modificados por todas as origens.

note: type: Plain text
en: This flag implies the `-c` option and further compresses the patch output by omitting uninteresting hunks whose contents in the parents have only two variants and the merge result picks one of them without modification.
pt_BR: Ao usar esta opção fica implícito o uso da opção `-c` e comprime ainda mais a saída do patch, omitindo os blocos menos importantes, cujo conteúdo nos pais possua apenas duas variantes e o resultado da mesclagem escolhe um deles sem modificação.

note: type: Plain text
en: This flag makes the merge commits show the full diff like regular commits; for each merge parent, a separate log entry and diff is generated. An exception is that only diff against the first parent is shown when `--first-parent` option is given; in that case, the output represents the changes the merge brought _into_ the then-current branch.
pt_BR: Esta opção faz com que os commits mesclados exibam o diff completo como os commits comuns; para cada pai mesclado, uma entrada a parte no registro log e os diffs são gerados. Uma exceção é que apenas quanto ao diff em relação ao primeiro pai que é exibido quando a opção `--first-parent` é utilizada; neste caso, a saída representa as alterações que a mesclagem trouxe para o ramo atual.

note: type: Plain text
en: Show recursive diffs.
pt_BR: Exibe os "diffs" recursivos.

note: type: Plain text
en: Show the tree objects in the diff output. This implies `-r`.
pt_BR: Exibe os objetos árvore no diff que foi gerado. Implica no uso da opção `-r`.

note: type: Plain text
en: Continue the operation in progress using the information in `.git/sequencer`.  Can be used to continue after resolving conflicts in a failed cherry-pick or revert.
pt_BR: Continue a operação em andamento utilizando as informações existentes em `.git/sequencer`.  Pode ser utilizado para continuar após a resolução dos conflitos em uma falha na seleção ou reversão da escolha seletiva.

note: type: Plain text
en: Skip the current commit and continue with the rest of the sequence.
pt_BR: Ignore o commit atual e continue com o restante da sequência.

note: type: Plain text
en: Forget about the current operation in progress.  Can be used to clear the sequencer state after a failed cherry-pick or revert.
pt_BR: Esqueça a operação atual em andamento.  Pode ser utilizado para limpar a condição do sequenciador após uma falha na seleção ou reversão de uma escolha seletiva.

note: type: Plain text
en: Cancel the operation and return to the pre-sequence state.
pt_BR: Cancele a operação e retorne a condição pré-sequência.

note: type: Plain text
en: The fetch and push protocols are not designed to prevent one side from stealing data from the other repository that was not intended to be shared. If you have private data that you need to protect from a malicious peer, your best option is to store it in another repository. This applies to both clients and servers. In particular, namespaces on a server are not effective for read access control; you should only grant read access to a namespace to clients that you would trust with read access to the entire repository.
pt_BR: Os protocolos de busca e envio não foram projetados para impedir que um lado roube os dados do outro repositório que não deveriam ser compartilhado. Caso tenha dados particulares que precisam ser protegidos de um par malicioso, a sua melhor opção é armazená-los em um outro repositório. Isso se aplica aos clientes e aos servidores. Em particular, os espaço de nomes em um servidor não são eficazes para o controle de acesso de leitura; você só deve conceder acesso de leitura a um espaço de nomes para os clientes que você confiaria o acesso de leitura para todo o repositório.

note: type: Plain text
en: The known attack vectors are as follows:
pt_BR: Os vetores de ataque informados são os seguintes:

note: type: Plain text
en: The victim sends "have" lines advertising the IDs of objects it has that are not explicitly intended to be shared but can be used to optimize the transfer if the peer also has them. The attacker chooses an object ID X to steal and sends a ref to X, but isn't required to send the content of X because the victim already has it. Now the victim believes that the attacker has X, and it sends the content of X back to the attacker later. (This attack is most straightforward for a client to perform on a server, by creating a ref to X in the namespace the client has access to and then fetching it. The most likely way for a server to perform it on a client is to "merge" X into a public branch and hope that the user does additional work on this branch and pushes it back to the server without noticing the merge.)
pt_BR: A vítima envia as linhas "have" anunciando as IDs dos objetos que possui, que não são explicitamente planejados para serem compartilhados, porém podem ser usados para otimizar a transferência caso o par também os tenha. O atacante escolhe um ID do objeto 'X' para roubar e envia uma "ref" para 'X', porém não é necessário enviar o conteúdo do 'X' porque a vítima já o possui. Agora a vítima acredita que o atacante tem o 'X' e depois envia seu conteúdo de volta ao atacante. (Esse ataque é mais simples para um cliente executar em um servidor, criando uma "ref" para 'X' no espaço de nomes onde o cliente tem acesso e em seguida, buscando-o. A maneira mais provável de um servidor executá-lo em um cliente é "mesclar" 'X' em um ramo público e esperar que o usuário faça um trabalho adicional neste ramo, enviá-lo de volta ao servidor sem perceber a mesclagem.)

note: type: Plain text
en: As in #1, the attacker chooses an object ID X to steal. The victim sends an object Y that the attacker already has, and the attacker falsely claims to have X and not Y, so the victim sends Y as a delta against X.  The delta reveals regions of X that are similar to Y to the attacker.
pt_BR: Como no item 1, o atacante escolhe um ID do objeto 'X' para roubar. A vítima envia um objeto 'Y' que o atacante já possui e o atacante afirma falsamente ter 'X' e não 'Y'; portanto, a vítima envia 'Y' como um delta contra 'X'. O delta revela as regiões de 'X' que são semelhantes para 'Y' ao atacante.

note: type: Title -
en: REMOTES[[REMOTES]]
pt_BR: REMOTOS[[REMOTOS]]

note: type: Plain text
en: The name of one of the following can be used instead of a URL as `<repository>` argument:
pt_BR: O nome de um dos seguintes pode ser usado em vez de uma URL como argumento do `<repositório>`:

note: type: Plain text
en: a remote in the Git configuration file: `$GIT_DIR/config`,
pt_BR: um ramo remoto no arquivo de configuração do Git: `$GIT_DIR/config`,

note: type: Plain text
en: a file in the `$GIT_DIR/remotes` directory, or
pt_BR: um arquivo no diretório `$GIT_DIR/remotes` ou

note: type: Plain text
en: a file in the `$GIT_DIR/branches` directory.
pt_BR: um arquivo no diretório `$GIT_DIR/branches`.

note: type: Plain text
en: All of these also allow you to omit the refspec from the command line because they each contain a refspec which git will use by default.
pt_BR: Tudo isso também permite seja omitido o refspec da linha de comando, pois cada um contém um refspec que o git utilizará de maneira predefinida.

note: type: Title ~
en: Named remote in configuration file
pt_BR: Ramo remoto nomeado no arquivo de configuração

note: type: Plain text
en: You can choose to provide the name of a remote which you had previously configured using linkgit:git-remote[1], linkgit:git-config[1] or even by a manual edit to the `$GIT_DIR/config` file.  The URL of this remote will be used to access the repository.  The refspec of this remote will be used by default when you do not provide a refspec on the command line.  The entry in the config file would appear like this:
pt_BR: Você pode optar por informar o nome de um ramo remoto que você configurou anteriormente usando linkgit:git-remote[1], linkgit:git-config[1] ou até mesmo uma edição manual no arquivo `$GIT_DIR/config`.  A URL deste ramo remoto será usado para acessar o repositório.  É predefinido que o "refspec" deste ramo remoto será usado quando você não informar um refspec na linha de comando.  A entrada no arquivo de configuração ficaria assim:

note: type: delimited block -
en: 	[remote "<name>"]
    		url = <url>
    		pushurl = <pushurl>
    		push = <refspec>
    		fetch = <refspec>
pt_BR: 	[remote "<nome>"]
    		url = <url>
    		pushurl = <pushurl>
    		push = <refspec>
    		fetch = <refspec>

note: type: Plain text
en: The `<pushurl>` is used for pushes only. It is optional and defaults to `<url>`.
pt_BR: O `<pushurl>` é utilizado apenas para os impulsionamentos. Além de opcional a sua predefinição retorna para `<url>`.

note: type: Title ~
en: Named file in `$GIT_DIR/remotes`
pt_BR: Arquivo nomeado no `$GIT_DIR/remotes`

note: type: Plain text
en: You can choose to provide the name of a file in `$GIT_DIR/remotes`.  The URL in this file will be used to access the repository.  The refspec in this file will be used as default when you do not provide a refspec on the command line.  This file should have the following format:
pt_BR: Você pode optar por fornecer o nome de um arquivo em `$GIT_DIR/remotes`.  A URL neste arquivo será utilizada para acessar o repositório.  O "refspec" neste arquivo será utilizado como uma predefinição quando você não informar um "refspec" na linha de comando.  Este arquivo deve ter o seguinte formato:

note: type: delimited block -
en: 	URL: one of the above URL format
    	Push: <refspec>
    	Pull: <refspec>
pt_BR: 	URL: um dos formatos da URL acima
    	Push: <refspec>
    	Pull: <refspec>

note: type: Plain text
en: `Push:` lines are used by 'git push' and `Pull:` lines are used by 'git pull' and 'git fetch'.  Multiple `Push:` and `Pull:` lines may be specified for additional branch mappings.
pt_BR: `Push:` as linhas são usadas pelo comando 'git push' e `Pull:` as linhas são usadas pelo comando 'git pull' e 'git fetch'.  Várias linhas `Push:` e `Pull:` podem ser utilizadas para mapeamentos adicionais das ramificações.

note: type: Title ~
en: Named file in `$GIT_DIR/branches`
pt_BR: Arquivo informado em `GIT_DIR/branches`

note: type: Plain text
en: You can choose to provide the name of a file in `$GIT_DIR/branches`.  The URL in this file will be used to access the repository.  This file should have the following format:
pt_BR: Você pode decidir entre informar o nome de um arquivo no `$GIT_DIR/branches`.  A URL neste arquivo será utilizada para acessar o repositório.  Este arquivo deve ter o seguinte formato:

note: type: Plain text
en: `<url>` is required; `#<head>` is optional.
pt_BR: A `<url>` é necessária; `#<head>` é opcional.

note: type: Plain text
en: Depending on the operation, git will use one of the following refspecs, if you don't provide one on the command line.  `<branch>` is the name of this file in `$GIT_DIR/branches` and `<head>` defaults to `master`.
pt_BR: Dependendo da operação, o git usará um dos seguintes refspecs, caso nenhum seja utilizado na linha de comando.  O `<ramo>` (ramo) é o nome deste arquivo no `$GIT_DIR/branches` e `<head>` retorna a predefinição para `master`.

note: type: Plain text
en: git fetch uses:
pt_BR: O git fetch usa:

note: type: delimited block -
en: 	refs/heads/<head>:refs/heads/<branch>
pt_BR: 	refs/heads/<head>:refs/heads/<ramo>

note: type: Plain text
en: git push uses:
pt_BR: O comando `git push` usa:

note: type: Plain text
en: In general, URLs contain information about the transport protocol, the address of the remote server, and the path to the repository.  Depending on the transport protocol, some of this information may be absent.
pt_BR: Em geral as URLs contêm informações sobre o protocolo de transporte, o endereço do servidor remoto e o caminho para o repositório.  Dependendo do protocolo de transporte, algumas dessas informações podem estar ausentes.

note: type: Plain text
en: Git supports ssh, git, http, and https protocols (in addition, ftp, and ftps can be used for fetching, but this is inefficient and deprecated; do not use it).
pt_BR: O Git suporta os protocolos ssh, git, http e https (além do ftp e ftps podem ser utilizados para capturar, porém é ineficiente e obsoleto; não utilize).

note: type: Plain text
en: The native transport (i.e. git:// URL) does no authentication and should be used with caution on unsecured networks.
pt_BR: O transporte nativo (ou seja, git:// URL) não faz a autenticação e deve ser utilizado com cuidado em redes sem segurança.

note: type: Plain text
en: The following syntaxes may be used with them:
pt_BR: As seguintes sintaxes podem ser utilizadas com eles:

note: type: Plain text
en: ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/path/to/repo.git/
pt_BR: ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/caminho/para/o/repositório.git/

note: type: Plain text
en: git://host.xz{startsb}:port{endsb}/path/to/repo.git/
pt_BR: git://host.xz{startsb}:port{endsb}/caminho/para/o/repositório.git/

note: type: Plain text
en: http{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git/
pt_BR: http{startsb}s{endsb}://host.xz{startsb}:port{endsb}/caminho/para/o/repositório.git/

note: type: Plain text
en: ftp{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git/
pt_BR: ftp{startsb}s{endsb}://host.xz{startsb}:port{endsb}/caminho/para/o/repositório.git/

note: type: Plain text
en: An alternative scp-like syntax may also be used with the ssh protocol:
pt_BR: Uma sintaxe alternativa como scp também pode ser utilizada com o protocolo ssh:

note: type: Plain text
en: {startsb}user@{endsb}host.xz:path/to/repo.git/
pt_BR: {startsb}user@{endsb}host.xz:caminho/para/o/repositório.git/

note: type: Plain text
en: This syntax is only recognized if there are no slashes before the first colon. This helps differentiate a local path that contains a colon. For example the local path `foo:bar` could be specified as an absolute path or `./foo:bar` to avoid being misinterpreted as an ssh url.
pt_BR: Essa sintaxe apenas é reconhecida caso não haja barras antes dos primeiros dois pontos. Isso ajuda a diferenciar um caminho local que contém dois pontos. Por exemplo, o caminho local `foo:bar` pode ser utilizado como um caminho absoluto ou `./foo:bar` para evitar ser mal interpretado como uma url ssh.

note: type: Plain text
en: The ssh and git protocols additionally support ~username expansion:
pt_BR: Os protocolos ssh e git também oferecem suporte à expansão do ~nome do usuário:

note: type: Plain text
en: ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/path/to/repo.git/
pt_BR: ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/caminho/para/o/repositório.git/

note: type: Plain text
en: git://host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/path/to/repo.git/
pt_BR: git://host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/caminho/para/o/repositório.git/

note: type: Plain text
en: {startsb}user@{endsb}host.xz:/~{startsb}user{endsb}/path/to/repo.git/
pt_BR: {startsb}user@{endsb}host.xz:/~{startsb}user{endsb}/caminho/para/o/repositório.git/

note: type: Plain text
en: For local repositories, also supported by Git natively, the following syntaxes may be used:
pt_BR: Para os repositórios locais, as seguintes sintaxes podem ser utilizadas que também são compatíveis de forma nativa pelo Git:

note: type: Plain text
en: /path/to/repo.git/
pt_BR: /caminho/para/o/repositório.git/

note: type: Plain text
en: \file:///path/to/repo.git/
pt_BR: \file:///caminho/para/o/repositório.git/

note: type: Plain text
en: These two syntaxes are mostly equivalent, except when cloning, when the former implies --local option. See linkgit:git-clone[1] for details.
pt_BR: Estas duas sintaxes são basicamente equivalentes, exceto durante a clonagem, quando a primeira implica no uso da opção `--local`. Para mais detalhes, consulte linkgit:git-clone[1].

note: type: Plain text
en: These two syntaxes are mostly equivalent, except the former implies --local option.
pt_BR: Essas duas sintaxes são basicamente equivalentes, exceto que a primeira implica no uso da opção `--local`.

note: type: Plain text
en: 'git clone', 'git fetch' and 'git pull', but not 'git push', will also accept a suitable bundle file. See linkgit:git-bundle[1].
pt_BR: O 'git clone', 'git fetch' e 'git pull', mas não o 'git push', também aceitarão um arquivo do pacote adequado. Consulte linkgit:git-bundle[1].

note: type: Plain text
en: When Git doesn't know how to handle a certain transport protocol, it attempts to use the 'remote-<transport>' remote helper, if one exists. To explicitly request a remote helper, the following syntax may be used:
pt_BR: Quando o Git não sabe como lidar com um determinado protocolo de transporte, quando existe, ele tenta usar o auxiliar `remote-<transporte>`. Para os repositórios locais, as seguintes sintaxes podem ser utilizadas:

note: type: Plain text
en: <transport>::<address>
pt_BR: <transporte>::<endereço>

note: type: Plain text
en: where <address> may be a path, a server and path, or an arbitrary URL-like string recognized by the specific remote helper being invoked. See linkgit:gitremote-helpers[7] for details.
pt_BR: onde <endereço> pode ser um caminho, um servidor e um caminho ou uma sequência arbitrária semelhante a uma URL reconhecida por um auxiliar remoto em específico que está sendo chamado. Para mais detalhes, consulte linkgit:gitremote-helpers[7].

note: type: Plain text
en: If there are a large number of similarly-named remote repositories and you want to use a different format for them (such that the URLs you use will be rewritten into URLs that work), you can create a configuration section of the form:
pt_BR: Se houver um grande número de repositórios remotos com nomes semelhantes e caso queira usar um formato diferente para eles (de modo que as URLs utilizadas sejam reescritas nas URLs que funcionam), você poderá criar uma seção de configuração da opção:

note: type: delimited block -
en: 	[url "<actual url base>"]
    		insteadOf = <other url base>
pt_BR: 	[url "<url da base atual>"]
    		insteadOf = <a url da outra base>

note: type: Plain text
en: For example, with this:
pt_BR: Por exemplo:

note: type: Plain text
en: a URL like "work:repo.git" or like "host.xz:/path/to/repo.git" will be rewritten in any context that takes a URL to be "git://git.host.xz/repo.git".
pt_BR: uma URL como "work:repo.git" ou como "host.xz:/caminho/para/o/repositório.git" será reescrito em qualquer contexto onde a URL seja "git://git.host.xz/repo.git".

note: type: Plain text
en: If you want to rewrite URLs for push only, you can create a configuration section of the form:
pt_BR: Caso queira reescrever apenas as URLs para envio por "push" (impulsionamento), é possível criar uma seção de configuração da opção:

note: type: delimited block -
en: 	[url "<actual url base>"]
    		pushInsteadOf = <other url base>
pt_BR: 	[url "<url da base atual>"]
    		pushInsteadOf = <a url da outra base>

note: type: delimited block -
en: 	[url "ssh://example.org/"]
    		pushInsteadOf = git://example.org/
pt_BR: 	[url "ssh://exemplo.org/"]
    		pushInsteadOf = git://exemplo.org/

note: type: Plain text
en: a URL like "git://example.org/path/to/repo.git" will be rewritten to "ssh://example.org/path/to/repo.git" for pushes, but pulls will still use the original URL.
pt_BR: uma URL como "git://exemplo.org/caminho/para/o/repositório.git" será reescrito para "ssh://exemplo.org/caminho/para/o/repositório.git" para os "pushes" (impulsionamentos), porém os "pulls" (obtenções) ainda usarão a URL original.

note: type: Title =
en: Fighting regressions with git bisect
pt_BR: Combatendo as regressões com comando `git bisect`

note: type: Title -
en: Abstract
pt_BR: Resumo

note: type: Plain text
en: "git bisect" enables software users and developers to easily find the commit that introduced a regression. We show why it is important to have good tools to fight regressions. We describe how "git bisect" works from the outside and the algorithms it uses inside. Then we explain how to take advantage of "git bisect" to improve current practices. And we discuss how "git bisect" could improve in the future.
pt_BR: O comando "git bisect" permite que os usuários e os desenvolvedores de software encontrem facilmente o commit que introduziu uma regressão. Mostramos por que é importante ter boas ferramentas para combater as regressões. Nós descrevemos como o comando "git bisect" funciona de fora e os algoritmos que ele utiliza por dentro. Em seguida, explicamos como tirar proveito do comando "git bisect" para melhorar as práticas atuais. E discutimos como o "git bisect" pode melhorar no futuro.

note: type: Title -
en: Introduction to "git bisect"
pt_BR: Introdução ao "git bisect'

note: type: Plain text
en: Git is a Distributed Version Control system (DVCS) created by Linus Torvalds and maintained by Junio Hamano.
pt_BR: O Git é um sistema de controle de versão distribuído (DVCS) criado por Linus Torvalds e mantido por Junio Hamano.

note: type: Plain text
en: In Git like in many other Version Control Systems (VCS), the different states of the data that is managed by the system are called commits. And, as VCS are mostly used to manage software source code, sometimes "interesting" changes of behavior in the software are introduced in some commits.
pt_BR: No Git como em muitos outros sistemas de controle de versão (VCS), as diferentes condições dos dados gerenciados pelo sistema são chamados de commits. E como o VCS é utilizado principalmente para gerenciar o código-fonte do software, algumas alterações "interessantes" do comportamento no software são introduzidas em alguns commits.

note: type: Plain text
en: In fact people are specially interested in commits that introduce a "bad" behavior, called a bug or a regression. They are interested in these commits because a commit (hopefully) contains a very small set of source code changes. And it's much easier to understand and properly fix a problem when you only need to check a very small set of changes, than when you don't know where look in the first place.
pt_BR: De fato, as pessoas estão especialmente interessadas em confirmações que introduzem um comportamento "ruim", chamado de bug ou regressão. Eles estão interessados nestes commits porque um commit (espero) contém um conjunto muito pequeno de alterações no código-fonte. E é muito mais fácil entender e corrigir adequadamente um problema quando você só precisa verificar um conjunto muito pequeno de alterações do que quando não sabe onde procurar.

note: type: Plain text
en: So to help people find commits that introduce a "bad" behavior, the "git bisect" set of commands was invented. And it follows of course that in "git bisect" parlance, commits where the "interesting behavior" is present are called "bad" commits, while other commits are called "good" commits. And a commit that introduce the behavior we are interested in is called a "first bad commit". Note that there could be more than one "first bad commit" in the commit space we are searching.
pt_BR: Portanto, para ajudar as pessoas a encontrar os commits que introduzam um comportamento "ruim", o conjunto dos comandos "git bisect" foi inventado. E segue-se, é claro, que na linguagem do comando "git bisect", os commits onde o "comportamento interessante" estão presente são chamados de "commits ruins", enquanto os outros commits são chamados de commits "bons". E um commit que introduz o comportamento que estamos interessados é chamado de "primeiro commit ruim". Observe que pode haver mais de um "primeiro commit ruim" no espaço do commit que estamos pesquisando.

note: type: Plain text
en: So "git bisect" is designed to help find a "first bad commit". And to be as efficient as possible, it tries to perform a binary search.
pt_BR: Portanto, o comando "git bisect" foi projetado para ajudar a encontrar um "primeiro commit ruim". E para ser o mais eficiente possível, ele tenta executar uma pesquisa binária.

note: type: Title -
en: Fighting regressions overview
pt_BR: Uma visão geral da luta contra as regressões

note: type: Title ~
en: Regressions: a big problem
pt_BR: Regressões: um grande problema

note: type: Plain text
en: Regressions are a big problem in the software industry. But it's difficult to put some real numbers behind that claim.
pt_BR: As regressões são um grande problema na indústria do software. Mas é difícil colocar alguns números reais por trás desta afirmação.

note: type: Plain text
en: There are some numbers about bugs in general, like a NIST study in 2002 <<1>> that said:
pt_BR: Existem alguns números sobre os erros em geral, como um estudo do NIST em 2002 <<1>> que dizia:

note: type: delimited block _
en: Software bugs, or errors, are so prevalent and so detrimental that they cost the U.S. economy an estimated $59.5 billion annually, or about 0.6 percent of the gross domestic product, according to a newly released study commissioned by the Department of Commerce's National Institute of Standards and Technology (NIST). At the national level, over half of the costs are borne by software users and the remainder by software developers/vendors.  The study also found that, although all errors cannot be removed, more than a third of these costs, or an estimated $22.2 billion, could be eliminated by an improved testing infrastructure that enables earlier and more effective identification and removal of software defects. These are the savings associated with finding an increased percentage (but not 100 percent) of errors closer to the development stages in which they are introduced. Currently, over half of all errors are not found until "downstream" in the development process or during post-sale software use.
pt_BR: Bugs ou erros de software são tão prevalentes e tão prejudiciais que custam à economia dos Estados Unidos um valor estimado em US$59.5 bilhões anualmente, ou cerca de 0.6 por cento do produto interno bruto, de acordo com um estudo recém-lançado, encomendado pelo Instituto Nacional de Padrões e Tecnologia do Departamento de Comércio (NIST). No nível nacional, mais da metade dos custos são drenados pelos usuários de software e o restante pelos desenvolvedores/fornecedores de software.  O estudo também descobriu que, embora todos os erros não possam ser removidos, mais de um terço destes custos, ou um valor estimado em US$22.2 bilhões, poderia ser eliminado por uma infraestrutura de teste mais aprimorada onde permita a identificação e a remoção antecipada e mais eficaz dos defeitos de software. Estas são as economias associadas à descoberta de uma porcentagem aumentada (mas não 100 por cento) dos erros mais próximos dos estágios de desenvolvimento onde são introduzidos. Atualmente, mais da metade de todos os erros não são encontrados até serem baixados no processo de desenvolvimento ou durante o uso do software pós-venda.

note: type: Plain text
en: And then:
pt_BR: E depois:

note: type: delimited block _
en: Software developers already spend approximately 80 percent of development costs on identifying and correcting defects, and yet few products of any type other than software are shipped with such high levels of errors.
pt_BR: Os desenvolvedores de software já gastam aproximadamente 80 por cento dos custos de desenvolvimento na identificação e na correção dos defeitos, e ainda assim poucos produtos de qualquer tipo que não sejam software são enviados com níveis muito altos de erros.

note: type: Plain text
en: Eventually the conclusion started with:
pt_BR: Eventualmente, a conclusão começou com:

note: type: delimited block _
en: The path to higher software quality is significantly improved software testing.
pt_BR: O caminho para uma maior qualidade de software é um teste significativamente aprimorado do software.

note: type: Plain text
en: There are other estimates saying that 80% of the cost related to software is about maintenance <<2>>.
pt_BR: Existem outras estimativas dizendo que 80% do custo relacionado ao software é relacionado com a manutenção<<2>>.

note: type: Plain text
en: Though, according to Wikipedia <<3>>:
pt_BR: Porém, de acordo com a Wikipedia <<3>>:

note: type: delimited block _
en: A common perception of maintenance is that it is merely fixing bugs. However, studies and surveys over the years have indicated that the majority, over 80%, of the maintenance effort is used for non-corrective actions (Pigosky 1997). This perception is perpetuated by users submitting problem reports that in reality are functionality enhancements to the system.
pt_BR: Uma percepção comum da manutenção é que ela está apenas consertando bugs. No entanto, estudos e pesquisas ao longo dos anos indicaram que a maioria, mais de 80%, do esforço de manutenção é usada para ações não corretivas (Pigosky, 1997). Essa percepção é perpetuada através dos usuários que enviam relatórios de problemas que, na realidade, são aprimoramentos da funcionalidade no sistema.

note: type: Plain text
en: But we can guess that improving on existing software is very costly because you have to watch out for regressions. At least this would make the above studies consistent among themselves.
pt_BR: Porém podemos adivinhar que o aprimoramento do software existente é muito caro porque é preciso estar atento às regressões. Pelo menos isso tornaria os estudos acima consistentes entre si.

note: type: Plain text
en: Of course some kind of software is developed, then used during some time without being improved on much, and then finally thrown away. In this case, of course, regressions may not be a big problem. But on the other hand, there is a lot of big software that is continually developed and maintained during years or even tens of years by a lot of people. And as there are often many people who depend (sometimes critically) on such software, regressions are a really big problem.
pt_BR: É claro que algum tipo de software é desenvolvido, usado durante algum tempo sem ser muito aprimorado e finalmente, jogado fora. Nesse caso, é claro, as regressões podem não ser um grande problema. Por outro lado, há muitos softwares grandes que são continuamente desenvolvidos e mantidos durante anos ou mesmo dezenas de anos por muitas pessoas. E como muitas vezes existem muitas pessoas que dependem (às vezes de maneira crítica) deste software, as regressões são realmente um grande problema.

note: type: Plain text
en: One such software is the Linux kernel. And if we look at the Linux kernel, we can see that a lot of time and effort is spent to fight regressions. The release cycle start with a 2 weeks long merge window. Then the first release candidate (rc) version is tagged. And after that about 7 or 8 more rc versions will appear with around one week between each of them, before the final release.
pt_BR: Um destes softwares é o kernel do Linux. E se olharmos para o kernel Linux, podemos ver que muito tempo e esforço são gastos para combater as regressões. O ciclo de lançamento começa com uma janela de mesclagem de duas semanas. Em seguida, o candidato do primeiro lançamento (rc) é marcado. E depois disso, cerca de 7 ou 8 versões de candidatos aparecerão com cerca de uma semana de espaço entre cada uma delas, antes do lançamento final.

note: type: Plain text
en: The time between the first rc release and the final release is supposed to be used to test rc versions and fight bugs and especially regressions. And this time is more than 80% of the release cycle time. But this is not the end of the fight yet, as of course it continues after the release.
pt_BR: O tempo entre a primeira versão rc (release candidate = versão de lançamento) e a versão final deve ser utilizado para testar as versões rc, resolver os bugs e especialmente as regressões. Mais de 80% deste tempo gira em torno do ciclo de lançamento. Mas este ainda não é o fim da batalha, pois é óbvio que ele continua após o seu lançamento.

note: type: Plain text
en: And then this is what Ingo Molnar (a well known Linux kernel developer) says about his use of git bisect:
pt_BR: E é isso que o Ingo Molnar (um informado desenvolvedor de kernel do Linux) diz sobre o uso do 'git bisect':

note: type: delimited block _
en: I most actively use it during the merge window (when a lot of trees get merged upstream and when the influx of bugs is the highest) - and yes, there have been cases that i used it multiple times a day. My average is roughly once a day.
pt_BR: Eu o utilizo de forma mais ativa durante a janela da mesclagem (quando muitas árvores são mescladas na upstream e quando o influxo de bugs é mais alto) - e sim, houve casos onde eu o usei várias vezes no dia. Minha média é de aproximadamente uma vez por dia.

note: type: Plain text
en: So regressions are fought all the time by developers, and indeed it is well known that bugs should be fixed as soon as possible, so as soon as they are found. That's why it is interesting to have good tools for this purpose.
pt_BR: Portanto, as regressões são combatidas o tempo todo pelos desenvolvedores e de fato, é sabido que os bugs devem ser corrigidos o mais rápido possível, tão logo sejam encontrados. É por isso que é importante ter boas ferramentas para este fim.

note: type: Title ~
en: Other tools to fight regressions
pt_BR: Outras ferramentas para combater as regressões

note: type: Plain text
en: So what are the tools used to fight regressions? They are nearly the same as those used to fight regular bugs. The only specific tools are test suites and tools similar as "git bisect".
pt_BR: Então, quais são as ferramentas utilizadas para combater as regressões? Eles são quase os mesmos daqueles utilizados para combater os bugs tradicionais. As únicas ferramentas específicas são pacotes de testes e as ferramentas similares ao "git bisect".

note: type: Plain text
en: Test suites are very nice. But when they are used alone, they are supposed to be used so that all the tests are checked after each commit. This means that they are not very efficient, because many tests are run for no interesting result, and they suffer from combinatorial explosion.
pt_BR: Os conjuntos de teste são muito legais. Mas quando eles são utilizados sozinhos, eles devem ser usados para que todos os testes sejam verificados após cada commit. Isto significa que eles não são muito eficientes, porque muitos testes são realizados sem resultados interessantes e sofrem com explosões combinatórias.

note: type: Plain text
en: In fact the problem is that big software often has many different configuration options and that each test case should pass for each configuration after each commit. So if you have for each release: N configurations, M commits and T test cases, you should perform:
pt_BR: De fato, o problema é que um software grande geralmente possui muitas opções de configuração diferentes e que cada caso de teste deve passar para cada configuração após cada commit. Portanto, caso tenha para cada release: 'N' configurações, 'M' commits e 'T' casos de teste, execute:

note: type: Plain text
en: where N, M and T are all growing with the size your software.
pt_BR: onde 'N', 'M' e 'T' estão crescendo com o tamanho do seu software.

note: type: Plain text
en: So very soon it will not be possible to completely test everything.
pt_BR: Logo, não será possível testar completamente tudo.

note: type: Plain text
en: And if some bugs slip through your test suite, then you can add a test to your test suite. But if you want to use your new improved test suite to find where the bug slipped in, then you will either have to emulate a bisection process or you will perhaps bluntly test each commit backward starting from the "bad" commit you have which may be very wasteful.
pt_BR: E caso alguns erros passarem pelo seu conjunto de testes, você poderá adicionar um teste ao seu conjunto de testes. Porém caso queira utilizar o seu novo conjunto aprimorado de testes para descobrir onde o erro ocorreu, será necessário emular um processo de bisseção ou talvez você teste cada commit sem rodeios de forma inversa a partir do commit "ruim" que você possa ter, sendo um total desperdício.

note: type: Title -
en: "git bisect" overview
pt_BR: Visão geral do "git bisect"

note: type: Title ~
en: Starting a bisection
pt_BR: Iniciando uma bisseção

note: type: Plain text
en: The first "git bisect" subcommand to use is "git bisect start" to start the search. Then bounds must be set to limit the commit space. This is done usually by giving one "bad" and at least one "good" commit. They can be passed in the initial call to "git bisect start" like this:
pt_BR: O primeiro subcomando "git bisect" que será usado é "git bisect start" para iniciar a pesquisa. Em seguida, os limites devem ser definidos para limitar o espaço dos commits. Isso geralmente é feito com um commit "ruim" e pelo menos um commit "bom". Eles podem ser passados na chamada inicial para o comando "git bisect start" assim:

note: type: Plain text
en: or they can be set using:
pt_BR: ou eles podem ser definidos usando:

note: type: Plain text
en: and:
pt_BR: e:

note: type: Plain text
en: where BAD, GOOD and COMMIT are all names that can be resolved to a commit.
pt_BR: onde `BAD`, `GOOD` e `COMMIT` são todos os nomes que podem ser resolvidos para um commit.

note: type: Plain text
en: Then "git bisect" will checkout a commit of its choosing and ask the user to test it, like this:
pt_BR: Então, o comando "git bisect" fará a averiguação de um commit de sua escolha e solicitará que o usuário o teste, assim:

note: type: Plain text
en: Note that the example that we will use is really a toy example, we will be looking for the first commit that has a version like "2.6.26-something", that is the commit that has a "SUBLEVEL = 26" line in the top level Makefile. This is a toy example because there are better ways to find this commit with Git than using "git bisect" (for example "git blame" or "git log -S<string>").
pt_BR: Observe que o exemplo que usaremos é realmente um exemplo de brinquedo; procuraremos o primeiro commit que possui uma versão como "2.6.26-alguma-coisa", ou seja, o commit que possua uma linha "SUBLEVEL = 26" no nível mais alto do Makefile. Este é um exemplo de um brinquedo, porque existem maneiras melhores para encontrar este commit com o Git em vez de utilizar o "git bisect" (por exemplo, "git blame" ou "git log -S<texto>").

note: type: Title ~
en: Driving a bisection manually
pt_BR: Conduzindo uma bisseção manualmente

note: type: Plain text
en: At this point there are basically 2 ways to drive the search. It can be driven manually by the user or it can be driven automatically by a script or a command.
pt_BR: Neste ponto, existem basicamente duas maneiras de conduzir a pesquisa. Pode ser acionado manualmente através do usuário ou automaticamente através de um script ou comando.

note: type: Plain text
en: If the user is driving it, then at each step of the search, the user will have to test the current commit and say if it is "good" or "bad" using the "git bisect good" or "git bisect bad" commands respectively that have been described above. For example:
pt_BR: Caso o usuário esteja conduzindo, em cada etapa da pesquisa, o usuário terá que testar a confirmação atual e dizer se é "bom" ou "ruim" utilizando os comandos 'git bisect good' or 'git bisect bad' respectivamente, como foram descritos acima. Por exemplo:

note: type: Plain text
en: And after a few more steps like that, "git bisect" will eventually find a first bad commit:
pt_BR: E depois de mais algumas etapas como essa, o comando "git bisect" acabará por encontrar um primeiro commit incorreto:

note: type: delimited block -
en: $ git bisect bad
    2ddcca36c8bcfa251724fe342c8327451988be0d is the first bad commit
    commit 2ddcca36c8bcfa251724fe342c8327451988be0d
    Author: Linus Torvalds <torvalds@linux-foundation.org>
    Date:   Sat May 3 11:59:44 2008 -0700
pt_BR: $ git bisect bad
    2ddcca36c8bcfa251724fe342c8327451988be0d is the first bad commit
    commit 2ddcca36c8bcfa251724fe342c8327451988be0d
    Autor: Linus Torvalds <torvalds@linux-foundation.org>
    Data:   Sáb Mai 3 11:59:44 2008 -0700

note: type: Plain text
en: At this point we can see what the commit does, check it out (if it's not already checked out) or tinker with it, for example:
pt_BR: Neste ponto, podemos ver o que o commit faz, dar uma olhada (se ainda não tiver feito a averiguação) ou mexer com ele, por exemplo:

note: type: delimited block -
en: $ git show HEAD
    commit 2ddcca36c8bcfa251724fe342c8327451988be0d
    Author: Linus Torvalds <torvalds@linux-foundation.org>
    Date:   Sat May 3 11:59:44 2008 -0700
pt_BR: $ git show HEAD
    commit 2ddcca36c8bcfa251724fe342c8327451988be0d
    Autor: Linus Torvalds <torvalds@linux-foundation.org>
    Data:   Sáb Mai 3 11:59:44 2008 -0700

note: type: delimited block -
en:  # *DOCUMENTATION*
pt_BR:  # *DOCUMENTAÇÃO*

note: type: Plain text
en: And when we are finished we can use "git bisect reset" to go back to the branch we were in before we started bisecting:
pt_BR: E quando terminarmos, podemos usar o comando "git bisect reset" para voltar ao ramo em que estávamos antes de começarmos a dividir:

note: type: Title ~
en: Driving a bisection automatically
pt_BR: Conduzindo uma bisseção automaticamente

note: type: Plain text
en: The other way to drive the bisection process is to tell "git bisect" to launch a script or command at each bisection step to know if the current commit is "good" or "bad". To do that, we use the "git bisect run" command. For example:
pt_BR: A outra maneira de conduzir o processo de bisseção é dizer ao `git bisect` para lançar um script ou comando a cada etapa da bisseção para saber se o compromisso atual é "bom" ou "ruim". Para fazer isso, nós usamos o comando "git bisect run". Por exemplo:

note: type: Plain text
en: In this example, we passed "grep '^SUBLEVEL = 25' Makefile" as parameter to "git bisect run". This means that at each step, the grep command we passed will be launched. And if it exits with code 0 (that means success) then git bisect will mark the current state as "good". If it exits with code 1 (or any code between 1 and 127 included, except the special code 125), then the current state will be marked as "bad".
pt_BR: Neste exemplo, passamos "grep '^SUBLEVEL = 25' Makefile" como parâmetro para o comando `git bisect run`. Isso significa que, a cada passo, o comando 'grep' que encaminhamos será iniciado. E caso encerre com o código 0 (que significa sucesso), o comando `git bisect` marcará a condição atual como "bom". Caso encerre com o código 1 (ou qualquer código entre 1 e incluindo o 127, exceto o código especial 125), a condição atual será marcado como "ruim".

note: type: Plain text
en: Exit code between 128 and 255 are special to "git bisect run". They make it stop immediately the bisection process. This is useful for example if the command passed takes too long to complete, because you can kill it with a signal and it will stop the bisection process.
pt_BR: O código de saída entre 128 e 255 é especial para o comando "git bisect run". Eles fazem parar imediatamente o processo de bisseção. É útil como por exemplo, caso o comando encaminhado demorar muito para ser concluído, por é possível encerrá-lo com um sinal que interromperá o processo de bisseção.

note: type: Plain text
en: It can also be useful in scripts passed to "git bisect run" to "exit 255" if some very abnormal situation is detected.
pt_BR: Também pode ser útil nos scripts encaminhados para o comando "git bisect run" para "exit 255" Caso alguma situação muito anormal seja detectada.

note: type: Title ~
en: Avoiding untestable commits
pt_BR: Evitando os commits que não foram testados

note: type: Plain text
en: Sometimes it happens that the current state cannot be tested, for example if it does not compile because there was a bug preventing it at that time. This is what the special exit code 125 is for. It tells "git bisect run" that the current commit should be marked as untestable and that another one should be chosen and checked out.
pt_BR: Às vezes, acontece que a condição atual não possa ser testada, por exemplo, caso ele não seja compilado porque houve um erro que o impedia naquele momento. É para isso que serve o código de encerramento especial 125. Diz ao comando "git bisect run" que o commit atual deve ser marcado como não testável e que outro deve ser selecionado e averiguado.

note: type: Plain text
en: If the bisection process is driven manually, you can use "git bisect skip" to do the same thing. (In fact the special exit code 125 makes "git bisect run" use "git bisect skip" in the background.)
pt_BR: Caso o processo de bisseção tenha sido conduzido manualmente, será possível utilizar o comando "git bisect skip" para realizar a mesma coisa. (De fato, o código de saída especial 125 faz o comando "git bisect run" utilizar "git bisect skip" em segundo plano.)

note: type: Plain text
en: Or if you want more control, you can inspect the current state using for example "git bisect visualize". It will launch gitk (or "git log" if the `DISPLAY` environment variable is not set) to help you find a better bisection point.
pt_BR: Ou, caso queira mais controle, poderá inspecionar a condição atual usando, por exemplo, o comando "git bisect visualize". Ele iniciará o gitk (ou o comando "git log" caso a variável de ambiente `DISPLAY` não estiver configurada) para ajudá-lo a encontrar um melhor ponto de bisseção.

note: type: Plain text
en: Either way, if you have a string of untestable commits, it might happen that the regression you are looking for has been introduced by one of these untestable commits. In this case it's not possible to tell for sure which commit introduced the regression.
pt_BR: De qualquer forma, caso você tenha uma sequência de commits não testáveis, pode acontecer que a regressão que você está procurando tenha sido introduzido por um destes commits não testáveis. Nesse caso, não é possível saber com certeza qual o commit introduziu a regressão.

note: type: Plain text
en: So if you used "git bisect skip" (or the run script exited with special code 125) you could get a result like this:
pt_BR: Portanto, tenha utilizado o comando "git bisect skip" (ou o script de execução encerrou com o código especial 125), poderá obter um resultado como este:

note: type: delimited block -
en: There are only 'skip'ped commits left to test.
    The first bad commit could be any of:
    15722f2fa328eaba97022898a305ffc8172db6b1
    78e86cf3e850bd755bb71831f42e200626fbd1e0
    e15b73ad3db9b48d7d1ade32f8cd23a751fe0ace
    070eab2303024706f2924822bfec8b9847e4ac1b
    We cannot bisect more!
pt_BR: Restam apenas os commits que foram 'ignorados' e faltam testar.
    O primeiro commit incorreto pode ser qualquer um destes:
    15722f2fa328eaba97022898a305ffc8172db6b1
    78e86cf3e850bd755bb71831f42e200626fbd1e0
    e15b73ad3db9b48d7d1ade32f8cd23a751fe0ace
    070eab2303024706f2924822bfec8b9847e4ac1b
    Não podemos mais seguir adiante com o bisect!

note: type: Title ~
en: Saving a log and replaying it
pt_BR: Salvando um registro log e reproduzindo-o

note: type: Plain text
en: If you want to show other people your bisection process, you can get a log using for example:
pt_BR: Caso queira exibir para outras pessoas o seu processo de bisseção, é possível obter um registro log utilizando, por exemplo:

note: type: Plain text
en: And it is possible to replay it using:
pt_BR: E é possível reproduzi-lo utilizando:

note: type: Title -
en: "git bisect" details
pt_BR: Detalhes do "git bisect"

note: type: Title ~
en: Bisection algorithm
pt_BR: Algoritmo da bisseção

note: type: Plain text
en: As the Git commits form a directed acyclic graph (DAG), finding the best bisection commit to test at each step is not so simple. Anyway Linus found and implemented a "truly stupid" algorithm, later improved by Junio Hamano, that works quite well.
pt_BR: Como o commit do Git forma um grafo acíclico direcionado (DAG), encontrar o melhor commit de bisseção para testar em cada etapa não é tão simples. De qualquer forma, Linus encontrou e implementou um algoritmo "de forama verdadeiramente estúpida", posteriormente aprimorado por Junio Hamano, que funciona muito bem.

note: type: Plain text
en: So the algorithm used by "git bisect" to find the best bisection commit when there are no skipped commits is the following:
pt_BR: Portanto, o algoritmo usado pelo comando "git bisect" para encontrar a melhor bisseção do commit quando não há commits que foram ignorados é o seguinte:

note: type: Plain text
en: keep only the commits that:
pt_BR: mantenha apenas os commits que:

note: type: Plain text
en: are ancestor of the "bad" commit (including the "bad" commit itself),
pt_BR: são ancestrais do commit "ruim" (incluindo o próprio commit "ruim"),

note: type: Plain text
en: are not ancestor of a "good" commit (excluding the "good" commits).
pt_BR: não são ancestrais de um commit "bom" (excluindo os commits "bons").

note: type: Plain text
en: This means that we get rid of the uninteresting commits in the DAG.
pt_BR: Significa que nos livramos dos commits que não interessam do DAG.

note: type: Plain text
en: For example if we start with a graph like this:
pt_BR: Como por exemplo, caso comecemos com um grafo como este:

note: type: delimited block -
en: -> time goes this way ->
pt_BR: -> o tempo passa neste sentido ->

note: type: Plain text
en: where B is the "bad" commit, "G" are "good" commits and W, X, and Y are other commits, we will get the following graph after this first step:
pt_BR: onde 'B' é o commit "ruim", o "G" são os commits "bons" e 'W', 'X' e 'Y' são outros commits, obteremos o seguinte grafo após esta primeira etapa:

note: type: Plain text
en: So only the W and B commits will be kept. Because commits X and Y will have been removed by rules a) and b) respectively, and because commits G are removed by rule b) too.
pt_BR: Portanto, apenas os commits 'W' e 'B' serão mantidos. Como os commits 'X' e 'Y' serão removidos pelas regras a) e b) respectivamente, e porque os commits 'G' são removidos pela regra b) também.

note: type: Plain text
en: Note for Git users, that it is equivalent as keeping only the commit given by:
pt_BR: Nota para os usuários do Git, é equivalente a manter apenas o commit informado por:

note: type: Plain text
en: Also note that we don't require the commits that are kept to be descendants of a "good" commit. So in the following example, commits W and Z will be kept:
pt_BR: Observe também que não exigimos que os commits mantidos sejam descendentes de um "bom" commit. Portanto, no exemplo a seguir, os commits 'W' e 'Z' serão mantidas:

note: type: Plain text
en: starting from the "good" ends of the graph, associate to each commit the number of ancestors it has plus one
pt_BR: a partir das extremidades "boas" do grafo, associe para cada commit a quantidade de ancestrais que possui mais um

note: type: Plain text
en: For example with the following graph where H is the "bad" commit and A and D are some parents of some "good" commits:
pt_BR: Como por exemplo, com o grafo a seguir, onde 'H' é o commit "ruim" e 'A' e o 'D' são alguns parentes de alguns commits "bons":

note: type: Plain text
en: this will give:
pt_BR: isto nos dá:

note: type: Plain text
en: associate to each commit: min(X, N - X)
pt_BR: associado para cada commit: min(X, N - X)

note: type: Plain text
en: where X is the value associated to the commit in step 2) and N is the total number of commits in the graph.
pt_BR: onde 'X' é o valor associado ao commit na etapa 2) e 'N' é a quantidade total dos commits no grafo.

note: type: Plain text
en: In the above example we have N = 8, so this will give:
pt_BR: No exemplo acima, temos 'N=8', portanto, isso dará:

note: type: Plain text
en: the best bisection point is the commit with the highest associated number
pt_BR: o melhor ponto de bisseção é o commit com o maior número associado a ele

note: type: Plain text
en: So in the above example the best bisection point is commit C.
pt_BR: Portanto, no exemplo acima, o melhor ponto de bisseção é o commit 'C'.

note: type: Plain text
en: note that some shortcuts are implemented to speed up the algorithm
pt_BR: observe que alguns atalhos são implementados para acelerar o algoritmo

note: type: Plain text
en: As we know N from the beginning, we know that min(X, N - X) can't be greater than N/2. So during steps 2) and 3), if we would associate N/2 to a commit, then we know this is the best bisection point. So in this case we can just stop processing any other commit and return the current commit.
pt_BR: Como conhecemos o "N" desde o início, sabemos que mínimo (X, N - X) não pode ser maior que N/2. Portanto, durante as etapas 2) e 3), se associarmos N/2 a um commit, sabemos que este é o melhor ponto de bisseção. Portanto neste caso, podemos simplesmente parar de processar qualquer outro commit e retorne para o commit atual.

note: type: Title ~
en: Bisection algorithm debugging
pt_BR: Depuração do algoritmo da bisseção

note: type: Plain text
en: For any commit graph, you can see the number associated with each commit using "git rev-list --bisect-all".
pt_BR: Para qualquer grafo do commit, você pode ver o número associado a cada commit utilizando o comando "git rev-list --bisect-all".

note: type: Plain text
en: For example, for the above graph, a command like:
pt_BR: Por exemplo, para o grafo acima, o comando seria:

note: type: Plain text
en: would output something like:
pt_BR: geraria algo como:

note: type: Title ~
en: Bisection algorithm discussed
pt_BR: Discussão sobre o algoritmo da bissecção

note: type: Plain text
en: First let's define "best bisection point". We will say that a commit X is a best bisection point or a best bisection commit if knowing its state ("good" or "bad") gives as much information as possible whether the state of the commit happens to be "good" or "bad".
pt_BR: Primeiro vamos definir "melhor ponto de bisseção". Digamos que um commt 'X' é o melhor ponto de bisseção ou um melhor commit de bisseção caso conheça a sua condição ("bom" ou "ruim") fornece o máximo de informações possíveis caso a condição do commit seja "bom" ou "ruim".

note: type: Plain text
en: This means that the best bisection commits are the commits where the following function is maximum:
pt_BR: Isto significa que as melhores bisseção dos commits são os commits onde a seguinte função seja máxima:

note: type: Plain text
en: where information_if_good(X) is the information we get if X is good and information_if_bad(X) is the information we get if X is bad.
pt_BR: onde 'information_if_good(X)' é a informação que obtemos caso 'X' seja bom e 'information_if_bad(X)' é a informação que obtemos caso 'X' seja ruim.

note: type: Plain text
en: Now we will suppose that there is only one "first bad commit". This means that all its descendants are "bad" and all the other commits are "good". And we will suppose that all commits have an equal probability of being good or bad, or of being the first bad commit, so knowing the state of c commits gives always the same amount of information wherever these c commits are on the graph and whatever c is. (So we suppose that these commits being for example on a branch or near a good or a bad commit does not give more or less information).
pt_BR: Agora vamos supor que exista apenas um "primeiro commit ruim". Isto significa que todos os seus descendentes são "ruins" e todos os outros commits são "bons". E iremos supor que todos os commits têm uma probabilidade igual de serem bons ou ruins, ou de serem o primeiro commit incorreto, portanto, conhecer a condição do commit 'c' dá sempre a mesma quantidade de informações onde quer que estes commits 'c' estejam no grafo e independente do que o 'c' seja. (Portanto, supomos que estes commits, seja por exemplo, em um ramo ou próximo a um commit bom ou ruim, não forneçam mais ou menos informações).

note: type: Plain text
en: Let's also suppose that we have a cleaned up graph like one after step
pt_BR: Vamos supor também que tenhamos um grafo limpo como um após o outro

note: type: Plain text
en: in the bisection algorithm above. This means that we can measure the information we get in terms of number of commit we can remove from the graph..
pt_BR: no algoritmo de bisseção acima. Isso significa que podemos medir as informações que obtemos em termos quantidade dos commits que podemos remover do grafo.

note: type: Plain text
en: And let's take a commit X in the graph.
pt_BR: E vamos receber um commit 'X' no grafo.

note: type: Plain text
en: If X is found to be "good", then we know that its ancestors are all "good", so we want to say that:
pt_BR: Caso 'X' seja considerado "bom", sabemos que os seus ancestrais são todos "bons", então queremos dizer que:

note: type: Plain text
en: And this is true because at step 1) b) we remove the ancestors of the "good" commits.
pt_BR: E isso é verdade porque na etapa 1) b) removemos os ancestrais dos "bons" commits.

note: type: Plain text
en: If X is found to be "bad", then we know that its descendants are all "bad", so we want to say that:
pt_BR: Caso 'X' seja considerado "ruim", sabemos que todos os seus descendentes são "ruins", então queremos dizer que:

note: type: Plain text
en: But this is wrong because at step 1) a) we keep only the ancestors of the bad commit. So we get more information when a commit is marked as "bad", because we also know that the ancestors of the previous "bad" commit that are not ancestors of the new "bad" commit are not the first bad commit. We don't know if they are good or bad, but we know that they are not the first bad commit because they are not ancestor of the new "bad" commit.
pt_BR: Mas é errado, porque na etapa 1) a) mantemos apenas os ancestrais dos commits ruins. Então obtemos mais informações quando um commit é marcado como "ruim", porque também sabemos que os ancestrais do commit "ruim" anterior, não são ancestrais do novo commit "ruim" que não são o primeiro commit incorreto. Não sabemos se eles são bons ou ruins, porém sabemos que eles não são o primeiro commit incorreto porque não são ancestrais do novo commit "ruim".

note: type: Plain text
en: So when a commit is marked as "bad" we know we can remove all the commits in the graph except those that are ancestors of the new "bad" commit. This means that:
pt_BR: Portanto, quando um commit é marcado como "ruim", sabemos que podemos remover todos os commit no grafo, exceto aqueles que são os ancestrais do novo commit "ruim". Isto significa que:

note: type: Plain text
en: where N is the number of commits in the (cleaned up) graph.
pt_BR: onde 'N' é a quantidade de commits no grafo (limpos).

note: type: Plain text
en: So in the end this means that to find the best bisection commits we should maximize the function:
pt_BR: Portanto, no final, isso significa que, para encontrar as melhores bisseções dos commits, devemos maximizar a função:

note: type: Plain text
en: And this is nice because at step 2) we compute number_of_ancestors(X)  and so at step 3) we compute f(X).
pt_BR: E isso é bom porque na etapa 2) calculamos 'number_of_ancestors(X)' (a quantidade de ancestrais) e, na etapa 3) calculamos 'f(X)'.

note: type: Plain text
en: Let's take the following graph as an example:
pt_BR: Vamos tomar o seguinte grafo como exemplo:

note: type: Plain text
en: If we compute the following non optimal function on it:
pt_BR: Caso calculemos a seguinte função não ideal nela:

note: type: Plain text
en: we get:
pt_BR: nós temos:

note: type: Plain text
en: but with the algorithm used by git bisect we get:
pt_BR: porém com o algorítimo utilizado pelo 'git bisect' nós temos:

note: type: Plain text
en: So we chose G, H, K or L as the best bisection point, which is better than F. Because if for example L is bad, then we will know not only that L, M and N are bad but also that G, H, I and J are not the first bad commit (since we suppose that there is only one first bad commit and it must be an ancestor of L).
pt_BR: Então escolhemos 'G', 'H', 'K' ou 'L' como o melhor ponto de bisseção, que é melhor que 'F'. Porque, por exemplo, o 'L' é ruim, saberemos não apenas que 'L', 'M' e 'N' são ruins, mas também que o 'G', 'H', 'I' e 'J' não são os primeiros commits ruins (pois supomos que haja apenas um primeiro commit ruim e ele deve ser um ancestral do 'L').

note: type: Plain text
en: So the current algorithm seems to be the best possible given what we initially supposed.
pt_BR: Portanto, o algoritmo atual parece ser o melhor possível, dado o que supomos inicialmente.

note: type: Title ~
en: Skip algorithm
pt_BR: Algoritmo de salto

note: type: Plain text
en: When some commits have been skipped (using "git bisect skip"), then the bisection algorithm is the same for step 1) to 3). But then we use roughly the following steps:
pt_BR: Quando alguns commits forem ignoradas (utilizando o comando "git bisect skip"), o algoritmo de bisseção é o mesmo da etapa 1) a 3). Então utilizamos aproximadamente as seguintes etapas:

note: type: Plain text
en: sort the commit by decreasing associated value
pt_BR: classifique o commit diminuindo o valor associado

note: type: Plain text
en: if the first commit has not been skipped, we can return it and stop here
pt_BR: se o primeiro commit não foi ignorado, podemos retorná-lo e parar aqui

note: type: Plain text
en: otherwise filter out all the skipped commits in the sorted list
pt_BR: caso contrário, filtre todos os commits ignorados da lista

note: type: Plain text
en: use a pseudo random number generator (PRNG) to generate a random number between 0 and 1
pt_BR: use um gerador de número pseudo-aleatório (PRNG) para gerar um número aleatório entre '0' e '1'

note: type: Plain text
en: multiply this random number with its square root to bias it toward 0
pt_BR: multiplique este número aleatório com a a sua raiz quadrada para enviesá-lo para 0

note: type: Plain text
en: multiply the result by the number of commits in the filtered list to get an index into this list
pt_BR: multiplicada o resultado pela quantidade dos commits na lista dos filtrados e obtenha um índice nesta lista

note: type: Plain text
en: return the commit at the computed index
pt_BR: retorne o commit ao índice que foi processado

note: type: Title ~
en: Skip algorithm discussed
pt_BR: Discussão sobre o algoritmo de salto

note: type: Plain text
en: After step 7) (in the skip algorithm), we could check if the second commit has been skipped and return it if it is not the case. And in fact that was the algorithm we used from when "git bisect skip" was developed in Git version 1.5.4 (released on February 1st 2008) until Git version 1.6.4 (released July 29th 2009).
pt_BR: Após a etapa 7) (no algoritmo 'skip'), poderíamos verificar se o segundo commit foi ignorado e retorná-lo, se não for o caso. E de fato, este foi o algoritmo que utilizamos quando o comando "git bisect skip" foi desenvolvido no Git versão 1.5.4 (lançado em 1º de fevereiro de 2008) até o Git versão 1.6.4 (lançado em 29 de julho de 2009).

note: type: Plain text
en: But Ingo Molnar and H. Peter Anvin (another well known linux kernel developer) both complained that sometimes the best bisection points all happened to be in an area where all the commits are untestable. And in this case the user was asked to test many untestable commits, which could be very inefficient.
pt_BR: Porém o Ingo Molnar e o H. Peter Anvin (outro informado desenvolvedor de kernel do linux) reclamaram que às vezes os melhores pontos de bisseção aconteciam em uma área onde todos os commits eram testáveis. E neste caso, o usuário foi solicitado a testar muitos commits onde não são possíveis de serem testados, o que poderia ser muito ineficiente.

note: type: Plain text
en: Indeed untestable commits are often untestable because a breakage was introduced at one time, and that breakage was fixed only after many other commits were introduced.
pt_BR: Na verdade, os commits não testáveis geralmente não são testáveis porque uma quebra foi introduzida em algum momento, e essa quebra foi corrigida somente depois que muitos outras commits foram introduzidos.

note: type: Plain text
en: This breakage is of course most of the time unrelated to the breakage we are trying to locate in the commit graph. But it prevents us to know if the interesting "bad behavior" is present or not.
pt_BR: Naturalmente, essa quebra não está relacionada à quebra que estamos tentando localizar no grafo do commit. Porém isso nos impede de saber se o "mau comportamento" que interessa está presente ou não.

note: type: Plain text
en: So it is a fact that commits near an untestable commit have a high probability of being untestable themselves. And the best bisection commits are often found together too (due to the bisection algorithm).
pt_BR: Portanto, é fato que os commits próximos de um commit onde o teste não possa ser feito têm uma alta probabilidade de serem elas mesmas as não testáveis. Os melhores commits para bisseção também são frequentemente encontrados juntos (devido ao algoritmo de bisseção).

note: type: Plain text
en: This is why it is a bad idea to just chose the next best unskipped bisection commit when the first one has been skipped.
pt_BR: É por isso que é uma péssima ideia escolher a próxima melhor bisseção do commit que não foi ignorado quando o primeiro tenha sido ignorado.

note: type: Plain text
en: We found that most commits on the graph may give quite a lot of information when they are tested. And the commits that will not on average give a lot of information are the one near the good and bad commits.
pt_BR: Descobrimos que a maioria dos commits no grafo pode fornecer muitas informações quando são testadas. E os commits que, em média, não fornecerão muita informação são os próximos commits bons e ruins.

note: type: Plain text
en: So using a PRNG with a bias to favor commits away from the good and bad commits looked like a good choice.
pt_BR: Portanto, ao usar um PRNG com um viés para favorecer os commits longe dos commits bons e ruins parecia ser uma boa escolha.

note: type: Plain text
en: One obvious improvement to this algorithm would be to look for a commit that has an associated value near the one of the best bisection commit, and that is on another branch, before using the PRNG. Because if such a commit exists, then it is not very likely to be untestable too, so it will probably give more information than a nearly randomly chosen one.
pt_BR: Uma melhoria óbvia neste algoritmo seria procurar por um commit que tenha um valor associado próximo ao do melhor commit de bisseção e que esteja em outra ramificação, antes de utilizar o PRNG. Pois caso este commit exista, é muito provável que também não seja testável, logo, provavelmente fornecerá mais informações do que o que foi selecionado aleatoriamente.

note: type: Title ~
en: Checking merge bases
pt_BR: Verificando as bases mescladas

note: type: Plain text
en: There is another tweak in the bisection algorithm that has not been described in the "bisection algorithm" above.
pt_BR: Há outro ajuste no algoritmo de bisseção que não foi descrito no "algoritmo de bisseção" acima.

note: type: Plain text
en: We supposed in the previous examples that the "good" commits were ancestors of the "bad" commit. But this is not a requirement of "git bisect".
pt_BR: Nos exemplos anteriores, supomos que os commits "bons" eram ancestrais do commit "ruim". Porém isto não é um requisito do "git bisect".

note: type: Plain text
en: Of course the "bad" commit cannot be an ancestor of a "good" commit, because the ancestors of the good commits are supposed to be "good". And all the "good" commits must be related to the bad commit.  They cannot be on a branch that has no link with the branch of the "bad" commit. But it is possible for a good commit to be related to a bad commit and yet not be neither one of its ancestor nor one of its descendants.
pt_BR: É claro que o commit "ruim" não pode ser um ancestral de um commit "bom", porque os ancestrais dos commits bons devem ser "bons". E todos os commits "bons" devem estar relacionadas ao commit "ruim".  Eles não podem estar em um ramo que não possua vínculo com o ramo do commit "ruim". Porém é possível que um bom commit esteja relacionado a um commit ruim e no entanto, não seja um de seus ancestrais e nem um dos seus descendentes.

note: type: Plain text
en: For example, there can be a "main" branch, and a "dev" branch that was forked of the main branch at a commit named "D" like this:
pt_BR: Como por exemplo, pode haver um ramo "main" (principal) e um ramo "dev" que foi bifurcada no ramo principal em um commit chamado "D" desta maneira:

note: type: Plain text
en: The commit "D" is called a "merge base" for branch "main" and "dev" because it's the best common ancestor for these branches for a merge.
pt_BR: O commit "D" é chamado de uma "base de mesclagem" para o ramo "main" e "dev" pois é o melhor ancestral comum destas ramificações para uma mesclagem.

note: type: Plain text
en: Now let's suppose that commit J is bad and commit G is good and that we apply the bisection algorithm like it has been previously described.
pt_BR: Agora, suponha que o commit J seja ruim, que o commit G seja bom e que apliquemos o algoritmo de bisseção como foi descrito anteriormente.

note: type: Plain text
en: As described in step 1) b) of the bisection algorithm, we remove all the ancestors of the good commits because they are supposed to be good too.
pt_BR: Conforme descrito na etapa 1) b) do algoritmo de bisseção, removemos todos os ancestrais dos commits bons porque eles também devem ser bons.

note: type: Plain text
en: So we would be left with only:
pt_BR: Então, ficaríamos com apenas:

note: type: Plain text
en: But what happens if the first bad commit is "B" and if it has been fixed in the "main" branch by commit "F"?
pt_BR: Mas o que acontece caso o primeiro commit incorreto seja o "B" e se foi corrigido no ramo "principal" (main) pelo commit "F"?

note: type: Plain text
en: The result of such a bisection would be that we would find that H is the first bad commit, when in fact it's B. So that would be wrong!
pt_BR: O resultado dessa bisseção seria que descobriríamos que "H" é o primeiro commit ruim, quando na verdade é o "B". Portanto, isso seria errado!

note: type: Plain text
en: And yes it can happen in practice that people working on one branch are not aware that people working on another branch fixed a bug! It could also happen that F fixed more than one bug or that it is a revert of some big development effort that was not ready to be released.
pt_BR: E sim, na prática pode acontecer das pessoas que trabalham em um ramo não estejam cientes que as pessoas que trabalham no outro ramo corrigiram um bug! Também pode acontecer que F tenha corrigido mais de um bug ou que seja uma reversão de algum grande esforço de desenvolvimento que não estava pronto para ser liberado.

note: type: Plain text
en: In fact development teams often maintain both a development branch and a maintenance branch, and it would be quite easy for them if "git bisect" just worked when they want to bisect a regression on the development branch that is not on the maintenance branch. They should be able to start bisecting using:
pt_BR: De fato, as equipes de desenvolvimento geralmente mantêm um ramo de desenvolvimento e um ramo de manutenção, seria muito fácil para eles caso o comando "git bisect" funcionasse quando quisessem dividir uma regressão no ramo de desenvolvimento que não está no ramo de manutenção. Eles devem ser capaz de começar a dividir utilizando:

note: type: Plain text
en: To enable that additional nice feature, when a bisection is started and when some good commits are not ancestors of the bad commit, we first compute the merge bases between the bad and the good commits and we chose these merge bases as the first commits that will be checked out and tested.
pt_BR: Para ativar esse recurso adicional, quando uma bisseção é iniciada e quando alguns commits bons não são ancestrais do commit ruim, primeiro calculamos a mesclagem das bases entre os commits ruins e os bons, escolhemos estas bases da mesclagem como os primeiros commits que serão averiguados e testados.

note: type: Plain text
en: If it happens that one merge base is bad, then the bisection process is stopped with a message like:
pt_BR: Caso ocorra de uma base que foi mesclada esteja ruim, o processo de bisseção será interrompido com uma mensagem como:

note: type: delimited block -
en: The merge base BBBBBB is bad.
    This means the bug has been fixed between BBBBBB and [GGGGGG,...].
pt_BR: A base da mesclagem BBBBBB é ruim.
    Isto significa que o bug foi corrigido entre BBBBBB e [GGGGGG, ...].

note: type: Plain text
en: where BBBBBB is the sha1 hash of the bad merge base and [GGGGGG,...] is a comma separated list of the sha1 of the good commits.
pt_BR: onde BBBBBB é o hash sha1 da base de mesclagem ruim e [GGGGGG, ...] é uma lista separada por vírgulas do sha1 do bom commit.

note: type: Plain text
en: If some of the merge bases are skipped, then the bisection process continues, but the following message is printed for each skipped merge base:
pt_BR: Caso algumas das mesclagens das bases sejam ignoradas, o processo de bisseção continuará, porém a seguinte mensagem será impressa para cada mesclagem da base que foi ignorada:

note: type: delimited block -
en: Warning: the merge base between BBBBBB and [GGGGGG,...] must be skipped.
    So we cannot be sure the first bad commit is between MMMMMM and BBBBBB.
    We continue anyway.
pt_BR: Aviso: a base da mesclagem entre BBBBBB e [GGGGGG,...] deve ser ignorado.
    Portanto, não podemos ter certeza de que o primeiro commit ruim esteja entre MMMMMM e BBBBBB.
    Continuamos mesmo assim.

note: type: Plain text
en: where BBBBBB is the sha1 hash of the bad commit, MMMMMM is the sha1 hash of the merge base that is skipped and [GGGGGG,...] is a comma separated list of the sha1 of the good commits.
pt_BR: onde BBBBBB é o hash sha1 do commit ruim, o MMMMMM é o sha1 da base da mesclagem que é ignorado e [GGGGGG, ...] é uma lista separada por vírgulas do sha1 dos commits bons.

note: type: Plain text
en: So if there is no bad merge base, the bisection process continues as usual after this step.
pt_BR: Portanto, caso não haja uma base da mesclagem ruim, o processo de bisseção continuará normalmente após esta etapa.

note: type: Title -
en: Best bisecting practices
pt_BR: Melhores práticas para as bisseções

note: type: Title ~
en: Using test suites and git bisect together
pt_BR: Usando conjuntos de teste e o comando 'git bisect' juntos

note: type: Plain text
en: If you both have a test suite and use git bisect, then it becomes less important to check that all tests pass after each commit. Though of course it is probably a good idea to have some checks to avoid breaking too many things because it could make bisecting other bugs more difficult.
pt_BR: Caso você possua um conjunto de testes e utiliza o `git bisect`, torna-se menos importante verificar se todos os testes passam após cada confirmação. Embora, claro, seja provavelmente uma boa ideia fazer algumas verificações para evitar a quebra de muitas coisas pois isso pode dificultar a bisseção dos outros bugs.

note: type: Plain text
en: You can focus your efforts to check at a few points (for example rc and beta releases) that all the T test cases pass for all the N configurations. And when some tests don't pass you can use "git bisect" (or better "git bisect run"). So you should perform roughly:
pt_BR: Você pode concentrar os teus esforços para verificar alguns pontos (as versões rc e beta por exemplo) que todos os casos de teste 'T' passam por todas as 'N' configurações. E quando alguns testes não passam, você pode usar "git bisect" (ou melhor, "git bisect run"). Então você deve executar a grosso modo:

note: type: Plain text
en: where c is the number of rounds of test (so a small constant) and b is the ratio of bug per commit (hopefully a small constant too).
pt_BR: onde 'c' é a quantidade de rodadas de teste (portanto, uma constante pequena) e 'b' é a proporção dos erros por commit(espero que também seja uma constante pequena).

note: type: Plain text
en: So of course it's much better as it's O(N * T) vs O(N * T * M) if you would test everything after each commit.
pt_BR: Então é claro que é muito melhor que O(N * T) vs O(N * T * M) caso testasse tudo após cada commit.

note: type: Plain text
en: This means that test suites are good to prevent some bugs from being committed and they are also quite good to tell you that you have some bugs. But they are not so good to tell you where some bugs have been introduced. To tell you that efficiently, git bisect is needed.
pt_BR: Isto significa que os conjuntos de testes são bons para evitar que o commit de alguns bugs sejam feitos e também são bons para dizer que você tem alguns bugs. Mas eles não são tão bons para dizer onde alguns erros foram introduzidos. Para te dizer isso eficientemente, o comando 'git bisect' é necessário.

note: type: Plain text
en: The other nice thing with test suites, is that when you have one, you already know how to test for bad behavior. So you can use this knowledge to create a new test case for "git bisect" when it appears that there is a regression. So it will be easier to bisect the bug and fix it. And then you can add the test case you just created to your test suite.
pt_BR: A outra coisa interessante dos conjuntos de testes é que, quando você tem um, já sabe como testar o mau comportamento. Portanto, você pode usar este conhecimento para criar um novo caso de teste para o comando "git bisect" quando parecer que uma regressão existe. Portanto, será mais fácil dividir o bug e corrigi-lo. E então você pode adicionar o caso de teste que você acabou de criar ao seu conjunto de testes.

note: type: Plain text
en: So if you know how to create test cases and how to bisect, you will be subject to a virtuous circle:
pt_BR: Portanto, caso saiba criar casos de teste e dividir em partes, estará sujeito a um círculo virtuoso:

note: type: Plain text
en: more tests => easier to create tests => easier to bisect => more tests
pt_BR: mais testes => mais fácil de criar testes => mais fácil de fazer 'bisect' => mais testes

note: type: Plain text
en: So test suites and "git bisect" are complementary tools that are very powerful and efficient when used together.
pt_BR: Portanto, os conjuntos de testes e o comando "git bisect", quando utilizadas em conjunto, são ferramentas complementares que são muito poderosas e eficientes.

note: type: Title ~
en: Bisecting build failures
pt_BR: Falhas na construção da bisseção

note: type: Plain text
en: You can very easily automatically bisect broken builds using something like:
pt_BR: Você pode facilmente fazer o 'bisect' automaticamente em construções quebradas usando algo como:

note: type: Title ~
en: Passing sh -c "some commands" to "git bisect run"
pt_BR: Encaminhando sh -c "alguns comandos" para "git bisect run"

note: type: Plain text
en: On the other hand if you do this often, then it can be worth having scripts to avoid too much typing.
pt_BR: Por outro lado, caso faça isso com frequência, pode valer a pena ter scripts para evitar muita digitação.

note: type: Title ~
en: Finding performance regressions
pt_BR: Localizando regressões de desempenho

note: type: Plain text
en: Here is an example script that comes slightly modified from a real world script used by Junio Hamano <<4>>.
pt_BR: Aqui está um exemplo do script que é ligeiramente modificado a partir de um script do mundo real utilizado por Junio Hamano <<4>>.

note: type: Plain text
en: This script can be passed to "git bisect run" to find the commit that introduced a performance regression:
pt_BR: Este script pode ser passado através de um "git bisect run" para localizar um commit que introduziu uma regressão de desempenho:

note: type: delimited block -
en: # Build errors are not what I am interested in.
    make my_app || exit 255
pt_BR: # Os erros de compilação não me interessam.
    make my_app || exit 255

note: type: delimited block -
en: # We are checking if it stops in a reasonable amount of time, so
    # let it run in the background...
pt_BR: # Estamos verificando se ele para em um período de tempo razoável, então
    # deixe correr em segundo plano...

note: type: delimited block -
en: # ... and grab its process ID.
    pid=$!
pt_BR: # ... e pega a ID do seu processo.
    pid=$!

note: type: delimited block -
en: # ... and then wait for sufficiently long.
    sleep $NORMAL_TIME
pt_BR: # ... e aguarde o tempo suficiente.
    sleep $NORMAL_TIME

note: type: delimited block -
en: # ... and then see if the process is still there.
    if kill -0 $pid
    then
    	# It is still running -- that is bad.
    	kill $pid; sleep 1; kill $pid;
    	exit 1
    else
    	# It has already finished (the $pid process was no more),
    	# and we are happy.
    	exit 0
    fi
pt_BR: # ... e veja se o processo ainda está lá.
    if kill -0 $pid
    then
    	# e se ainda estiver rodando -- isso é ruim.
    	kill $pid; sleep 1; kill $pid;
    	exit 1
    else
    	# Ele já terminou (o $pid do processo não existe mais),
    	# e nós estamos felizes.
    	exit 0
    fi

note: type: Title ~
en: Following general best practices
pt_BR: Seguindo as melhores práticas gerais

note: type: Plain text
en: It is obviously a good idea not to have commits with changes that knowingly break things, even if some other commits later fix the breakage.
pt_BR: Obviamente, é uma boa ideia não ter commits com alterações que conscientemente quebram as coisas, mesmo que os outros commits consigam consertar quebras posteriores.

note: type: Plain text
en: It is also a good idea when using any VCS to have only one small logical change in each commit.
pt_BR: Também é uma boa ideia ao usar qualquer VCS ter apenas uma pequena alteração lógica em cada commit.

note: type: Plain text
en: The smaller the changes in your commit, the most effective "git bisect" will be. And you will probably need "git bisect" less in the first place, as small changes are easier to review even if they are only reviewed by the committer.
pt_BR: Quanto menores as alterações no seu commit, mais eficaz será o "git bisect". E provavelmente você precisará do comando "git bisect", não de primeira pois as pequenas alterações são mais fáceis de revisar, mesmo que sejam revisadas apenas pelo responsável do envio.

note: type: Plain text
en: Another good idea is to have good commit messages. They can be very helpful to understand why some changes were made.
pt_BR: Outra boa ideia é ter boas mensagens para os commits. Eles podem ser muito úteis para entender por que algumas alterações foram feitas.

note: type: Plain text
en: These general best practices are very helpful if you bisect often.
pt_BR: Estas boas práticas são muito úteis caso você faça 'bisect' com muita frequência.

note: type: Title ~
en: Avoiding bug prone merges
pt_BR: Evitando mesclagens propensas a erros

note: type: Plain text
en: First merges by themselves can introduce some regressions even when the merge needs no source code conflict resolution. This is because a semantic change can happen in one branch while the other branch is not aware of it.
pt_BR: As primeiras mesclagens por si só podem introduzir algumas regressões, mesmo quando a mesclagem não precise de uma resolução de conflitos do código-fonte. Isso ocorre porque uma mudança semântica pode ocorrer em um ramo, enquanto o outro ramo não está ciente do que aconteceu.

note: type: Plain text
en: For example one branch can change the semantic of a function while the other branch add more calls to the same function.
pt_BR: Como por exemplo, um ramo pode alterar a semântica de uma função, enquanto o outro ramo adiciona mais chamadas à mesma função.

note: type: Plain text
en: This is made much worse if many files have to be fixed to resolve conflicts. That's why such merges are called "evil merges". They can make regressions very difficult to track down. It can even be misleading to know the first bad commit if it happens to be such a merge, because people might think that the bug comes from bad conflict resolution when it comes from a semantic change in one branch.
pt_BR: Piora muito caso muitos arquivos precisem ser corrigidos por causa de conflitos. É por isso que estas mesclagens são chamadas de "mesclagens más" (evil merges). Eles podem tornar as regressões muito difíceis de rastrear. Pode até ser enganador saber que o primeiro commit ruim, caso seja uma mesclagem deste tipo, porque as pessoas podem pensar que o bug vem de uma má resolução de conflito quando se trata de uma alteração semântica em um ramo.

note: type: Plain text
en: Anyway "git rebase" can be used to linearize history. This can be used either to avoid merging in the first place. Or it can be used to bisect on a linear history instead of the non linear one, as this should give more information in case of a semantic change in one branch.
pt_BR: De qualquer forma, "git rebase" pode ser utilizado para linearizar o histórico. Pode ser utilizado em primeiro lugar, para evitar a mesclagem. Ou pode ser utilizado para dividir um histórico linear em vez do que não seja linear, pois isso deve fornecer mais informações no caso de uma alteração semântica em um ramo.

note: type: Plain text
en: Merges can be also made simpler by using smaller branches or by using many topic branches instead of only long version related branches.
pt_BR: As mesclagens também podem ser simplificadas utilizando os ramos menores ou ao utilizar muitos tópicos das ramificações, em vez de apenas as ramificações das versões mais longas.

note: type: Plain text
en: And testing can be done more often in special integration branches like linux-next for the linux kernel.
pt_BR: E os testes podem ser feitos com mais frequência nos ramos nas integrações especiais como 'linux-next' para o kernel do linux.

note: type: Title ~
en: Adapting your work-flow
pt_BR: Adaptando o seu fluxo de trabalho

note: type: Plain text
en: A special work-flow to process regressions can give great results.
pt_BR: Um fluxo de trabalho especial para processar as regressões pode dar ótimos resultados.

note: type: Plain text
en: Here is an example of a work-flow used by Andreas Ericsson:
pt_BR: Aqui está um exemplo de um fluxo de trabalho utilizado por Andreas Ericsson:

note: type: Plain text
en: write, in the test suite, a test script that exposes the regression
pt_BR: escreva, no conjunto de testes, um script de teste que exponha a regressão

note: type: Plain text
en: use "git bisect run" to find the commit that introduced it
pt_BR: Utilize um "git bisect run" para localizar o commit que introduziu um bug

note: type: Plain text
en: fix the bug that is often made obvious by the previous step
pt_BR: corrija o bug que muitas vezes se torna óbvio na etapa anterior

note: type: Plain text
en: commit both the fix and the test script (and if needed more tests)
pt_BR: faz o commit de ambas as correções e o script de teste (e se necessário, mais testes)

note: type: Plain text
en: And here is what Andreas said about this work-flow <<5>>:
pt_BR: E aqui está o que o Andreas disse sobre este fluxo de trabalho <<5>>:

note: type: delimited block _
en: To give some hard figures, we used to have an average report-to-fix cycle of 142.6 hours (according to our somewhat weird bug-tracker which just measures wall-clock time). Since we moved to Git, we've lowered that to 16.2 hours. Primarily because we can stay on top of the bug fixing now, and because everyone's jockeying to get to fix bugs (we're quite proud of how lazy we are to let Git find the bugs for us). Each new release results in ~40% fewer bugs (almost certainly due to how we now feel about writing tests).
pt_BR: Para dar alguns números concretos, costumávamos ter um relatório médio para corrigir o ciclo de 142.6 horas (de acordo com nosso rastreador de bugs um tanto estranho que apenas mede o tempo). Desde que nos mudamos para o Git, diminuímos para 16.2 horas. Principalmente porque podemos ficar em cima da correção dos bugs agora e porque todo mundo está tentando resolver os bugs (estamos muito orgulhosos de como somos preguiçosos em deixar o Git encontrar os bugs para nós). Cada nova versão resulta em ~40% menos bugs (quase certamente devido à forma como nos sentimos ao escrever testes).

note: type: Plain text
en: Clearly this work-flow uses the virtuous circle between test suites and "git bisect". In fact it makes it the standard procedure to deal with regression.
pt_BR: Claramente, este fluxo de trabalho utiliza o círculo virtuoso entre os conjuntos de testes e o "git bisect". De fato, torna o procedimento padrão para lidar com a regressão.

note: type: Plain text
en: In other messages Andreas says that they also use the "best practices" described above: small logical commits, topic branches, no evil merge,... These practices all improve the bisectability of the commit graph, by making it easier and more useful to bisect.
pt_BR: Em outras mensagens, Andreas diz que eles também utilizam as "melhores práticas" descritas acima: pequenos commits lógicos, tópicos das ramificações, sem mesclagem "do mal",... Todas estas práticas aprimoram a bisectabilidade do grafo do commit, tornando mais fácil e mais útil o processo de bisseção.

note: type: Plain text
en: So a good work-flow should be designed around the above points. That is making bisecting easier, more useful and standard.
pt_BR: Portanto, um bom fluxo de trabalho deve ser projetado em torno dos pontos acima. Isso está tornando a divisão mais fácil, mais útil e padronizado.

note: type: Title ~
en: Involving QA people and if possible end users
pt_BR: Envolvendo pessoas do controle de qualidade e se possível, usuários finais

note: type: Plain text
en: One nice about "git bisect" is that it is not only a developer tool. It can effectively be used by QA people or even end users (if they have access to the source code or if they can get access to all the builds).
pt_BR: Um aspecto interessante do comando "git bisect" é que ele não é apenas uma ferramenta de desenvolvedor. Ele pode ser usado efetivamente por pessoas do controle de qualidade ou mesmo pelos usuários finais (caso eles tenham acesso ao código-fonte ou se puderem ter acesso a todas as compilações).

note: type: Plain text
en: There was a discussion at one point on the linux kernel mailing list of whether it was ok to always ask end user to bisect, and very good points were made to support the point of view that it is ok.
pt_BR: Houve uma discussão em um ponto na lista de discussão do kernel do linux sobre se era permitido sempre pedir ao usuário final que fizesse um 'bisect', foram levantados muitos pontos interessantes apoiando este ponto de vista que sim, é permitido.

note: type: Plain text
en: For example David Miller wrote <<6>>:
pt_BR: Como por exemplo, David Miller escreveu <<6>>:

note: type: delimited block _
en: What people don't get is that this is a situation where the "end node principle" applies. When you have limited resources (here: developers)  you don't push the bulk of the burden upon them. Instead you push things out to the resource you have a lot of, the end nodes (here: users), so that the situation actually scales.
pt_BR: O que as pessoas não entendem é que esta é uma situação onde o "princípio do nó final" se aplica. Quando você tem recursos limitados (aqui: desenvolvedores) você não impõe a maior parte do ônus sobre eles. Em vez disso, você envia as coisas para o recurso que possui muitos nós finais (aqui: usuários) para que a situação realmente se escale.

note: type: Plain text
en: This means that it is often "cheaper" if QA people or end users can do it.
pt_BR: Isto significa que geralmente é "mais barato" se as pessoas do controle de qualidade ou dos usuários finais puderem fazer isso.

note: type: Plain text
en: What is interesting too is that end users that are reporting bugs (or QA people that reproduced a bug) have access to the environment where the bug happens. So they can often more easily reproduce a regression. And if they can bisect, then more information will be extracted from the environment where the bug happens, which means that it will be easier to understand and then fix the bug.
pt_BR: O interessante também é que os usuários finais que estão relatando os bugs (ou das pessoas do controle de qualidade que reproduziram um bug) têm acesso ao ambiente onde o bug ocorre. Portanto, eles geralmente podem reproduzir mais facilmente uma regressão. E se eles puderem fazer um 'bisect', mais informações serão extraídas do ambiente onde o erro ocorre, o que significa que será mais fácil compreender e então corrigir o bug.

note: type: Plain text
en: For open source projects it can be a good way to get more useful contributions from end users, and to introduce them to QA and development activities.
pt_BR: Para os projetos de código aberto, pode ser uma boa maneira de obter contribuições mais úteis dos usuários finais e apresentá-las às atividades do controle de qualidade e desenvolvimento.

note: type: Title ~
en: Using complex scripts
pt_BR: Usando scripts complexos

note: type: Plain text
en: In some cases like for kernel development it can be worth developing complex scripts to be able to fully automate bisecting.
pt_BR: Em alguns casos, como no desenvolvimento do kernel, pode valer a pena desenvolver scripts complexos para poder automatizar completamente a bissetriz.

note: type: Plain text
en: Here is what Ingo Molnar says about that <<7>>:
pt_BR: Aqui está o que Ingo Molnar diz sobre isso <<7>>:

note: type: delimited block _
en: i have a fully automated bootup-hang bisection script. It is based on "git-bisect run". I run the script, it builds and boots kernels fully automatically, and when the bootup fails (the script notices that via the serial log, which it continuously watches - or via a timeout, if the system does not come up within 10 minutes it's a "bad" kernel), the script raises my attention via a beep and i power cycle the test box. (yeah, i should make use of a managed power outlet to 100% automate it)
pt_BR: Eu tenho um script para bisseção totalmente automatizado que trava o processo de boot. Tem origem no "git-bisect run". Eu o executo, ele cria e inicializa os kernels automaticamente e quando a inicialização falha (o script percebe que, por meio do registro log serial, que ele assiste continuamente ou por um tempo limite, caso o sistema não apareça em 10 minutos, é um kernel "ruim"), o script chama minha atenção através de um sinal sonoro e eu desligo a caixa de teste. (sim, eu devo usar uma tomada gerenciada para automatizá-la 100%)

note: type: Title ~
en: Combining test suites, git bisect and other systems together
pt_BR: Combinando os conjuntos dos testes, git bisect e outros sistemas juntos

note: type: Plain text
en: We have seen that test suites and git bisect are very powerful when used together. It can be even more powerful if you can combine them with other systems.
pt_BR: Vimos que os conjuntos dos testes e o comando 'git bisect' são muito poderosos quando usados juntos. Pode ser ainda mais poderoso caso possa combiná-los com outros sistemas.

note: type: Plain text
en: For example some test suites could be run automatically at night with some unusual (or even random) configurations. And if a regression is found by a test suite, then "git bisect" can be automatically launched, and its result can be emailed to the author of the first bad commit found by "git bisect", and perhaps other people too. And a new entry in the bug tracking system could be automatically created too.
pt_BR: Como por exemplo, alguns conjuntos de testes podem ser executados automaticamente à noite com algumas configurações incomuns (ou mesmo aleatórias). E caso uma regressão eja encontrada por um conjunto de testes, o comando "git bisect" poderá ser iniciado automaticamente e o seu resultado poderá ser enviado através de um e-mail ao autor do primeiro commit ruim encontrado pelo "git bisect", e talvez das outras pessoas também. E uma nova entrada no sistema de monitoramento dos bugs também pode ser criada de forma automática.

note: type: Title -
en: The future of bisecting
pt_BR: O futuro da bisseção

note: type: Plain text
en: We saw earlier that "git bisect skip" is now using a PRNG to try to avoid areas in the commit graph where commits are untestable. The problem is that sometimes the first bad commit will be in an untestable area.
pt_BR: Vimos anteriormente que o comando "git bisect skip" agora está usando um PRNG para tentar evitar as áreas no grafo do commit onde o commit não sejam testáveis. O problema é que, às vezes, o primeiro commit ruim fica em uma área não testável.

note: type: Plain text
en: To simplify the discussion we will suppose that the untestable area is a simple string of commits and that it was created by a breakage introduced by one commit (let's call it BBC for bisect breaking commit) and later fixed by another one (let's call it BFC for bisect fixing commit).
pt_BR: Para simplificar a discussão, supomos que a área não testável seja uma cadeia simples de commits e que ela foi criada por uma quebra introduzida por um commit (vamos chamá-lo de 'BBC' para o 'bisect' quebrado do commit) e posteriormente corrigida por outro (vamos chamá-lo de 'BFC' para o 'bisect' que vai corrigir o commit).

note: type: Plain text
en: where we know that Y is good and BFC is bad, and where BBC and X1 to X6 are untestable.
pt_BR: onde sabemos que 'Y' é bom e 'BFC' é ruim e onde 'BBC' e de 'X1' até 'X6' onde os testes não sejam possíveis.

note: type: Plain text
en: In this case if you are bisecting manually, what you can do is create a special branch that starts just before the BBC. The first commit in this branch should be the BBC with the BFC squashed into it. And the other commits in the branch should be the commits between BBC and BFC rebased on the first commit of the branch and then the commit after BFC also rebased on.
pt_BR: Neste caso, se estiver fazendo o bisecting manualmente, o que você pode fazer é criar uma ramificação especial que comece logo antes da "BBC". O primeiro commit neste ramo deve ser o "BBC" com o "BFC" compactado nele. E os outros commits no ramo devem ser os commits entre "BBC" e "BFC" reconstruídos no primeiro commit do ramo e depois o commit após o BFC também ter sido reconstruído.

note: type: Plain text
en: where commits quoted with ' have been rebased.
pt_BR: onde os commits citados com ' foram reconstruídos na sua base (rebased).

note: type: Plain text
en: You can easily create such a branch with Git using interactive rebase.
pt_BR: Você pode criar facilmente um ramo com o Git usando reconstrução interativa.

note: type: Plain text
en: For example using:
pt_BR: Utilizando por exemplo:

note: type: Plain text
en: and then moving BFC after BBC and squashing it.
pt_BR: e depois mover o 'BFC' após o 'BBC' e esmagá-lo.

note: type: Plain text
en: After that you can start bisecting as usual in the new branch and you should eventually find the first bad commit.
pt_BR: Depois disso, é possível começar a dividir normalmente no novo ramo e eventualmente, encontrar o primeiro commit com problemas.

note: type: Plain text
en: If you are using "git bisect run", you can use the same manual fix up as above, and then start another "git bisect run" in the special branch. Or as the "git bisect" man page says, the script passed to "git bisect run" can apply a patch before it compiles and test the software <<8>>. The patch should turn a current untestable commits into a testable one. So the testing will result in "good" or "bad" and "git bisect" will be able to find the first bad commit. And the script should not forget to remove the patch once the testing is done before exiting from the script.
pt_BR: Caso esteja utilizando o comando `git bisect run`, é possível utilizar a mesma correção manual acima e em seguida, iniciar outro comando `git bisect run` no ramo especial. Ou como diz na página do manual `git bisect`, o script passado ao `git bisect run` pode aplicar um patch antes de compilar e testar o software <<8>>. O patch deve transformar um commit atual não testável em um testável. Portanto, o teste resultará em "bom" ou "ruim" e o comando `git bisect` será capaz de encontrar o primeiro commit que estiver ruim. O script não deve se esquecer de remover o patch assim que o teste for concluído antes de encerrar o script.

note: type: Plain text
en: (Note that instead of a patch you can use "git cherry-pick BFC" to apply the fix, and in this case you should use "git reset --hard HEAD^" to revert the cherry-pick after testing and before returning from the script.)
pt_BR: (Observe que, em vez de um patch, é possível utilizar o comando "git cherry-pick BFC" para aplicar a correção e neste caso, utilizar o comando "git reset --hard HEAD^" para reverter a escolha seletiva após o teste e antes de retornar do script.)

note: type: Plain text
en: But the above ways to work around untestable areas are a little bit clunky. Using special branches is nice because these branches can be shared by developers like usual branches, but the risk is that people will get many such branches. And it disrupts the normal "git bisect" work-flow. So, if you want to use "git bisect run" completely automatically, you have to add special code in your script to restart bisection in the special branches.
pt_BR: Porém as maneiras demonstradas acima para solucionar as áreas não testáveis são um pouco atrapalhadas. Utilizar os ramos especiais é bom porque estas ramificações podem ser compartilhadas pelos desenvolvedores como ramos comuns, porém o risco é que as pessoas obtenham muitos ramos. E isso interrompe o fluxo de trabalho normal "git bisect". Portanto, caso queira utilizar o "git bisect run" automaticamente, precisará adicionar um código especial ao seu script para reiniciar a bisseção nos ramos especiais.

note: type: Plain text
en: Anyway one can notice in the above special branch example that the Z' and Z commits should point to the same source code state (the same "tree" in git parlance). That's because Z' result from applying the same changes as Z just in a slightly different order.
pt_BR: De qualquer forma, pode-se notar no exemplo do ramo especial acima que os commit Z' e Z devem apontar para a mesma condição do código-fonte (a mesma "árvore" da linguagem git). Isso ocorre porque Z' resulta da aplicação das mesmas alterações que Z em uma ordem ligeiramente diferente.

note: type: Plain text
en: So if we could just "replace" Z by Z' when we bisect, then we would not need to add anything to a script. It would just work for anyone in the project sharing the special branches and the replacements.
pt_BR: Portanto, se pudéssemos "substituir" 'Z' por 'Z' quando fazemos o 'bisect', não precisaríamos adicionar nada em um script. Funcionaria apenas para qualquer pessoa no projeto que compartilhasse as ramificações especiais e as substituições.

note: type: Plain text
en: With the example above that would give:
pt_BR: Com o exemplo acima, isso daria:

note: type: Plain text
en: That's why the "git replace" command was created. Technically it stores replacements "refs" in the "refs/replace/" hierarchy. These "refs" are like branches (that are stored in "refs/heads/") or tags (that are stored in "refs/tags"), and that means that they can automatically be shared like branches or tags among developers.
pt_BR: É por isso que o comando "git replace" foi criado. Tecnicamente, ele armazena as substituições das refs na hierarquia "refs/replace/". Estas refs são como ramificações (que são armazenadas em "refs/heads/") ou nas tags (que são armazenadas em "refs/tags"), isso significa que eles podem ser automaticamente compartilhados como ramificações ou tags entre os desenvolvedores.

note: type: Plain text
en: "git replace" is a very powerful mechanism. It can be used to fix commits in already released history, for example to change the commit message or the author. And it can also be used instead of git "grafts" to link a repository with another old repository.
pt_BR: O comando "git replace" é um mecanismo muito poderoso. Pode ser utilizado para corrigir os commits no histórico já lançado, como por exemplo, alterar a mensagem do commit ou o autor do mesmo. E também pode ser utilizado em vez dos "enxertos" do git para vincular um repositório a um outro repositório antigo.

note: type: Plain text
en: In fact it's this last feature that "sold" it to the Git community, so it is now in the "master" branch of Git's Git repository and it should be released in Git 1.6.5 in October or November 2009.
pt_BR: De fato, é este o último recurso que o "vendeu" para a comunidade Git, agora está no ramo "master" do repositório Git do Git e deve ser lançado no Git 1.6.5 em outubro ou novembro de 2009.

note: type: Plain text
en: One problem with "git replace" is that currently it stores all the replacements refs in "refs/replace/", but it would be perhaps better if the replacement refs that are useful only for bisecting would be in "refs/replace/bisect/". This way the replacement refs could be used only for bisecting, while other refs directly in "refs/replace/" would be used nearly all the time.
pt_BR: Um problema com o comando "git replace" é que ele atualmente armazena todas as substituições refs no "refs/replace/", mas talvez seja melhor caso as substituições das refs de que são úteis apenas para a bisseção estivessem no "refs/replace/bisect/". Dessa maneira, a reposição das refs poderiam ser usados apenas para fazer a bisseção, enquanto as outras refs diretamente em "refs/replace/" seriam utilizadas quase que o tempo todo.

note: type: Title ~
en: Bisecting sporadic bugs
pt_BR: Erros esporádicos da bisseção

note: type: Plain text
en: Another possible improvement to "git bisect" would be to optionally add some redundancy to the tests performed so that it would be more reliable when tracking sporadic bugs.
pt_BR: Outra possível melhoria do "git bisect" seria adicionar opcionalmente alguma redundância aos testes que forem realizados, para que fosse mais confiável durante o rastreio de erros esporádicos.

note: type: Plain text
en: This has been requested by some kernel developers because some bugs called sporadic bugs do not appear in all the kernel builds because they are very dependent on the compiler output.
pt_BR: Isso foi solicitado por alguns desenvolvedores do kernel porque alguns erros chamados esporádicos não aparecem em todas as compilações porque são muito dependentes do que é gerado pelo compilador.

note: type: Plain text
en: The idea is that every 3 test for example, "git bisect" could ask the user to test a commit that has already been found to be "good" or "bad" (because one of its descendants or one of its ancestors has been found to be "good" or "bad" respectively). If it happens that a commit has been previously incorrectly classified then the bisection can be aborted early, hopefully before too many mistakes have been made. Then the user will have to look at what happened and then restart the bisection using a fixed bisect log.
pt_BR: A ideia é que a cada três testes por exemplo, o comando "git bisect" possa solicitar ao usuário que teste um commit que já foi considerado "bom" ou "ruim" (porque um de seus descendentes ou um dos seus ancestrais tenha sido encontrado como sendo "bom" ou "ruim", respectivamente). Caso um commit tenha sido previamente classificado incorretamente, a bisseção poderá ser interrompida mais cedo, antes que muitos erros possam ser cometidos. Em seguida, o usuário terá que verificar o que aconteceu e reiniciar a bisseção usando um registro log fixo do 'bisect'.

note: type: Plain text
en: There is already a project called BBChop created by Ealdwulf Wuffinga on Github that does something like that using Bayesian Search Theory <<9>>:
pt_BR: Já existe um projeto chamado 'BBChop' criado por Ealdwulf Wuffinga no Github que faz algo assim usando a Teoria Bayesiana de Pesquisa <<9>>:

note: type: delimited block _
en: BBChop is like 'git bisect' (or equivalent), but works when your bug is intermittent. That is, it works in the presence of false negatives (when a version happens to work this time even though it contains the bug). It assumes that there are no false positives (in principle, the same approach would work, but adding it may be non-trivial).
pt_BR: O BBChop é como o comando 'git bisect' (ou equivalente), mas funciona quando o seu bug for intermitente. Ou seja, funciona na presença dos falsos negativos (quando uma versão funcione embora contenha o erro). Assume que não há falsos positivos (em princípio, a mesma abordagem funcionaria, porém adicioná-la pode não ser trivial).

note: type: Plain text
en: But BBChop is independent of any VCS and it would be easier for Git users to have something integrated in Git.
pt_BR: Porém o 'BBChop' é independente de qualquer VCS e seria mais fácil para os usuários do Git ter algo integrado no Git.

note: type: Title -
en: Conclusion
pt_BR: Conclusão

note: type: Plain text
en: We have seen that regressions are an important problem, and that "git bisect" has nice features that complement very well practices and other tools, especially test suites, that are generally used to fight regressions. But it might be needed to change some work-flows and (bad) habits to get the most out of it.
pt_BR: Vimos que as regressões são um problema importante e que o comando "git bisect" possui recursos interessantes que complementam as boas práticas e outras ferramentas, especialmente os conjuntos de testes, que geralmente são usados para combater as regressões. Mas pode ser necessário alterar alguns fluxos de trabalho e hábitos (ruins) para tirar o máximo proveito disso.

note: type: Plain text
en: Some improvements to the algorithms inside "git bisect" are possible and some new features could help in some cases, but overall "git bisect" works already very well, is used a lot, and is already very useful. To back up that last claim, let's give the final word to Ingo Molnar when he was asked by the author how much time does he think "git bisect" saves him when he uses it:
pt_BR: Algumas melhorias nos algoritmos dentro do comando "git bisect" são possíveis e alguns novos recursos podem ajudar em alguns casos, porém o comando "git bisect" em geral já funciona muito bem, é muito usado e já é muito útil. Para apoiar essa última afirmação, vamos dar a palavra final ao Ingo Molnar, quando o autor lhe perguntou quanto tempo ele acha que o comando "git bisect" o salva quando ele o utiliza:

note: type: delimited block _
en: a _lot_.
pt_BR: _muito_.

note: type: delimited block _
en: About ten years ago did i do my first 'bisection' of a Linux patch queue. That was prior the Git (and even prior the BitKeeper) days. I literally days spent sorting out patches, creating what in essence were standalone commits that i guessed to be related to that bug.
pt_BR: Cerca de dez anos atrás, eu fiz minha primeira "bisseção" de uma fila de patches do Linux. Isso foi antes dos dias do Git (e mesmo antes do "BitKeeper"). Eu literalmente passei os dias resolvendo os patches, criando o que em essência eram compromissos independentes que eu acho que estavam relacionados com este bug.

note: type: delimited block _
en: It was a tool of absolute last resort. I'd rather spend days looking at printk output than do a manual 'patch bisection'.
pt_BR: Foi uma ferramenta de último recurso absoluta. Prefiro passar dias olhando a saída do 'printk' do que fazer uma 'bisseção dos patches' manualmente.

note: type: delimited block _
en: With Git bisect it's a breeze: in the best case i can get a ~15 step kernel bisection done in 20-30 minutes, in an automated way. Even with manual help or when bisecting multiple, overlapping bugs, it's rarely more than an hour.
pt_BR: Com o Git bisect, é fácil: no melhor dos casos, é possível obter uma bisseção do kernel com ~15 passos entre 20 a 30 minutos de maneira automatizada. Mesmo com ajuda manual ou ao dividir vários bugs acumulados, raramente leva mais de uma hora.

note: type: delimited block _
en: In fact it's invaluable because there are bugs i would never even _try_ to debug if it wasn't for git bisect. In the past there were bug patterns that were immediately hopeless for me to debug - at best i could send the crash/bug signature to lkml and hope that someone else can think of something.
pt_BR: Na verdade, é inestimável porque existem bugs que eu nem tentaria depurar caso não fosse pelo comando `git bisect`. No passado, havia padrões de bug que eram imediatamente inúteis para se depurar - na melhor das hipóteses eu poderia enviar a assinatura da falha/bug para o 'lkml' e esperar que alguém pudesse pensar em algo.

note: type: delimited block _
en: And even if a bisection fails today it tells us something valuable about the bug: that it's non-deterministic - timing or kernel image layout dependent.
pt_BR: E ainda que uma bisseção falhe, hoje ela nos diz algo valioso sobre o bug: que é não determinístico - depende do tempo ou do layout da imagem do kernel.

note: type: delimited block _
en: So git bisect is unconditional goodness - and feel free to quote that ;-)
pt_BR: Portanto, o comando 'git bisect' é uma bondade incondicional e fique à vontade para citar isso ;-)

note: type: Title -
en: Acknowledgments
pt_BR: Agradecimentos

note: type: Plain text
en: Many thanks to Junio Hamano for his help in reviewing this paper, for reviewing the patches I sent to the Git mailing list, for discussing some ideas and helping me improve them, for improving "git bisect" a lot and for his awesome work in maintaining and developing Git.
pt_BR: Meus agradecimentos ao Junio Hamano por sua ajuda na revisão deste documento, por revisar os patches que enviei para a lista de discussão do Git, por discutir algumas ideias e por me ajudar a melhorá-las, por melhorar muito o "git bisect" e por seu incrível trabalho em manter e desenvolvendo o Git.

note: type: Plain text
en: Many thanks to Ingo Molnar for giving me very useful information that appears in this paper, for commenting on this paper, for his suggestions to improve "git bisect" and for evangelizing "git bisect" on the linux kernel mailing lists.
pt_BR: Meus agradecimentos ao Ingo Molnar por me fornecer informações muito úteis que aparecem neste artigo, por comentar este artigo, pelas suas sugestões para melhorar o "git bisect" e por evangelizar o "git bisect" nas listas de discussão do kernel do linux.

note: type: Plain text
en: Many thanks to Linus Torvalds for inventing, developing and evangelizing "git bisect", Git and Linux.
pt_BR: Meus agradecimentos ao Linus Torvalds por inventar, desenvolver e evangelizar "git bisect", Git e o Linux.

note: type: Plain text
en: Many thanks to the many other great people who helped one way or another when I worked on Git, especially to Andreas Ericsson, Johannes Schindelin, H. Peter Anvin, Daniel Barkalow, Bill Lear, John Hawley, Shawn O. Pierce, Jeff King, Sam Vilain, Jon Seymour.
pt_BR: Meus agradecimentos a muitas outras ótimas pessoas que ajudaram de um jeito ou de outro quando eu trabalhei no Git, especialmente ao Andreas Ericsson, Johannes Schindelin, H. Peter Anvin, Daniel Barkalow, Bill Lear, John Hawley, Shawn O. Pierce, Jeff King, Sam Vilain, Jon Seymour.

note: type: Plain text
en: Many thanks to the Linux-Kongress program committee for choosing the author to given a talk and for publishing this paper.
pt_BR: Meus agradecimentos ao comitê do programa Linux-Kongress por escolher o autor para dar uma palestra e por publicar este artigo.

note: type: Title -
en: References
pt_BR: Referências

note: type: Plain text
en: [[[1]]] https://www.nist.gov/sites/default/files/documents/director/planning/report02-3.pdf['The Economic Impacts of Inadequate Infratructure for Software Testing'.  Nist Planning Report 02-3], see Executive Summary and Chapter 8.
pt_BR: [[[1]]] https://www.nist.gov/sites/default/files/documents/director/planning/report02-3.pdf['The Economic Impacts of Inadequate Infratructure for Software Testing'.  Nist Planning Report 02-3], Consulte o Resumo Executivo e o Capítulo 8.

note: type: Plain text
en: [[[3]]] https://en.wikipedia.org/wiki/Software_maintenance['Software maintenance'. Wikipedia.]
pt_BR: [[[3]]] https://en.wikipedia.org/wiki/Software_maintenance['Manutenção do Software'. Wikipedia.]

note: type: Plain text
en: [[[4]]] https://lore.kernel.org/git/7vps5xsbwp.fsf_-_@assigned-by-dhcp.cox.net/[Junio C Hamano. 'Automated bisect success story'.]
pt_BR: [[[4]]] https://lore.kernel.org/git/7vps5xsbwp.fsf_-_@assigned-by-dhcp.cox.net/[Junio C Hamano. 'A História de sucesso de um bisect automatizado'.]

note: type: Plain text
en: [[[5]]] https://lwn.net/Articles/317154/[Christian Couder. 'Fully automated bisecting with "git bisect run"'. LWN.net.]
pt_BR: [[[5]]] https://lwn.net/Articles/317154/[Christian Couder. 'Um bisect totalmente automatizado com "git bisect run"'. LWN.net.]

note: type: Plain text
en: [[[6]]] https://lwn.net/Articles/277872/[Jonathan Corbet. 'Bisection divides users and developers'. LWN.net.]
pt_BR: [[[6]]] https://lwn.net/Articles/277872/[Jonathan Corbet. 'A bisseção divide usuários e os desenvolvedores'. LWN.net.]

note: type: Plain text
en: [[[8]]] https://www.kernel.org/pub/software/scm/git/docs/git-bisect.html[Junio C Hamano and the git-list. 'git-bisect(1) Manual Page'. Linux Kernel Archives.]
pt_BR: [[[8]]] https://www.kernel.org/pub/software/scm/git/docs/git-bisect.html[Junio C Hamano and the git-list. 'git-bisect(1) Página do Manual'. Arquivos do Linux Kernel.]
