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:
- repositório: conjunto de arquivos e seus históricos, você pode usar
git init
para iniciar um repositório naquele diretório. - commit: um “snapshot” (foto) dos seus arquivos que pode ser resgatada depois, você criará estes usando
git commit
e dando uma mensagem sobre ele - stage: antes de um arquivo ser adicionado a commit, ele deve ser colocado na área de staging. Imagine-a como se você estivesse selecionando quais arquivos você quer que entre na foto que você vai tirar. Você fará isso via
git add
. - remote: um remote de um repositório é uma cópia remota (em um servidor) do seu repositório. O seu repositório no GitHub será o seu principal remote. Você irá interagir com ele via
git clone
para baixar a primeira vez,git pull
para puxar para a sua máquina as modificações que estão no remoto egit push
para empurrar as suas modificações.
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.