Git 🌙
Português (Brasil) ▾ Topics ▾ Latest version ▾ git-init last updated in 2.47.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>]
	  [--ref-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 ramo inicial sem qualquer commit (consulte o nome da opção --initial-branch abaixo).

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

Observação: No momento, não há interoperabilidade entre os repositórios SHA-256 e os repositórios SHA-1.

Alertamos no passado que os repositórios SHA-256 podem exigir alterações incompatíveis com versões anteriores quando implementamos estes recursos de interoperabilidade. Hoje, esperamos apenas alterações compatíveis. Além disso, se essas alterações forem necessárias, pode-se esperar que os repositórios SHA-256 criados com o Git atual possam ser usados por versões futuras do Git sem perda de dados.

--ref-format=<formato>

Define o formato de armazenamento de referência fornecido para o repositório. Os valores válidos são:

Warning

Missing pt_BR/ref-storage-format.txt

See original version for this content.

--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 uma reinicialização, 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 (atualmente master porém isso está para mudar no futuro; o nome pode ser personalizado através da variável de configuração init.defaultBranch.

--shared[=(false|true|umask|group|all|world|everybody|<perm>)]

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.

<perm>

<perm> é um número octal com 3 dígitos prefixado com 0 e cada arquivo terá o modo <perm>. <perm> 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 (os diretórios e os arquivos executáveis recebem seu bit x do bit r para as classes correspondentes dos usuários).

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

CONFIGURAÇÃO

Warning

Missing pt_BR/includes/cmd-config-section-all.txt

See original version for this content.

Warning

Missing pt_BR/config/init.txt

See original version for this content.

GIT

Parte do conjunto git[1]

scroll-to-top