Esse tutorial foi produzido por Ieremies Vieira Da Fonseca Romero

Introdução à ferramenta

Git é uma ferramenta de controle de versões desenvolvida por Linus Torvalds para ajudar na colaboração de desenvolvedores no kernel Linux. Uma ferramenta de controle de versões serve para “salvar” e identificar versões de um conjunto de arquivos. Git faz isso salvando “snapshots” (fotos) do seu projeto que podem ser recuperados a qualquer momento.

Imagine que você está fazendo uma maquete no ensino fundamental. Ela está linda! Mas Fulanin derrubou o glitter todo, sujou tudo, tentou encobrir o erro e uma semana depois você descobriu. Git lhe daria a capacidade de voltar o seu projeto a um estado antes de Fulanin ferrar tudo e continuar dali.

Infelizmente, na computação, muitas vezes nós mesmos somos o Fulanin e ter um grande (e poderoso) botão de desfazer é algo sem preço.

Este não é um tutorial de git em si. git é uma das ferramentas mais importantes que você vai encontrar na sua vida como programador e um conhecimento avançado e sólido nele irá lhe render bons frutos. Não é uma má ideia dar uma lida no Git - Book, um livro excelente e bem didático, especialmente os capítulos 2 e 3.

Dito isso, iremos focar aqui no mínimo que você precisa saber para realizar esta disciplina.

Instalação

O primeiro passo é realizar a instalação do git. Não iremos cobrir aqui todas as formas possíveis de instalação, para isso, confira este tutorial. Em resumo, se você está no Ubuntu (wsl ou nativo), sudo apt-get install git-all deve resolver seu problema.

Mais uma vez reitero a importância de gastar um tempinho nessa disciplina para configurar um ambiente linux. É uma plataforma mais simples de fazer as coisas que nós “computeiras e computeiros” precisamos, não só nesta disciplina, como em outras. Seu futuro eu lhe agradecerá pelo esforço atual.

Primeiro uso

Você precisa configurar seu nome e email para que a ferramenta utilize ao assinar os “commits” (mais sobre isso lá na frente).

Em um terminal, faça:

git config --global user.name "Maria José"
git config --global user.email "maria@gmail.com"

Uma última configuração inicial importante:

git config --global credential.helper store

esta irá fazer com que o git salve o seu usuário e senha na máquina.

Por fim, utilizaremos a plataforma GitHub, uma forma online e distribuída de compartilharmos os nossos repositórios (conjunto de arquivos e seus históricos) git. É uma boa você já criar uma conta e pode fazê-lo com sua conta pessoal. A UNICAMP lhe garante o Pro do GitHub e você pode atrelar seu email da universidade a sua conta pessoal.

Nomenclatura

Alguns nomes importantes:

Workflow básico

Você irá encontrar no enunciado de cada atividade, um link como este https://classroom.github.com/a/abcDEF. Ao “clickar” nele, você será solicitada a logar no GitHub e perguntada se deseja aceitar a atividade. Ao aceitar, ele irá pedir para que você selecione um identificador da lista de RA’s. Após encontrar o seu, o GitHub irá preparar o repositório e, dentro de alguns minutos, ao recarregar a página, você irá encontrar um link como https://github.com/MC202-202X/lab-X-seu-nome.

Este é o link do seu repositório e agora podemos utilizá-lo. Num terminal, git clone https://github.com/MC202-202X/lab-X-seu-nome irá baixar o repositório. Após realizar a atividade (ou quando achar pertinente), você pode adicionar as suas alterações a um commit. Digamos que você criou um arquivo chamado lab.c. Você pode adicioná-lo ao próximo commit usando git add lab.c e realizar o commit usando git commit -m "adiciona o lab.c". A flag -m indica que o que vier entre aspas depois é a mensagem que será usada para identificar aquele commit. É interessante escrever algo que facilite depois encontrar aquele commit.

Neste momento, as alterações que você fez só estão na sua máquina, no seu repositório local e não no remoto. Para atualizar o remoto, você deve “empurrar” suas modificações via git push. Por fim, abra o seu repositório no GitHub e confira na aba de “ações” a correção da sua atividade.