Git no Windows | guia completo para seu primeiro repositório

By in Ferramentas, Screencasts on 12 de junho de 2015

Ultimamente me vi na necessidade de utilizar um sistema de versionamento para organizar projetos assim como pequenos códigos de estudos.

Para projetos gigantes e que se eram necessários a privatização do código, venho utilizando o https://bitbucket.org. Apesar de sua eficiência, procurei algo mais simples e prático, mesmo que código aberto. Encontrei então o GitHub que utiliza o sistema de gerenciamento Git!

Com o Git o gerenciamento para projetos individuais (no meu caso) amplificou o número de commits/pushes, devido suma severa simplicidade e manuseio via prompt de comando.

Não tenha medo do prompt

Não é de se negar o receio inicial que tive com a ferramenta. Pois mesmo trabalhando no Ubuntu e ultimamente desenvolvendo pequenos projetos na plataforma da Microsoft a empatia com o prompt é algo que precisei superar. E após utilizar o Ubuntu, a “tela preta” com o tempo foi sendo minha principal forma de navegação e gerenciamento. Continua sendo até hoje.

Bom, sem mais blablabla…vamos aprender a usar ‘esse’ Git no Windows.

1 – Instalando o Git

Para você utilizar as configurações e comandos do git, é necessário que o tenha instalado em sua máquina, então, faça o favor baixar e instalar:

Baixe e instale git para Windows

Abaixo segue os screens do “setup” onde customizei as configurações de instalação:

image05

Marque On The Desktop para facilitar no uso do Git Bash logo mais a frente;

Opto por Git Bash Here se em algum momento queira utilizar o Git Bash a partir de uma pasta, basta apenas ir à pasta e com opções do mouse clico com o direito e escolho “Git Bash Here”;
O mesmo fiz para Git Gui Here que é a opção gráfica do git para Windows, não costumo utilizar, mas para sua comodidade pode optar em marcar;

 

image11
Esta opção é muito importante para que o git seja executado através do prompt de comando.

 

As demais telas apenas “dei next”.

2 – Configurando o Git

Após instalado o git da forma acima, ele agora está executável no prompt.

Abra o “prompt de comando” (se já estava aberto antes da instalação, feche e abra novamente).

Agora digite:

Verifique se é mostrado versão do git (não necessariamente a mesma da screenshot abaixo).

image08

Fantástico! Estamos em casa. Agora vamos em seguida configurar as opções de identidade.

3 – Configurando sua identidade

Configurar essas opções é importante para quando é feito o commit o git utiliza essas informações.

Esse passo só será necessário ser feito uma única vez, pois trata-se de uma configuração global, sua alteração posterior sobrescreverá a identidade anterior.

Na tela do prompt digite os seguintes comandos:

4 – Criando o repositório no GitHub

Agora que temos nossa configuração inicial do git no pc, vamos criar nosso repositório no GitHub.

Acesse o GitHub

No GitHub crie sua conta. Logue-se!
Acesse a aba “Repositories” e clique em “New”.

image02

Explicação sobre os campos

  • Em “Repository name” informe o nome do repositório, se você preencher com espaços (“ “) o gerenciador adicionará automaticamente um traço (“-”);
  • No campo “Description” você pode adicionar informações sobre seu repositório;
  • Selecione o tipo de repositório “Public”, este não gera valor de cobrança, porém será público a todos;
  • O checkbox “Initialize this repository with a README” cria automaticamente um arquivo README. Estas informações estarão visivéis na página principal deste versionamento, será visualizada quando alguém acessá-la.

image00

Ressaltando aqui que este será o endereço do repositório também na url, seguindo esse padrão:

https://github.com/usuario/nomedorepositorio

ou se com espaços

https://github.com/usuario/nome-do-repositorio

Preencha os campos e clique em “Create repository” para criar seu primeiro repositório.

5 – Conectando PC com o GitHub

Para que possamos realizar os comandos de push e pull para nosso repositório, será necessário gerarmos uma chave única para este PC possibilitando sua conexão direta com o git. Essas chaves são gerenciadas no no próprio GitHub.

Então, por favor, muita atenção agora!

Gerando chave ssh única
O github utiliza dois modos de segurança, o HTTPS e o SSH. Iremos utilizar SSH.

Para isso iremos utilizar o Git Bash, calma, ele já foi instalado a partir do setup.

Verifique no seu Desktop o Git Bash, se não encontrou busca no incializador de programas do Windows: “Git Bash”.
Perceba que voltamos para outra tela preta, mas essa não é o prompt do Windows. Essa é o interpretador de comandos utilizado para emular o Git no Windows.

image09

Para gerar nossa chave SSH digite o seguinte comando no “bash”:

Arquivo SSH

image12O bash irá perguntar qual o nome do arquivo deseja criar, deixe o padrão apenas apertando ENTER no teclado.

Senha de Proteção
image03
Agora digite uma senha para proteger seus pushes a partir deste PC, se não deseja utilizar senha para realizar estes procedimentos deixe vazio.

Note o endereço a qual o arquivo será gerado

(c/Users/NomeDeUsuario/.ssh/id_rsa), precisaremos dele em instantes.

image06

Esta tela final indica que tudo ocorreu perfeitamente e que seu arquivo está salvo na pasta informada.

Salvando nossa chave no GitHub.com

Agora que geramos a chave, vamos autenticá-la aos nosso projetos.

Acesse o GitHub.com e navegue até em Configurações  e na sidebar esquerda acesse SSH Keys.

image01

A seu lado direito estarão as SSH Keys que você permitirá a realização de pushes para seus projetos.

Então agora Clique em Add SSH Key.

Em Title, adicione informação relacionada a essa key, eu comumente preencho com o nome do PC a qual representa essa chave.

Agora o mais importante, no campo Key, você terá que pegar o valor salvo no arquivo que foi gerado pelo bash, acesse o arquivo:

Lembra-se?

Nela você verá dois arquivos de mesmo nome id_rsa, porém abra o arquivo de extensão .pub em algum editor para programador (Notepad++, por exemplo), NÃO abra no Bloco de Notas do Windows.

Com o arquivo aberto, selecionando desde ssh-rsa até o final do email, copie.

Agora cole no campo “Key” no formulário do GitHub que haviamos aberto e clique em “Add Key”.

image07

Perfeito!

Testemos agora.

A partir do Git Bash, rode:

Esta mensagem indica que tudo deu certo:

You’ve successfully authenticated, but GitHub does not provide shell access.

Na sua página de SSH Keys no GitHub atualize e verá que a chave está com um ícone verde, indicando que está autenticado.

Estamos autenticados, agora vamos fazer nosso primeiro Pull e Push.

6 –  Gerenciando o a pasta local

Bom, agora  que nosso PC está autenticado com nossa conta no GitHub, podemos puxar nosso repositório, criar nosso primeiro arquivo, comitar (commit) e posteriormente enviá-lo (push) para a origem (origin).

Preparando a pasta

Crie uma pasta em

c:\nomedorepositorio

Com o prompt aberto, acesse a pasta:

Para essa pasta ser gerenciada pelo git, precisamos prepará-la. Digite:

A mensagem abaixo indica que o repositório git foi iniciado em .git

Initialized empty Git repository in d:/feedcast/.git/

Anexando repositório a pasta

Agora, que a pasta está pronta, vamos adicionar a informação do nosso repositório a ela, da seguinte forma:

O que estamos fazendo acima é acessar nosso repositório via ssh. É importante que você grave ou entenda essa semântica. O git acessa git@github.com: + nomedousuario + /nomedorepositorio.git

Não esqueça também de que aqui, apenas salvamos a que repositório pertence, então agora, vamos pegar esses arquivos com o comando pull:

Preencha a solicitação de senha, com a senha que criamos no GitBash para gerar a SSH.

7 – O primeiro commit com push

Chegamos a etapa final, vamos agora enviar nosso primeiro arquivo.

Crie um arquivo de sua preferência (index.html, por exemplo) e adicione alguma codificação.

Para podermos enviar (push) o index.html é preciso realizar commit local, então vamos adicionar esses arquivos para commit.

*com o ‘.’ (ponto)

Aqui acabamos de adicionar/preparar um arquivo para todos os arquivos que foram criados ou modificados para commit. Vamos comitá-lo.

A sintaxe acima indica que estamos preparando os arquivos para enviar ao repositório, a opção -m será útil, pois a mensagem fornecida será anexada a esse commit, então todos os commits de demasiados arquivos terão seus comentários, é muito importante que você mantenha essa organização.

Vamos enviar isso para nosso repositório no GitHub. Simplesmente faça o push:

Uma solicitação de senha será fornecida, informe a senha que você configurou na criação da chave SSH. E pronto, enviamos nosso primeiro arquivo de muitos que tenho certeza que você irá enviar. Pois isso é viciante pela sua facilidade.

Então, se você assim como eu fica entre um pc e outro, e não quer ficar passando os arquivos para dispositivos portáteis, e se deseja também compartilhar um projeto ou solução com nós programadores, essa é a ferramenta.

Então, é isso pessoal.

Espero que este artigo tenha sido bastante útil para você, apesar de longo, acho muito importante que saibamos o que estamos fazendo, e não apenas fazer funcionar, isso é o que diferencia os melhores dos simples, então enquanto mais informações eu puder passar para vocês, me sentirei satisfeito na didática.

Se pintou alguma dúvida, não exite em comentar ou me notificar nas redes.