Git e GitHub

Existem várias maneiras para usar git e github; se você já possui conta no github e já sabe usar git, este documento não é pra ti!

  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. Cria uma conta no github.com e atualize teu profile no Zulip para a incluir.
  4. Use o website do GitHub para criar um novo projeto: (maizinho (+) → New repository).
    • Escolhe o nome do repositório (provavelmente eu pedi pra ser um específico—verifique!)
    • Public? sim
    • Bota uma descrição se quiser.
    • Não adicione nenhum dos README, .gitignore, LICENSE, e continua.
    • Siga as instruções na próxima tela, que tem uns caminhos diferentes; sugiro o «create a new repository on the command line», ou seja, executar os seguintes comandos dentro da pasta que vai virar o repo:
      cd courses/fmc1/nomederepo
      echo "# nomederepo" >> README.md
      git init
      git add README.md
      git commit -m "first commit"
      git branch -M main
      git remote add origin git@github.com:USERNAME/nomederepo.git
      git push -u origin main
      
      Neste exemplo, a pasta do repositório é a nomederepo, dentro da courses/fmc1. Veja bem as informações sobre nomes de repos, pastas, arquivos, etc.

Depois disso, como uso?

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

Navegar para achar tua pasta, por exemplo:

cd courses/fmc1/fmc1repo

e dar os comandos lá. Por exemplo, vamos dizer que tu criou o 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 commit’a tal mudança:

git add 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.