O Git é um sistema distribuído de controle de versão e gerenciamento de código-fonte. Ele foi inicialmente projetado e desenvolvido por Linus Torvalds para o desenvolvimento do kernel Linux e, desde então, vem sendo largamente adotado por desenvolvedores. Cada diretório de trabalho Git é um repositório completo com todos os históricos e capacidade plena de controle de versões, independente de acesso à rede ou a um servidor central.

Clique aqui para obter maiores informações sobre o que é a ferramenta Git.

Veja a seguir como usar o Git na no ambiente da sua hospedagem.

Requisito:

Para utilizar o Git, seu domínio deve estar hospedado nos planos com ambiente de programação Linux da CentralServer. Não há custo adicional para uso da ferramenta.

Métodos que poderão ser utilizados para autenticar no repositório Git na sua conta de hospedagem

Como o Git será acessado via SSH, apresentamos dois mecanismos que podem ser usados para Autenticação. Partimos do princípio que você está usando sistema operacional Linux na sua máquina.

1. Usando autenticação com Senha

Se você optar por este método, a única vantagem é que não será necessário fazer qualquer configuração, porém toda vez que você tentar acessar o repositório Git, será necessário digitar sua senha de acesso SSH.

2. Usando autenticação RSA – Chave pública/privada

Este método de autenticação utiliza um par de chaves: uma pública (que será copiada para o servidor de hospedagem) e outra privada (que ficará armazenada localmente no diretório Home de seu usuário). A encriptação e decriptação são feitas usando chaves separadas e não é possível conseguir a chave de decriptação usando a chave de encriptação.

A vantagem deste método é que, além de seguro, uma vez configurado, sempre que você precisar se conectar ao repositório Git, não será solicitada a senha de acesso. Porém, será necessário executar os 3 passos de configuração apresentados abaixo em cada computador que terá acesso.

2.1 Gerando um par de chaves RSA

Passo A: Crie em sua máquina local, um par de chaves RSA (uma chave privada e uma chave pública) para autenticação.

Para isso execute o comando:

ssh-keygen -t rsa

Proceda conforme o exemplo abaixo:

ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/Caminho/ContaUsuárioLocal/.ssh/id_rsa): Apenas pressione ENTER

Enter passphrase (empty for no passphrase): Apenas pressione ENTER

Enter same passphrase again: Apenas pressione ENTER

Your identification has been saved in /Caminho/ContaUsuárioLocal/.ssh/id_rsa.

Your public key has been saved in /Caminho/ContaUsuárioLocal/.ssh/id_rsa.pub.

The key fingerprint is: 9c:5f:99:2b:55:04:cd:fd:7d:9c:93:3f:55:d5:37:bd ContaUsuárioLocal@cs010

The key’s randomart image is:

+–[ RSA 2048]—-+

| .+..=|

| .o.*|

| ..X|

| . . + E*|

| S = =|

| . o . ..|

| o . .|

| . |

| |

+—————–+

Serão criados os seguintes arquivos: ~/.ssh/id_rsa e ~/.ssh/id_rsa.pub

Passo B: Acesse o servidor de hospedagem via SSH, crie um diretório chamado .ssh e defina as permissões desse diretório para 700.

Utilize o seguinte exemplo de comando a partir da sua máquina local:

ssh SuaConta@SeuDominio “mkdir ~/.ssh; chmod 700 ~/.ssh”

O ssh irá solicitar sua senha de acesso. Basta digitá-la e pressionar <ENTER>.

Passo C: Após criar o diretório .ssh na sua hospedagem, siga as seguintes orientações para copiar sua chave pública para lá.

  • Se este for o PRIMEIRO computador que você esta configurando para ter acesso ao repositório, execute o seguinte comando:

scp ~/.ssh/id_rsa.pub SuaConta@SeuDominio:~/.ssh/authorized_keys

  • Se um primeiro computador já foi configurado, e você deseja prover permissão de acesso a outros computadores execute os seguintes comandos, uma linha por vez:

scp ~/.ssh/id_rsa.pub SuaConta@SeuDominio:~/.ssh/id_rsa.pub_tmp

ssh SuaConta@SeuDominio “cat ~/.ssh/id_rsa.pub_tmp >> ~/.ssh/authorized_keys; rm -f ~/.ssh/id_rsa.pub_tmp”

Pronto! Agora já é possível se conectar ao seu repositório de projetos Git, sem ter que digitar senha.

Git Básico

1. Criando um Repositório Git na sua hospedagem

  • Acesse o servidor de hospedagem via ssh:
    ssh SuaConta@SeuDominio
  • Crie um diretório com o nome de seu projeto seguido de ‘.git’ exemplo: “projeto_teste.git”:
    mkdir -p repo/projeto_teste.git
  • Acesse o diretório do projeto:
    cd repo/projeto_teste.git
  • Inicie o repositório remoto:
    git –bare init

2. Configurando o Repositório Local e enviado os primeiros dados para o Servidor de Hospedagem

  • Crie um diretório para ser o repositório local:
    mkdir ~/repo_local
  • Acesse o diretório que será utilizado como repositório local:
    cd ~/repo_local
  • Crie um diretório para receber o projeto de teste:
    mkdir ~/repo_local/projeto_teste
  • Acesse o diretório do projeto de teste:
    cd ~/repo_local/projeto_teste
  • Inicie o repositório local:
    git init
  • Se julgar necessário, adicione as informações sobre o desenvolvedor responsável pelo repositório local:
    git config user.name “Seu nome” git config user.email “SuaConta@SeuDominio”
  • Adicione o repositório remoto:
    git remote add origin ssh://SuaConta@SeuDominio/~/repo/projeto_teste.git
  • Crie um arquivo de teste no repositório local:
    vim arquivo_teste.txt
  • Adicione o arquivo ao projeto:
    git add .
  • Faça o commit do projeto:
    git commit -m “Meu primeiro commit de teste.”
  • Envie as alterações para o repositório remoto:
    git push origin master

3. Baixando o conteúdo do repositório Remoto para o Local

  • O comando abaixo faz um clone completo do conteúdo do repositório remoto em um repositório local:

git clone ssh://SuaConta@SeuDominio:~/repo/projeto_teste.git

AVISO LEGAL: Os procedimentos descritos neste documento devem ser executados de acordo com o contexto de cada sistema, de forma a evitar impactos negativos à segurança, disponibilidade, integridade e privacidade de dados. A CentralServer se reserva o direito de modificar a qualquer tempo e sem aviso prévio as informações aqui apresentadas a fim de refletir o lançamento de novos serviços, atualizações físicas e operacionais, e evolução do estado-da-arte da tecnologia.