Git (inicialização de repositório local)

A criação de repositório git local pode ser útil quando um projeto ainda não possui um repositório remoto. Nesse caso serão necessárias mais configurações do que no caso o repositório remoto já exista.

 

Inicializar repositório em diretório local

$ mkdir -p /opt/git/app1
$ cd /opt/git/app1
$ git init
  • Essa operação não será necessária se o repositório remoto já estiver criado e inicializado, nesse caso use a opção para clonar repositório;
  • O primeiro commit irá criar a branch local denominada master;

 

Adicionar repositório remoto

# Adicionar repositório remoto em diretório local app1-server
$ cd /opt/git/app1
$ git remote add [NOME] [CAMINHO]
$ git remote add local-app1-server /opt/git/app1-server
$ git remote add github git@github.com:reinaldoc/app1.git
  • O repositório remoto padrão é comumente denominado como origin
  • Um repositório remoto pode ser renomeado com o comando: git remote rename [NOME1] [NOME2]

 

Obter modificações salvas (commits)

$ git pull [NOME] [BRANCH]
$ git pull local-app1-server master

 

Enviar modificações salvas (commits)

$ git push [NOME] [BRANCH]
$ git push -u local-app1-server master
  • A opção -u define como padrão o repositório remoto para a branch indicada;

 

Inicializar repositório que será somente remoto

Um repositório remoto é utilizado para obtenção (pull) e envio (push) dos commits, ainda que seja para outro diretório local.

# Inicializar repositório que será remoto
$ mkdir -p /opt/git/app1-server
$ cd /opt/git/app1-server
$ git init --bare
  • A opção –bare é utilizada para repositórios em servidor que mantém apenas o histórico de alterações dentro do diretório .git, sem armazenar os arquivos construídos, ou seja, é um repositório sem Working tree. Isso pode ser útil para reduzir o espaço de armazenamento utilizado para repositórios remotos sem interface web.
  • Para construir a Working tree:
    • git –git-dir=”[path-bare-repo]” –work-tree=”[path-destination]” checkout -f

 

Hooks

Hooks permitem a execução de código (ex: shell-script) antes ou após determinados eventos.

Consulte o site Git Hooks

$ cd /opt/git/app1/.git/hooks
$ cat<code>post-receive</code>
cp /opt/git/app1/index.html /var/www/