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.30.1 → 2.34.1 no changes
- 2.30.0 12/27/20
- 2.29.1 → 2.29.3 no changes
- 2.29.0 10/19/20
- 2.28.1 no changes
- 2.28.0 07/27/20
- 2.27.1 no changes
- 2.27.0 06/01/20
- 2.21.1 → 2.26.3 no changes
- 2.21.0 02/24/19
- 2.13.7 → 2.20.5 no changes
- 2.12.5 09/22/17
- 2.10.5 → 2.11.4 no changes
- 2.9.5 07/30/17
- 2.5.6 → 2.8.6 no changes
- 2.4.12 05/05/17
- 2.3.10 no changes
- 2.2.3 09/04/15
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.
-
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].
GIT
Parte do conjunto git[1]