O que é Git?
Git é um sistema de controle de versão criado, a princípio, para gerenciar o desenvolvimento do kernel Linux. Sua principal diferença em relação a outros sistemas de controle de versão conhecidos (como SVN e CVS) é sua natureza distribuída. Isto significa que não há, necessariamente, um repositório central.
O que é GitHub?
GitHub é uma empresa focada em fornecer repositórios git na nuvem além uma série de funcionalidades para facilitar a colaboraçao de desenvolvedores em projetos de software. O uso da plataforma é gratuito para projetos livres e/ou de código aberto.
Interfaces
A interface oficial do git é o conjunto de ferramentas de linha de
comandos que vem com o git propriamente dito. Segundo a documentação
oficial
, é a única interface que permite acssar todas os comandos do git.
Entretando, existem outras formas de manipular os repositórios com uma
abordagem mais user-friendly. A mais usada atualmente é a
GUI (Graphical User Inteface) feita pela equipe do GitHub,
GitHub Desktop.
Disponível para Mac e Windows.
As instruções abaixo são para a CLI (Command Line Interface).
Como criar um Repositório
A forma mais simples de ter um repositório local já vinculado a um
repositório no GitHub é através do comando
git clone
.
Para clonar um repositório é necessário que exista um repositório
remoto a ser clonado. Criar um repositório remoto no GitHub é bastante
simples graças à interface web fornecida pelo GitHub. Para tanto basta:
- Fazer login no GitHub
- Clicar no botão verde
New Repository
no lado direito da página - Atribuir um nome para o novo repositório
- Clicar no botão verde
Create Repository
na parte inferior da página. - Copiar o link (https) que aparecerá na sessão Quick Setup
- Usar o comando
git clone URL
na pasta onde quer criar o repositório (sendo URL o link copiado no item anterior)
O repositório estará criado localmente em seu computador na pasta com mesmo nome do repositório criado no github.
Obs: É necessário digitar suas credenciais do GitHub ao fazer operações que envolvem o repositórios remotos. Para contornar este problema veja este link.
Fazendo seu primeiro commit
Um commit é ação pela qual você envia as mudanças feitas para o repositório. O
comando para fazer commit é git commit
.
Antes de fazer o commit de alguma alteração é necessário marcá-la
para ser enviada no próximo commit. A forma de fazer isto é com o
git add
.
Este comando aceita pastas ou arquivos como argumentos,
assim como caracteres reservados do seu terminal (como "*", "." e "..").
Antes de fazer um commit é interessante verificar quais arquivos estão
marcados para serem enviados. Isto pode ser feito com
git status
.
Note que git commit
envia as alterações para o repositório
local (no seu computador) e não para o repositório remoto nos servidores
do GitHub. Existem comandos para sincronizar o repositório remoto
com o local e vice versa. São eles:
git push
sincroniza o repositório remoto com o repositório local.git pull
sincroniza o repositório local com o repositório remoto.
Um fluxo bastante comum de trabalho segue as etapas:
- Fazer as alterações desejadas.
- Marcar as mudanças para serem enviadas no próximo commit com
git add
. - Enviar as mudanças para o repositório local com
git commit
. - Enviar as mudanças para o repositório remoto com
git push
.
Contribuindo para um projeto
É necessário fazer um fork do repositório do projeto para poder contribuir. Para tanto basta:
- Logar em sua conta do GitHub.
- Acessar a página do repositório do projeto.
- Clicar no botão
Fork
no canto superior direito da página. - (Uma cópia deste repositório será criado em sua conta).
- Siga os passos nas seções sobre criar primeiro repositório e fazer primeiro commit. Para fazer as alterações desejadas.
- Requisitar que suas alterações sejam unidas com o repositório oficial. Através de um Pull Request.
Pull Request
Pull request é a ferramenta através da qual é proposta a união
entre dois branches
de um projeto.
Para o escopo deste texto assuma que os branches serão sempre seu repositório
remoto e o repositório oficial do projeto. Para fazer um pull request
você deve:
- Acessar a página do seu repositório (aquele gerado pelo
Fork
em sua conta). - Clicar no botão verde
New pull request
. - Verificar que as modificações que deseja requisitar a união são a que estão listadas.
- Clicar em
Create pull request
- Adicionar um título e descrição para o pull request.
- Clicar novamente em
Create pull request
. - Aguardar a avaliação de algum dos responsáveis pelo repositório oficial.
Conclusão
Embora possar parecer um pouco complexo a princípio, o fluxo de trabalho, ao usar Git e GitHub, é bastante simples e fácil de se acostumar. Entender como realizar estas tarefas principais em linha de comando pode ajudar drasticamente usuários interface gráfica (GitHub Desktop) também.