Git e GitHub

Começar

Existem várias maneiras para usar git e github; se você já possui conta no github e já sabe usar git, pule para a próxima seção

  1. Instale o programa git se não tá instalado já no teu sistema.
  2. Crie o arquivo de configuração no teu homedir, chamado .gitconfig. Um exemplo:
    [user]
        name = Fulano fu Lano
        email = fulano@fulamail.com
    [core]
        editor = nvim
    [alias]
       last = log -1 HEAD
       part = add --patch
    
    A terceira secção, alias tem dois exemplos principalmente pala ilustrar quão fácil é criá-los. (Em inglês “alias” significa algo parecido com “apelido”.) Em cima eu tô definindo dois verbos como… “açúcar sintáctico” para o git: Assim, executando
    git part
    
    no meu sistema, o que será executado mesmo é
    git add --patch
    
  3. Caso não tenha, cria uma conta no GitHub e atualize teu profile no Zulip para a incluir.
  4. Adicione SSH keys na tua conta: Profile › Settings › SSH and GPG keys

O que precisa para esta disciplina

  1. Crie uma pasta no teu computador em qual tu vai guardar tudo relacionado a esta disciplina (e.g. ~/courses/fun).
  2. Nela clone o meu repositório 2024.2-fun:
    cd ~/courses/fun
    git clone https://github.com/tsouanas/2024.2-fun
    
  3. No teu github navega ao template 2024.2-fun-student, e escolha Use this template › Create a new repositor e chame este repo de 2024.2-fun-{USER} onde {USER} é o teu usuário no GitHub. AVISO. tudo é case-sensitive, incluindo teu username e os repos!
  4. Clone o repositório ao teu computador numa pasta dedicada à disciplina (e.g. fun):
    cd ~/courses/fun
    git clone https://github.com/{USER}/2024.2-fun-{USER}
    cd 2024.2-fun-{USER}
    git remote add origin git@github.com:{USER}/2024.2-fun-{USER}.git
    git push -u origin main
    
  5. Assim na tua pasta da disciplina tu deve ter dois repos:
    • o meu, que tu deves pullar feqüentemente
    • o teu, que tu deves commitar e pushar freqüentemente

Depois disso, como uso?

Agora, com tudo isso feito, eu sugiro usar na seguinte forma, pelo terminal:

Para obter possíveis atualizações do meu repo:

cd ~/courses/fun/2024.2-fun
git pull

Para trabalhar no teu repo:

cd ~/courses/fun/2024.2-fun-{USER}

Agora, por exemplo, vamos dizer que tu criou o lean/logic.lean. O fato que tá no diretório não significa que automaticamente tá sendo “rastreado”/visto pelo git. Adicionamos o arquivo então no git e commitamos tal mudança:

git add logic/logic.lean
git commit -m 'first commit, full of sorries'

(Nas tuas próximas mensagens seja mais descritivo com teus commit messages!) Para adicionar varios arquivos use algo do tipo git add *.lean ou git add *, etc. O .gitignore vai tomar cuidado para não adicionar arquivos que devem ser ignorados.

Agora vamos dizer que tu editou o logic.lean e demonstrou um teorema. Seria bom antes de continuar para o próximo já cadastrar tal progresso! Basta pedir ao git cadastrar as mudancas (para cada uma ele vai perguntar se tu queres que ela entre no próximo commit):

git part

(Lembre que isso foi um alias, se tu não o definiu o git vai reclamar por justa causa; e se não quer definir tal alias, precisa dar o comando mesmo git add --patch.) Tu responda y/n para cada mudanca se quiser entrar nesse commit

git commit -m 'proved that plus is associative`

Escolhe mensagens curtas, verdadeiras, e informativas/descritivas! Agora é só mandar isso para teu github:

git push

Se tu tá trabalhando em mais que um computador, antes de começar editar coisas, use o

git pull

para pull’ar os commits já push’ados do outro canto.