Git
Português (Brasil) ▾ Topics ▾ Latest version ▾ git-init last updated in 2.33.0

NOME

git-init - Cria um repositório Git vazio ou reinicializa um já existente

RESUMO

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]

DESCRIÇÃO

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.

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.

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.

É 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).

OPÇÕES

-q
--quiet

Exiba apenas mensagens de erro e aviso; suprima todas as outras mensagens.

--bare

Crie um repositório simples. Caso a variável de ambiente GIT_DIR não esteja definido, defina diretório de trabalho atual.

--object-format=<formato>

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.

--template=<diretório-modelo>

Especifique o diretório de onde os modelos serão utilizados. (Consulte a seção "DIRETÓRIO MODELO" abaixo.)

--separate-git-dir=<dir git>

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.

Caso seja reinicializado, o repositório será movido para um caminho determinado.

-b <nome-do-ramo
--initial-branch=<nome-do-ramo>

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.

--shared[=(false|true|umask|group|all|world|everybody|0xxx)]

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).

A opção pode ter os seguintes valores, predefinido como group caso nenhum valor seja informado:

umask (ou false)

Utilize as permissões informadas por umask(2). É a predefinição quando --shared não é utilizado.

group (ou true)

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.

all (world ou everybody)

O mesmo que group, mas torna o repositório legível por todos os usuários.

0xxx

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.

É 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.

Caso utilize um diretório, o comando será executado dentro dele. E caso o diretório não exista, um será criado.

DIRETÓRIO MODELO

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.

O diretório modelo será um dos seguintes (em ordem):

  • o argumento utilizado com a opção --template;

  • o conteúdo da variável de ambiente $GIT_TEMPLATE_DIR;

  • a variável de configuração init.templateDir; ou

  • A predefinição do diretório modelo: /usr/share/git-core/templates.

A predefinição do diretório modelo inclui alguma estrutura de diretórios, "padrões de exclusão" sugeridos (consulte gitignore[5]) e os arquivos gancho de amostragem.

Por predefinição os ganchos de amostragem estão todos desativados. Para ativar um dos ganchos de amostragem, renomeie-o removendo o sufixo .sample.

Para um apanhado geral sobre execução hook consulte githooks[5].

EXEMPLOS

Inicie um novo repositório Git na base de um código já existente
$ cd /path/to/my/codebase
$ git init      (1)
$ git add .     (2)
$ git commit    (3)
  1. Cria um diretório /path/to/my/codebase/.git.

  2. Adicione todos os arquivos existentes ao índice.

  3. Registre o estado intocado como o primeiro commit no histórico.

GIT

Parte do conjunto git[1]