Como criar e sincronizar um repositório Git

Introdução

Neste tutorial irei demonstrar passo a passo, como é prático e rápido a criação e sincronização de um repositório Git, bem como os comandos básicos mais utilizados.

Para a criação e/ou sincronização iremos contar com a ajuda do nosso amigo Git Bash via terminal ou se preferir utilize o cliente TortoiseGit.


Criando um repositório local

Abra o aplicativo Git Bash:

Iniciar > Git > Git Bash

No prompt de comando entramos no diretório do projeto, conforme o exemplo a seguir:
$ cd /c/xampp/htdocs/webmister
Onde webmister corresponde ao nome do seu projeto.

Para darmos início ao repositório Git (local), executamos o comando git init.
$ git init
Repositório git iniciado!

Agora crie um arquivo de texto dentro do seu projeto ou use o comando a seguir:
$ echo "Hello World" >> README.md

Caso queira ver o que está acontecendo antes de "comitar", use o comando git status.
$ git status

Agora para adicionarmos o arquivo recém criado ao Stage, use o comando git add.
$ git add README.md
Se desejar adicionar todos os arquivos,  troque o nome do arquivo pelo "ponto".
$ git add .

E pra finalizar, realizamos o primeiro commit com git commit.
$ git commit -am "First commit"

Detalhe, se após o "comite" você notar um erro na mensagem ou esquecido de adicionar algum outro arquivo, experimente comitar com o argumento --amend.
$ git add changelog.txt
$ git commit --amend -am "First commit"

Após executar todas essas operações, veja o histórico de commits com git log.
$ git log

Até aqui você se utilizou do Git para versionamento local apenas.


Sincronizando um repositório local com o remoto

Verifique se a pasta padrão de chaves SSH existem em seu computador com:
$ cd ~/.ssh
Caso contrário, execute o comando a seguir:
$ mkdir ~/.ssh

Certifique-se também de ter gerado as chaves SSH e instalado em um servidor remoto.
Como criar e instalar uma chave SSH no Github ou Bitbucket

No tutorial acima, veja na Figura 4 como carregar uma chave privada existente com o PuTTY, em seguida vá no menu "Conversions" e clique em "Export OpenSSH Key" para salvar na pasta ~/.ssh. Dê um nome para identificar, ex.: webmister.key.


Com a finalidade de simplificar toda vez que precisarmos fazer uma conexão remota, iremos usar o método ssh_config que nos permite configurar múltiplas identidades e domínios.

Abra o terminal e edite o arquivo ~/.ssh/config. Caso não exista crie e informe conforme abaixo suas preferências de identidade e domínio:
Host webmister
    User git
    HostName ssh.github.com
    Port 443
    IdentityFile ~/.ssh/webmister.key
Host jeremias
    User git
    HostName ssh.github.com
    Port 443
    IdentityFile ~/.ssh/jeremias.key
Host bitbucket
    User git
    HostName bitbucket.org
    IdentityFile ~/.ssh/webmister.key
Host phpfog
    User git
    HostName git01.phpfog.com
    IdentityFile ~/.ssh/webmister.key

Adicione as seguintes conexões remotas com git remote add [alias] [url].
$ git remote add origin git@bitbucket.org:giovanniramos/webmister.git
$ git remote add jeremias jeremias:giovanniramos/webmister.git
$ git remote add teste bitbucket:giovanniramos/webmister.git 

Onde origin/jeremias/teste correspondem ao apelido ou pseudônimo de uma conexão remota. Sendo a opção de conexão origin mais util via TortoiseGit e as conexões jeremias/teste somente via prompt.

A seguir, exemplos de conexão via prompt de comando com a url curta:
$ git clone teste:giovanniramos/webmister.git
$ git pull teste master
$ git push teste master
$ git push jeremias master 


Se ao tentar adicionar as conexões, surgir uma mensagem de erro semelhante a "fatal: remote origin already exists.", execute o comando git remote -v, para visualizar a lista de conexões remotas cadastradas.
$ git remote -v
E para remover da lista use git remote rm [alias], em seguida tente adicionar novamente.
$ git remote rm origin


Criando e/ou Sincronizando um repositório local com TortoiseGit

Na pasta do projeto, conforme imagem abaixo, temos duas opções:

1 - Git Create repository here: se desejar criar um repo vazio.
2 - Git Clone: caso desejar criar e sincronizar à partir de um repo remoto.

Menu de contexto

Se optar pela clonagem não deixe de apontar a chave privada, conforme abaixo.

Carregando a chave SSH


Após a clonagem, abra o menu de Configurações do aplicativo TortoiseGit:

Iniciar > TortoiseGit > Settings

Na guia Git, em "User Info" insira seu Nome e Email.
E em "Signing key ID" insira o seu Key fingerprint criado anteriormente no PuTTY.
Ex.: ssh-rsa 1024 2b:81:3f:1f:f8:0d:4c:d2:cd:7b:1c:f6:24:e3:91:32
Certifique-se também de que o "AutoCrlf" esteja marcado, em seguida aplique suas opções.


Agora adicione suas conexões remotas, conforme abaixo:


E por fim, para executar os comandos Git (git commit, git log, etc.), basta acessar o menu de contexto do TortoiseGit na pasta do projeto e voilá.



Posts relacionados...