Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.33.1 → 2.34.1 no changes
- 2.33.0 08/16/21
- 2.30.1 → 2.32.0 no changes
- 2.30.0 12/27/20
- 2.23.1 → 2.29.3 no changes
- 2.23.0 08/16/19
- 2.22.1 → 2.22.5 no changes
- 2.22.0 06/07/19
- 2.21.1 → 2.21.4 no changes
- 2.21.0 02/24/19
- 2.19.1 → 2.20.5 no changes
- 2.19.0 09/10/18
- 2.18.1 → 2.18.5 no changes
- 2.18.0 06/21/18
- 2.15.4 → 2.17.6 no changes
- 2.14.6 12/06/19
- 2.13.7 05/22/18
- 2.12.5 09/22/17
- 2.9.5 → 2.11.4 no changes
- 2.8.6 07/30/17
- 2.7.6 07/30/17
- 2.6.7 05/05/17
- 2.5.6 no changes
- 2.4.12 05/05/17
- 2.3.10 no changes
- 2.2.3 09/04/15
DESCRIÇÃO
- alternate object database (banco de dados alternativo do objeto)
-
Através do mecanismo alternativo, um repositório pode herdar parte do seu banco de dados do objeto vindo de outro banco de dados de objeto, chamado "alternativo".
- bare repository (repositório simples)
-
Um repositório simples normalmente é um diretório 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óriorepository.git
, e nenhum outro arquivo está presente e é retirado. Normalmente, os editores dos repositórios públicos disponibilizam repositórios simples. - blob object (objeto bolha)
-
Um objeto sem tipo, como por exemplo, o conteúdo de um arquivo.
- branch (ramo)
-
Um "ramo" é uma linha ativa de desenvolvimento. O commit mais recente em um ramo é referido como o cume deste ramo. O cume do ramo é referenciado por um ramo head, que avança à medida que o desenvolvimento adicional é feito no ramo. Um único Git repositório pode monitorar um número arbitrário de ramos, porém a sua árvore de trabalho está associada apenas a uma delas (o ramo "atual" ou "averiguado") e HEAD aponte para esse ramo.
- cache
-
É obsoleto para: índice.
- chain (cadeia ou corrente)
-
Uma lista dos objetos onde cada objeto objeto contém uma referência ao seu sucessor (como por exemplo, o sucessor de um commit pode ser uma das suas origens).
- changeset (conjunto de alterações)
-
O BitKeeper/cvsps fala por "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.
- checkout (averiguação)
-
A ação de atualizar todos ou parte da árvore de trabalho com o objeto da árvore ou bolha vindo do banco de dados do objeto, e atualizando o índice e HEAD caso toda a árvore tenha um ponteiro para um novo ramo.
- cherry-picking (escolha-seletiva)
-
No jargão 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 commit já existente e registrá-lo com base no cume do ramo atual como um novo commit. - clean (limpar, limpeza)
-
Uma árvore de trabalho está limpa, caso corresponda à revisão referenciada pelo cabeçalho atual. Consulte também "dirty".
- commit
-
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 objeto commit.
- commit object (objeto commit)
-
Um objeto objeto, que contém as informações sobre uma revisão específica, como origem, de quem fez o commit, o autor, a data e o objeto árvore que corresponde diretório da revisão que foi armazenada.
- commit-ish (também committish)
-
Um objeto commit ou um 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 objeto tag que aponta para um objeto commit, um objeto tag que aponta para um objeto tag que aponta para um objeto commit, etc.
- core Git (núcleo do Git)
-
Estruturas de dados e utilitários fundamentais do Git. Expõe apenas as ferramentas limitadas ao gerenciamento de código-fonte.
- DAG
-
Gráfico acíclico dirigido. Os 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 cadeia que comece e termine com o mesmo objeto).
- dangling object (objeto pendurado, pendente)
-
Um objeto objeto inacessível que não seja 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 objeto no repositório.
- detached HEAD (HEAD desanexado, CABEÇA desanexada)
-
Normalmente, o HEAD armazena o nome do 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ê averigue um 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).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 oHEAD
for desanexado. Eles atualizam oHEAD
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 comandogit 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. - directory (diretório)
-
A lista que você consegue com "ls" :-)
- dirty (sujo)
-
Se diz que uma árvore de trabalho está "suja" caso contenha alterações que não foram feito os commits no ramo atual.
- evil merge (mesclagem má, mau, ruim)
-
Uma mesclagem má é uma mesclagem que introduz as alterações que não aparecem em nenhuma origem.
- fast-forward (avanço-rápido)
-
Um avanço rápido é um tipo especial de mesclagem, onde você tem uma revisão e está "mesclando" outras alterações do ramo que são descendentes do que você tem. Nesse caso, você não faz um merge commit, apenas atualiza a revisão dele. Isso acontecerá frequentemente em um ramo monitorado remotamente de um repositório remoto.
- fetch (busca)
-
Busque um ramo significa obter o cabeçalho ref de um ramo remoto repositório, para descobrir quais os objetos estão faltando no local banco de dados do objeto e para obtê-los também. Consulte também git-fetch[1].
- file system (sistema de arquivo)
-
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.
- Git archive (arquivo Git)
-
É um sinônimo para repositório (para o pessoal do arch).
- gitfile
-
Um arquivo simples
.git
na raiz de uma árvore em funcionamento que aponte para o diretório que seja o repositório real. - grafts (grafos)
-
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 parents um commit tenha é diferente do que foi registrado quando o commit foi criado. Configurado através do arquivo
.git/info/grafts
.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 git-replace[1] para um sistema mais flexível e robusto.
- hash
-
Em termos do Git, é um sinônimo para nome do objeto.
- head (cabeçalho, cabeça)
-
Um named reference para o commit no topo do ramo. Os
HEADS
são armazenados em um arquivo no diretório$GIT_DIR/refs/heads/
, exceto quando é utilizado umref
empacotado. (Consulte git-pack-refs[1].) - HEAD (CABEÇALHO, CABEÇA)
-
O ramo atual. Com mais detalhes: A sua árvore de trabalho normalmente deriva da condição da referência da árvore através do
HEAD
. OHEAD
é a referência para um dos cabeçalhos no seu repositório, exceto quando utilizar um HEAD desanexado, neste caso, referencia diretamente um commit arbitrário. - head ref (referência do cabeçalho)
-
É um sinônimo para cabeçalho.
- hook (gancho)
-
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. - index (índice)
-
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 á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 mesclado.
- index entry (lançamento, entrada do índice)
-
As informações sobre um determinado arquivo, armazenadas no índice. Uma entrada do índice pode ter a mesclagem removida, caso uma mesclagem seja iniciada, porém ainda não foi concluído (ou seja, caso o índice contenha várias versões deste arquivo).
- master (mestre)
-
O desenvolvimento predefinido do ramo. Sempre quando você cria um 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.
- merge (mesclar, mesclagem, juntar, combinar, misturar, fundir-se, unir, ligar-se)
-
Como verbo: Para trazer o conteúdo de outro ramo (possivelmente de um repositório externo) para o ramo atual. No caso onde a ramificação mesclada seja de um repositório diferente, primeiro isto é feito ao 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 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.
Como substantivo: a menos que seja um avanço rápido, uma mesclagem bem-sucedida resulta na criação de um novo commit representando o resultado da mesclagem e tendo como parentes as dicas das ramificações. Este commit refere-se ao chamado "merge commit" (commit da mesclagem) ou às vezes, apenas como "mesclagem".
- object (objeto)
-
A unidade de armazenamento no Git. Ele é identificado exclusivamente pelo SHA-1 do seu conteúdo. Consequentemente, um objeto não pode ser alterado.
- object database (banco de dados do objeto)
-
Armazena o conjunto de "objetos", e um objeto individual é identificado pelos seus nomes dos objetos. Geralmente o objeto reside no
$GIT_DIR/objects/
. - object identifier (identificador do objeto)
-
É um sinônimo para o nome do objeto.
- object name (nome do objeto)
-
O identificador único para um objeto. O nome do objeto geralmente é representado por uma sequência com 40 caracteres hexadecimais. Também chamado coloquialmente de SHA-1.
- tipo do objeto
-
Um dos identificadores "commit", "árvore", "tag" ou "bolha" descrevendo o tipo de um objeto.
- octopus (polvo)
-
Para mesclar mais de duas ramificações.
- origin (origem)
-
O 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 ramo monitorado remotamente chamado origin/name-of-upstream-branch, que você pode ver usando o comando
git branch -r
. - overlay (cobrir, revestir, sobrepor, capa, camada)
-
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 checkout ao fazer averiguação dos arquivos vindo do índice ou 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.
- pack (pacote)
-
Um conjunto de objetos que foram compactados em um arquivo (para economizar espaço ou transmiti-los com eficiência).
- pack index (índice do pacote)
-
A lista de identificadores e das outras informações dos objetos em um pacote, para ajudar no acesso eficiente ao conteúdo de um pacote.
- pathspec (a especificação do caminho)
-
O padrão utilizado para limitar os caminhos nos comandos do Git.
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:
-
qualquer caminho corresponde a si próprio
-
o pathspec até a última barra representa um prefixo do diretório. O escopo deste pathspec é limitado a esta subárvore.
-
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.
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.
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.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.Um pathspec com apenas dois pontos significa "não há um pathspec". Este formulário não deve ser combinado com um outro pathspec.
- top
-
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. - literal
-
Curingas no padrão como
*
ou?
são tratados como caracteres literais. - icase
-
Coincidência indiferente a letras maiúsculas ou minúsculas.
- glob
-
O Git trata o padrão como um "shell glob" adequado para o consumo do
fnmatch(3)
com a sinalizaçãoFNM_PATHNAME
: curingas no padrão não corresponderão com opathname
. Por exemplo, "Documentation/*.html" coincide com "Documentation/git.html", mas não com "Documentation/ppc/ppc.html" ou "tools/perf/Documentation/perf.html".Dois asteriscos consecutivos ("
**
") nos padrões coincidentes aopathname
completo podem ter um significado especial:-
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
". -
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. -
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. -
Os outros asteriscos consecutivos são considerados inválidos.
A magica "glob" é incompatível com a mágica literal.
-
- attr
-
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 dopathspec
. Consulte gitattributes[5].Cada um dos requisitos de atributo para o caminho assume uma destas formas:
-
"
ATTR
" requer que o atributoATTR
seja definido. -
"
ATTR
" requer que o atributoATTR
não seja definido. -
"
ATTR=VALUE
" requer que o atributoATTR
seja definido como a stringVALUE
. -
"
!ATTR
"requer que o atributo` ATTR` não seja especificado.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.
-
- exclude (excluí)
-
Depois que um caminho coincida com qualquer
pathspec
que não foi excluído ele será executado em todos ospathspecs
que foram excluídos (assinatura mágica:!
or its synonym^
). Caso coincida, o caminho é ignorado. Quando não há umpathspec
não excluído a exclusão é aplicada ao conjunto de resultados como se fosse invocada sem nenhumpathspec
.
-
- parent (pai, origem, matriz)
-
Um objeto commit contém uma lista (possivelmente vazia) dos predecessores lógicos na linha de desenvolvimento, ou seja, as suas origens.
- pickaxe
-
O termo 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 changeset que introduziu ou removeu, digamos, uma determinada linha de texto. Consulte git-diff[1]. - plumbing (encanamento)
-
Um nome bonito para núcleo do Git.
- porcelain (porcelana)
-
Nome bonito para programas e conjunto de programas, dependendo do núcleo do Git, apresentando um acesso de alto nível ao núcleo do Git principal. As porcelanas expõem mais uma interface SCM do que o plumbing.
- per-worktree ref (referência por árvore de trabalho)
-
As refs que são por-árvore de trabalho em vez de global. Atualmente isto é apresentado apenas como HEAD e qualquer outra
refs
que inicie comrefs/bisect/
, mas podem posteriormente, incluir outrasrefs
incomuns. - pseudoref (pseudo referência)
-
Pseudorefs
são uma classe de arquivos em$GIT_DIR
que se comporta comorefs
para fins de análise de revisão, no entanto, são tratados especialmente pelo git. Ospseudorefs
têm nomes com maiúsculas e sempre começam com uma linha que consiste em SHA-1, seguido por um espaço. Portanto,HEAD
não é umpseudoref
pois às vezes é umref
simbólico. Opcionalmente eles podem conter alguns dados adicionais. São exemplosMERGE_HEAD
eCHERRY_PICK_HEAD
. Ao contrário do per-worktree refs, estes arquivos não podem serrefs
simbólicos e nunca possuem umreflogs
. Eles também não podem ser atualizados através do mecanismoref
normal de atualização. Em vez disso, eles são atualizados gravando diretamente nos arquivos. No entanto, eles podem ser lidos como se fossemrefs
, portanto,git rev-parse MERGE_HEAD
funcionará. - pull (captura, puxar, atrair, apertar)
-
Captura um ramo significa fetch (obter) e merge (mesclar). Consulte também git-pull[1].
- push (impulsionar, impulso, empurrar, apertar, pressionar, forçar, investida)
-
Fazer um impulsionamento ao ramo significa pegar a ref do cabeçalho do ramo de um 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 acessíveis com base na ref do cabeçalho local e que estão faltando a partir do repositório remoto, para o banco de dados do objeto que atualiza a ref do cabeçalho remoto. Caso o cabeçalho não seja um ancestral do cabeçalho local, o impulsionamento (push) vai falhar.
- reachable (acessível ou alcançável)
-
Todos os ancestrais de um determinado commit são considerados "reachable" (ou acessíveis) a partir deste commit. De um modo mais geral, um objeto é acessível a partir do outro se pudermos alcançá-lo através de um chain seguido de tags para o que quer que eles marque com uma tag, commits para as suas origens ou árvores, e as árvores para as árvores ou as bolhas que os contém.
- rebase (reconstrução da fundação ou reconstrução)
-
Para reaplicar uma série de alterações de uma ramo para uma base diferente e redefinir o head dessa ramificação para o resultado.
- ref (referência)
-
Um nome que comece com
refs/
(por exemplo,refs/heads/master
) que aponte para um object name ou outro ref (o último é chamado de ref simbólica). Por conveniência, umaref
as vezes pode ser abreviado quando utilizado como um argumento em um comando Git; Para mais detalhes consulte gitrevisions[7]. Asrefs
são armazenadas no repositório.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).Existem algumas referências especiais que não começam com
refs/
. O exemplo mais notável éHEAD
. - reflog
-
Um
reflog
exibe o "histórico" local de umaref
. 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 git-reflog[1]. - refspec
-
Um
refspec
é utilizado por fetch e push para descrever o mapeamento entre ref remoto e oref
local. - remote repository (repositório remoto)
-
Um repositório que é utilizado para rastrear os mesmo projeto porém reside em um outro lugar. Para se comunicar com ramos remotos, consulte fetch ou push.
- remote-tracking branch (monitorando os ramos remotamente)
-
Um ref que é utilizado para rastrear as modificações de outro 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 refspec. Um ramo monitorado remotamente não deve conter alterações diretas, tão pouco, ter commits locais. - repository (repositório)
-
Uma coleção de refs junto com um banco de dados do objeto contendo todos os objetos que são acessível vindas das
refs
, possivelmente acompanhados por metadados de um ou mais porcelanas. Um repositório pode compartilhar um banco de dados de objetos com outros repositórios através de mecanismo alternativo. - resolve
-
A ação de corrigir manualmente o que uma falha automática mesclagem deixou para trás.
- revision (revisão)
-
Um sinônimo de commit (o substantivo).
- rewind (rebobinar, retroceder)
-
Para jogar fora parte do desenvolvimento, ou seja, atribuir head a um revisão anterior.
- SCM
-
Gerenciamento do código fonte (ferramenta).
- SHA-1
-
"Secure Hash Algorithm 1"; uma função hash de criptográfica. No contexto do Git utilizado como sinônimo de object name.
- shallow clone (clonagem superficial)
-
Em geral um sinônimo para shallow repository porém a frase a torna mais explicita criada ao executar o comando
git clone --depth=...
. - shallow repository (repositório raso)
-
Um repositório repositório raso possui um histórico incompleto da quais commits possui parents dos quais cauterizam (em outras palavras, o Git é informado para fingir que estes commits não possuam origens, ainda que esteja cadastrados no 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 git-clone[1] e o seu histórico pode ser aprofundado posteriormente com git-fetch[1]. - stash entry (lançamento para estocagem)
-
Um objeto é utilizado para armazenar temporariamente o conteúdo de um diretório de trabalho sujo e o seu índice para utilização futura.
- submodule (submódulo)
-
Um repositório retém o histórico de um projeto separado dentro de um outro repositório (o último na qual é chamado de superproject).
- superproject (superprojeto)
-
Um repositório se refere a repositórios de outros projetos em suas próprias árvores de trabalho como 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.
- symref (referência simbólica)
-
Uma referência simbólica: em vez de conter o próprio id SHA-1, ele tem o formato ref: refs/some/thing e quando é referenciado faz uma referência recursiva a essa referência. HEAD é o exemplo primário de um
symref
. As referências simbólicas são manipuladas com o comando git-symbolic-ref[1]. - tag (etiqueta)
-
Um ref sob
refs/tags/
no espaço de nomes que aponte para um objeto arbitrário (em geral uma tag que aponta seja para tag ou um objeto commit). Em contraste de um head, a tag não é atualizada pelo comandocommit
. Uma tag Git não tem nada a ver com uma tagLisp
(que seria chamada de object type dentro do contexto do Git). Uma tag é normalmente utilizada para marcar um ponto específico na ancestralidade de um commit chain. - objeto tag (objeto etiqueta, objeto da etiqueta)
-
Um objeto contendo um ref apontando para outro objeto que pode conter uma mensagem como um objeto commit. Também pode conter uma assinatura (PGP); nesse caso, é chamado de "signed tag object".
- topic branch (tópico do ramo)
-
Um Git comum 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.
- tree (árvore)
-
Entre um árvore de trabalho ou um objeto árvore junto com os objetos dependentes blob e os objetos das árvores (uma representação de uma árvore de trabalho).
- tree object (objeto árvore)
-
Um objeto contendo uma lista de nomes e modos em conjunto com
refs
associados as sua gotas e ou objetos da árvore. Um tree é equivalente a um diretório. - tree-ish (também treeish)
-
Um objeto árvore ou um objeto que pode perder uma referência recursivamente em um objeto da árvore. Perder um objeto commit retorna o objeto da árvore revisão correspondente ao topo diretório. São todos os tree-ishes: um commit-ish, um objeto da árvore, um 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.
- unmerged index (índices não mesclados)
-
Um índice que contenha índices não mesclados entradas do índice.
- unreachable object (objetos inacessíveis)
-
Um objeto que não é acessível de um ramo, tag, ou de qualquer outra referência.
- upstream branch (ramo upstream)
-
É predefinido que o 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
ebranch.<nome>.merge
. Caso o ramo "upstream" de A seja origin/B algumas vezes nós dizemos que "A está monitorando origin/B". - working tree (árvore de trabalho)
-
A árvore dos arquivos atualmente averiguados. A árvore de trabalho normalmente contém o conteúdo HEAD do commit da árvore, além de quaisquer alterações locais que você fizer, mas ainda o commit não foi feito.
GIT
Parte do conjunto git[1]