Workshop de Git e GitHub

Eric Brasil (IHLM/UNILAB)

octolabhd

O que é git e github?

Tem diferença? É a mesma coisa? Por que usar?

Git

GitHub

Git

Instalação

Site oficial: git-scm.com

Configurando

Criar um diretório git

Esse comando cria a estrutura do git, como pode ser visto no diretório .git

Mudanças

Os arquivos no seu diretório git podem estar em 3 estágios:

  1. Modified: Um arquivo alterado sem ter sido preparado ou gravado no git está na condição de "modificado" (modified).

  2. Staged: preparado para entrar no histórico.

    • git add [arquivo]: prepara o arquivo ou arquivos para serem enviados
    • Os arquivos passam para a condição de preparados (staged)
  3. Commited: gravados no histórico do git

    • git commit: grava as alterações no histórico
    • git commit -m "mensagem do commit"
    • git commit -a -m "mensagem do commit"

Lembrando que um commit armazena um snapshot de tudo que você incluiu sua 'staging area'.

É possível consultar o status dos arquivos no diretório:

É possível acessar as diferenças entre os arquivos

Remover um arquivo do diretório de trabalho e também do histórico:

Remover apenas o registro do arquivo do histórico, mas manter o arquivo no diretório de trabalho:

Renomear arquivos

-git mv [atual] [novo]

Ver os registros das ações:

-git log

Desfazendo coisas

Corrigir o último commit:

Desfazer preparação de arquivos:

Clonando e lidando com Remotes

Para clonar um diretório de algum servidor online:

Todo conteúdo do repositório será clonado localmente.

O repositório online é chamado de origin

Para adicionar um remote ao repositório local:

Para verificar o repositório remoto:

Fetch:

Push

Ex:git push origin main

Pull

Branches

Criar um novo branch

HEAD => aponta para qual branch você está

Mudar de branch

Merge

Deletar branch

GitHub

Vai hospedar o repositório remoto, versionado com git.

Usuário e Organização

Repositórios

Existem várias formas de enviar um repositório local para o GitHub.

Nesse link há um tutorial de como fazer isso usando linha de comando.

  1. GitHub Desktop (oficial para windows e macOs)
  2. GitHub CLI
  1. Através de IDEs, como Visual Studio Code, RStudio, Atom, entre outros.
  2. Apenas com git: crie um repositório vazio no GitHub e copie a url. em seguida, de dentro do repositório local, abra o terminal e:

Commits

Branches

Pull Request

Template criado para internetlab2022

Issues

Template criado para internetlab2022

Projects

Teams

Discussions

Referenciando Issues, PRs, usuários e equipes

Todos os PRs e Issues são atribuídos com um número, #1, #523, etc.

Assim, toda vez que for necessário, você pode fazer referência a eles apenas inserindo #número.

Também é possível referenciar issues e PRs de outros repostirórios, marcando username/repo#<num>.

Para marcar usuários ou equipes (teams) no corpo do texto de issues e PRs é só inserir @username ou @team.

Markdown

Toda plataforma supor a sintaxe Markdown. Portanto, ao escrever issues, PRs, comentários, README.md, etc, você deve usar essa sintaxe.

Para saber mais, veja o minicurso de Markdown: Uma introdução ao Markdown

Workflow básico

O workflow colaborativo básico do GitHub está centrado nos Pull Requests.

  1. Criar um branch "tópico" a partir do main;
  2. Trabalhar localmente e realizar commits para aprimorar o projeto;
  3. Enviar o branch (Push) para o seu projeto remoto (origin);
  4. Abrir um Pull Request no GitHub;
  5. Discuta, receba revisões e comentários sobre seu PR;
  6. O proprietário ou responsável pelo projeto mescla ou encerra o seu PR.

Saber mais...

  1. Actions;
  2. GitHub Pages;
  3. GitHub Education.