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á.



Configurando um Ambiente de Desenvolvimento com Xampp e Netbeans

Introdução

Xampp é um servidor web que contém o Apache, MySQL, PHP e Perl em uma única instalação e o NetBeans é uma poderosa IDE open-source que em sua versão completa suporta a criação de aplicações em PHP, Java e C/C++. Juntas, Xampp e NetBeans formam um ambiente completo e perfeito para qualquer profissional na área de desenvolvimento. Aliada as inúmeras extensões disponíveis na web, tornam o trabalho de qualquer desenvolvedor em um processo extremamente ágil e produtivo.


Iniciando com o download das distribuições

A seguir estão os links das últimas distribuições do Xampp e NetBeans.
- Xampp Windows: http://bit.ly/web-mister_xampp_windows
- NetBeans: http://bit.ly/web-mister_netbeans

Um recurso disponível no NetBeans que pode ser de interesse do desenvolvedor é o plugin para criação de UML que está disponível no pacote do NetBeans ou pode ser carregado pelo Gerenciador de Plugins da IDE.


Configurando o Xampp

Extraia os arquivos na raiz da unidade, ficando desta forma:
C:\xampp

Abra em um editor de textos, o arquivo httpd.conf que se encontra em:
C:\xampp\apache\conf

Localize e descomente a linha abaixo, removendo o sinal de tralha (#) no início.
#LoadModule rewrite_module modules/mod_rewrite.so

Abra em um editor de textos, o arquivo php.ini:
C:\xampp\php\php.ini

Como sugestão, mude as configurações a seguir:
max_execution_time 180
max_input_time 180
memory_limit 128M


Configurando o PEAR

Download direto: http://pear.php.net/go-pear.phar

Salve o pacote em:
C:\xampp\php

No prompt, acesse a pasta de instalação com:
> cd C:\xampp\php

Execute a instalação com:
> php -d phar.require_hash=0 go-pear.phar
> ENTER
> ENTER

No término da instalação será gerado um arquivo de registro do sistema:
C:\xampp\php\PEAR_ENV.reg

Localize e execute-o, para criar as variáveis de ambiente para o usuário atual.

E para finalizar, confirme a nova versão instalada do PEAR com:
> pear version

Posteriormente, se necessário, atualize o PEAR com:
> pear channel-update pear.php.net


Instalando as extensões do PEAR

Registrando os canais:
> pear channel-discover pear.phpunit.de
> pear channel-discover pear.symfony-project.com
> pear channel-discover pear.symfony.com
> pear channel-discover components.ez.no

Instalando o pacote Symfony:
#> pear remote-list -c symfony2
> pear install symfony/YAML
#> pear upgrade symfony/YAML

Instalando o pacote eZComponents:
> pear install -a ezc/eZComponents
#> pear upgrade ezc/eZComponents

Instalando o pacote PHPUnit:
> pear remote-list -c phpunit
> pear install --alldeps phpunit/PHPUnit
#> pear install --onlyreqdeps phpunit/PHPUnit
#> pear upgrade phpunit/PHPUnit

Instalando demais pacotes:
> pear install PhpDocumentor
> pear install PHP_CodeSniffer
> pear install Testing_Selenium-beta


Se ocorrer um erro do tipo "SECURITY ERROR" ao tentar listar os pacotes, use:
> pear clear-cache

Execute um dos comandos abaixo, para atualizar todos os canais:
> pear update-channels
> pear upgrade-all

Exibindo todas as configurações do PEAR:
> pear config-show


Mais comandos no site oficial:
- http://pear.php.net/manual/en/guide.users.commandline.commands.php


Configurando o XDebug

Clique no link a seguir para baixar a última distribuição.
- XDebug (Windows binaries): http://bit.ly/web-mister_xdebug

Renomeie a dll do XDebug para php_xdebug.dll e mova-o arquivo para:
C:\xampp\php\ext

Abra no editor de textos, o arquivo php.ini:
C:\xampp\php\php.ini

No bloco XDebug adicione:
zend_extension = "XAMPP_HOME\php\ext\php_xdebug.dll"

Encontre e descomente as linhas a seguir:
xdebug.remote_host=localhost. # Alterar o valor de localhost para 127.0.0.1
xdebug.remote_enable = 0. # Alterar de 0 para 1
xdebug.remote_handler = "dbgp"
xdebug.remote_port = 9000


Configurando o NetBeans

Abra o menu de configurações da IDE:

Ferramentas > Opções

Na aba PHP, defina as 3 guias a seguir com o caminho do interpretador e dos scripts.

Geral - Interpretador do PHP:
C:\xampp\php\php.exe

Teste de unidade - Script PHPUnit:
C:\xampp\php\phpunit.bat

PhpDoc - Script PhpDoc:
C:\xampp\php\phpdoc.bat


Para definir o conjunto de caracteres padrão do Netbeans para UTF-8.
- Acesse o caminho: C:\Arquivos de programas\netbeans-x.x\etc
- No editor de textos, abra o arquivo netbeans.conf
- Acrescente em netbeans_default_options, a propriedade: -J-Dfile.encoding=UTF-8
- Defina também em propriedades do projeto, a codificação para UTF-8.


Atalhos úteis do NetBeans - HotKeys
TAB: Inserir tabulação
SHIFT + TAB: Remover tabulação
ALT + SHIFT + F: Formatar código
ALT + INSERT: Gerador de código para setters/getters/construtores
CTRL + L/K: Inserir palavra correspente próx./ant.
CTRL + Q: Última edição
CTRL + F: Localizar no arquivo
CTRL + H: Procurar/Substituir no arquivo
CTRL + G: Ir para linha
CTRL + E: Excluir linha
CTRL + ENTER: Dividir linha
CTRL + (/): Comentar/Descomentar linha(s)
CTRL + MINUS (-): Esconder um bloco de código
CTRL + PLUS (+): Expandir um bloco de código
CTRL + SHIFT + MINUS (-): Esconder todos blocos de código
CTRL + SHIFT + PLUS (+): Expandir todos blocos de código
CTRL + SHIFT + UP: Duplicar linha para cima
CTRL + SHIFT + DOWN: Duplicar linha para baixo
CTRL + SHIFT + P: Procurar nos projetos
CTRL + SHIFT + F: Localizar em projetos
CTRL + BACKSPACE: Auto-completar de código



Como criar e instalar uma chave SSH no Github ou Bitbucket

Introdução

Neste tutorial irei descrever como é simples instalar uma chave pública (SSH Key), existente em sua máquina local, em uma conta do Github ou Bitbucket.

A autenticação utilizando o protocolo SSH (Secure Shell), além de ser mais seguro e flexível, assume o compromisso entre segurança e conveniência.

Já o protocolo HTTPS é adequado para situações em que você trabalha com poucas alterações no código e consequentemente se utiliza pouco do comando git push, para enviar as alterações para um repositório remoto (Github ou Bitbucket). Outra desvantagem deste protocolo é que será exigido seu "nome de usuário e "senha" toda vez que iniciar uma nova conexão ao servidor remoto.

Durante a criação das chaves usaremos o PuTTY, que é um programa que acompanha o pacote TortoiseGit, para gerar o par de chaves que consiste de uma chave pública (que todo mundo pode saber) e uma chave privada (que somente você terá acesso). A chave privada é capaz de gerar assinaturas. A assinatura criada usando sua chave privada não pode ser forjado por qualquer pessoa que não tenha essa chave, mas quem tem a sua chave pública pode verificar se uma determinada assinatura é verdadeira.

Agora daremos início ao tutorial, mas antes certifique-se de que tenha instalado em sua máquina o Git e o cliente TortoiseGit, caso contrário, siga o link abaixo:
Instalando e configurando o Git no Windows


Iniciando com a criação da chave SSH

Abra o aplicativo PuTTY que acompanha o pacote TortoiseGit.

Figura 1


Com o PuTTY aberto clique em Generate para gerar sua chave (SSH Key).
Mova o cursor do mouse no espaço vazio até que a barra verde se complete.

Figura 2

Será exibida na área destacada em vermelho(Figura 3), a sua nova chave ssh-rsa para instalação em uma conta do Github ou Bitbucket.

Nota: por segurança, salve sua chave privada em um local seguro.


Figura 3

Key fingerprint: exibe o valor de impressão digital de sua chave gerada, que não precisa ser mantido em segredo.
Key comment: insira um comentário se você tiver mais de uma chave e precisar usá-los para fins diferentes.
Key passphrase: insira uma senha para criptografar a chave no disco, assim será impossível carregar a chave sem antes digitar a senha.


Na Figura 4 é demonstrado como carregar uma chave privada existente, para isso clique em Load e localize a chave privada (.ppk). Será solicitado a senha da chave, a mesma cadastrada antes em "Key passphrase".

Figura 4


Instalando a chave SSH no Github

Github


Navegue até a página de Configurações da Conta:
- Na aba SSH Keys, clique no botão "Add SSH Key".
- Na box que se abre, adicione um título e cole no campo Key a sua chave ssh-rsa.
- Clique no botão Add Key para finalizar.
- Veja na lista SSH keys o título da chave e sua impressão digital.

Instalando a chave SSH no Bitbucket

Bitbucket


Navegue até a página de Configurações da Conta:
- Na aba SSH Keys, adicione um título na caixa de diálogo Add a new key.
- No campo SSH Key adicione a sua chave ssh-rsa.
- Clique no botão Add Key para finalizar.
- Veja na lista SSH keys o título da chave recém criada.



Instalando e configurando o Git no Windows

Git para Windows

Neste tutorial iremos aprender a instalar e configurar o Git, usando uma versão adaptada para o Windows chamada MSysGit e o TortoiseGit como nossa interface gráfica.


Sobre o Git e seus benefícios

Git é um sistema de armazenamento endereçável de conteúdo (SCM), grátis e de código-fonte aberto, distribuído sob os termos da GPL v2.

Criada em 2005 por Linus Torvalds, o Git se tornou uma poderosa ferramenta de controle de versão com ênfase em velocidade, atualmente supervisionada por Junio Hamano.

Esta ferramenta segue o modelo distribuído, e por seguir este modelo significa que o desenvolvedor ao fazer um "clone", obtêm uma cópia completa do repositório e não a última revisão como no modelo centralizado. E também é possível trabalhar em um repositório local, remoto ou até mesmo distribuído, pois todos os seus recursos independem de acesso à rede ou de um servidor central, ou seja, seus commits poderão ser feitos em modo off-line. 

Por este e outros motivos esse sistema se consolidou no mercado e se tornou o gerenciador descentralizado de código mais rápido e eficiente do planeta.


Iniciando com a instalação do Git

Segue abaixo o link de download do pacote de instalação:
- Git (MSysGit): http://bit.ly/git-full


Execute o instalador do Git e na tela que se abre, clique em avançar até chegar na etapa seguinte.




Na tela de seleção dos componentes "Select Components", marque a opção "Context menu entries". Feito isso, avance para próxima tela.



Nota: Habilitando está opção, o Git Bash e o Git GUI serão incorporados ao menu de contexto do Windows, possibilitando executar o comando "Git Bash Here" dentro um diretório qualquer, sendo que ao ser invocado será aberto um prompt de comandos próprio para executar comandos Git e também alguns comandos Linux bem úteis, como grep, ls, entre outros.



Na tela seguinte, deixe o caminho padrão conforme ilustrado na imagem e avance.




Nesta tela deixe marcado a opção "Use Git Bash only" e prossiga com a configuração.




E nesta última tela deixe marcada a primeira opção, indicando que queremos que as quebras de linha sejam consideradas da mesma maneira, independente do sistema operacional.


Nesse instante será realizada a instalação.


Configurando o Git

Após o término da instalação, abra o aplicativo Git Bash:

Iniciar > Git > Git Bash

Execute os comandos a seguir para associarmos o seu usuário com as operações do Git:
$ git config --global user.name "Seu Nome e Sobrenome"
$ git config --global user.email "seu_email@dominio.com"
Nota: se você possui uma conta no Github/Bitbucket, utilize este mesmo endereço de e-mail.


Instalando o cliente TortoiseGit


Para está instalação siga o padrão NNF de instalação, ou seja, de NEXT em todas as telas.





Configurando o TortoiseGit

Também é possível configurar o Nome e E-mail do usuário pelo TortoiseGit:
Para isso acesse o menu de Configurações do aplicativo em:

Iniciar > TortoiseGit > Settings

Na guia Git, em "User Info", insira seu Nome e E-mail.
E em "Signing key ID" insira o seu Key fingerprint criado com o PuTTY.
Ex.: ssh-rsa 1024 2b:81:3f:1f:f8:0d:4c:d2:cd:7b:1c:f6:24:e3:91:32
Nota: se você ainda não possui a Key, deixe-a em branco e depois para criar acesse:
Como instalar uma chave SSH no Github ou Bitbucket via Windows

Certifique-se também de que o "AutoCrlf" esteja marcado.
E clique em OK para aplicar as configurações.




Posts relacionados...