image

Accede a bootcamps ilimitados y a más de 650 cursos

50
%OFF
Article image

RS

Rogério Souza07/03/2024 18:54
Compartir

git init inicializando seu compartilhamento

  • #Git

#GIT

command git init

Git inicialaziando seu versionamento de codigo

(Comando avaliado usando última versão do git a 2.44.0)

o comando git-init - em si cria um repositório Git vazio ou reinicializa um já existente,

para invoca-lo basta abrir um terminal e na pasta do projeto digitar:

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]

Abaixo descrevo cada uma das opções utilizadas:

Lembrando que este comando em si cria o arquivo .git vazio,

e também inicializa o branch main do repositorio do git

OBS: Caso a variável de ambiente $GIT_DIR esteja configurada, ela especificará um caminho a ser utilizado para a base dos repositórios em vez de ./.git.

Ou seja nã será setada no diretorio atual onde o usuário deu o comando.

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.

Até porque é 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). sendo somente nescessario anexar os arquivos depois com outro comando.

OPÇÕES

-q ou --quiet

Exiba apenas mensagens de erro e aviso; ignorando 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 ou ./.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> ou --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: main.

P.S. lembre-se que o nome master caiu em desuso e na versão atual usamos o nome main para designar

o branch principal.

exemplo de fork: git --initial-branch=patch-1

--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 arquivo 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 é omitido

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(não confunda com hexadecimal) 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

no terminal digite:

$ cd /nomeusuario/pastaususuario/nomeprojeto
$ git init
git init -q --template=.github --separate-git-dir .gitback --object-format=<formato> -b branch --initial-branch=main --shared 0660 /nomeusuario/pastadoususuario/nomeprojeto/

Isso cria o arquivo .git no diretório:

/nomeusuario/pastadoususuario/nomeprojeto/.git

com as definições informadas.

GIT

Comandos parte do conjunto #GIT.

subcomando git init

Fonte: documentação oficial

Autor: nexus-br

Compartir
Recomendado para ti
Microsoft 50 Anos - Prompts Inteligentes
Microsoft 50 Anos - GitHub Copilot
Microsoft 50 Anos - Computação em Nuvem com Azure
Comentarios (0)