O Git regista a história do seu código: cada alteração tem data, descrição e é reversível. O GitHub aloja esses repositórios online para os partilhar e colaborar. É um hábito a adotar desde o primeiro projeto.

Indispensável para aprender a programar e para mostrar o seu trabalho.

O modelo mental

Um commit é uma fotografia do seu projeto num instante, com uma mensagem. Pode voltar-se a ele, compará-lo, desfazê-lo. O histórico conta como o projeto evoluiu.

O fluxo básico

  • Modificar ficheiros.
  • Indexar o que se quer incluir no próximo commit.
  • Validar (commit) com uma mensagem clara.
  • Enviar (push) para o repositório remoto.

Os ramos

Trabalhar sem quebrar nada. Um ramo é uma linha de trabalho paralela. Desenvolve-se uma funcionalidade no seu próprio ramo e funde-se quando está pronta. O ramo principal mantém-se sempre saudável.

GitHub

Colaborar e publicar. Repositório remoto, pull requests para revisão antes de fundir, issues para acompanhar tarefas, Pages para publicar um site estático. É também o seu portefólio público.

Desbloquear situações

Situações comuns:

  • Conflito de fusão: o Git mostra as zonas em desacordo, escolhe-se, valida-se.
  • Commit feito no ramo errado: move-se.
  • Desfazer uma alteração: consoante o caso, é melhor reverter de forma limpa do que reescrever um histórico já partilhado.

Perguntas frequentes

O Git e o GitHub são a mesma coisa?

Não. O Git é a ferramenta de controlo de versões, na sua máquina. O GitHub é um serviço que aloja repositórios Git online (o GitLab e o Bitbucket também).

É preciso fazer tudo na linha de comandos?

Não: uma interface gráfica ou a integração do editor bastam para começar. Compreender os conceitos importa mais do que a forma de escrever os comandos.

Quando se deve fazer um commit?

Assim que um pequeno conjunto coerente de alterações estiver pronto. Commits frequentes e bem nomeados valem mais do que um único commit grande com tudo misturado.