Pular para o conteúdo
Novo

DeepSeek V4.1 Flash grátis por 7 dias: 10M tokens por dia após qualquer recarga. Até 30/11.

Como funciona

O que é GitHub? Repositórios, branches e seu primeiro projeto

GitHub para iniciantes: a diferença entre Git e GitHub, os termos básicos, um exercício local com Git e como checar um projeto antes de rodá-lo.

Iniciante5 min de leituraPor NotHoly

O GitHub é um site onde pessoas guardam, compartilham e revisam projetos de software. A maioria desses projetos é controlada com o Git, uma ferramenta de controle de versão que registra cada mudança em um conjunto de arquivos. O GitHub mantém repositórios Git online, oferece uma interface web e dá às equipes pull requests, issues e releases para trabalharem juntas no código.

Resposta curta: o Git é a ferramenta, e o GitHub é um dos lugares onde projetos Git são hospedados e discutidos.

Git e GitHub são ferramentas separadas

O Git roda no seu próprio computador. Você pode transformar qualquer pasta em um repositório e registrar mudanças sem conexão com a internet e sem conta no GitHub.

O GitHub é um serviço online. Ele guarda cópias de repositórios Git, mostra arquivos e histórico no navegador e acrescenta recursos como controle de issues e pull requests. Outros serviços também hospedam repositórios Git, então o GitHub é só um dos lugares onde ficam projetos Git.

Cinco termos para aprender primeiro

  • Repositório (repo): uma pasta de projeto junto com todo o histórico de mudanças.
  • Commit: um registro salvo de mudanças, com uma mensagem que as explica.
  • Branch: uma linha separada de commits. Você trabalha em uma branch para que a linha principal fique estável enquanto testa uma ideia.
  • Pull request: um pedido para mesclar os commits de uma branch em outra, geralmente depois que alguém revisa as diferenças.
  • Release: uma versão com nome que os mantenedores escolheram publicar, muitas vezes com arquivos para baixar.

Criar um repositório você mesmo é a forma mais rápida de entender esses termos.

Pratique Git na sua máquina

Você não precisa do GitHub para aprender o básico. Instale o Git pelo site oficial, git-scm.com, e depois confira a versão instalada:

bash
git --version

Na máquina Windows em que este artigo foi conferido, o comando imprimiu:

text
git version 2.49.0.windows.1

A sua saída vai mostrar outra versão. Depois, configure o nome e o e-mail que o Git anexa a cada commit. Use os seus próprios dados:

bash
git config --global user.name "Your Name"
git config --global user.email "[email protected]"

Agora crie um repositório de prática com duas branches e dois commits:

bash
mkdir security-learning-notes
cd security-learning-notes
git init
printf '# security-learning-notes\n' > README.md
git add README.md
git commit -m "Add README"
git switch -c add-glossary
printf -- '- DNS\n- HTTPS\n- hash\n- encryption\n' > glossary.md
git add glossary.md
git commit -m "Add glossary terms"
git branch

Ao rodar git branch nesse repositório, a saída foi:

text
* add-glossary
  master

O asterisco marca a branch em que você está. O nome da branch padrão pode ser master ou main, conforme a sua configuração do Git. No Windows, o Git também pode mostrar avisos sobre quebras de linha. Esses avisos não alteram os commits.

Coloque o projeto no GitHub

O guia Hello World do GitHub percorre esse fluxo no navegador. Menus e nomes de botões mudam com o tempo, então siga o guia oficial se a sua tela não corresponder a este texto:

  1. Crie uma conta em github.com.
  2. Crie um repositório novo chamado security-learning-notes. Escolha público ou privado.
  3. Adicione um arquivo README.md com uma frase que descreva o projeto.
  4. Crie uma branch chamada add-glossary.
  5. Adicione uma lista curta de termos e faça o commit.
  6. Abra um pull request, leia o diff e faça o merge.

A etapa do pull request importa mesmo num repositório pessoal. A visualização do diff mostra exatamente quais linhas mudaram antes que qualquer coisa chegue à branch principal.

Para enviar um repositório local ao GitHub, crie um repositório vazio no site e depois conecte pelo terminal. OWNER e REPOSITORY são placeholders. Troque main pelo nome da sua branch se o git branch mostrar master:

bash
git remote add origin https://github.com/OWNER/REPOSITORY.git
git push -u origin main

Baixando um projeto

Um git clone copia o repositório com o histórico completo:

bash
git clone https://github.com/OWNER/REPOSITORY.git

Substitua OWNER e REPOSITORY pelo dono e pelo nome que aparecem na barra de endereço da página do projeto. O clone baixa arquivos. Ele não executa nada do projeto e não prova que o projeto é seguro. Um ZIP baixado pelo site traz os arquivos sem histórico, o que serve para leitura, mas perde a trilha de commits.

Verifique o projeto antes de executar

Antes de rodar uma ferramenta que você nunca usou, examine o próprio repositório:

  • É o projeto oficial, ou um fork de um dono desconhecido?
  • Há uma licença, e o README lista os requisitos com clareza?
  • O projeto publica releases? Se publica checksums ou assinaturas, compare o arquivo baixado com eles.
  • O install.sh ou o script de instalação altera pacotes do sistema, instala serviços ou pede privilégios de administrador?
  • De quais conexões de rede e permissões a ferramenta vai precisar?
  • Dá para testar primeiro em um contêiner ou em uma máquina virtual descartável?

Leia os scripts de instalação antes de executá-los. Um README que manda colar um comando no terminal está pedindo que você rode código na sua máquina.

Ferramentas de segurança servem para trabalho autorizado. Pratique em máquinas suas, em um laboratório que você montou ou em alvos para os quais você tem permissão por escrito.

Erros comuns de iniciantes

Confundir Git com GitHub é um erro frequente. O Git funciona no seu computador e não precisa de site. O GitHub é um serviço construído em volta do Git.

Enviar segredos para o repositório é o segundo. Um token ou uma senha enviados a um repositório público podem ser copiados por qualquer pessoa que os encontre. Apagar a linha em um commit posterior não a remove do histórico. Revogue a credencial primeiro e depois siga o guia do GitHub sobre como remover dados sensíveis de um repositório.

Rodar comandos de um README sem lê-los é o terceiro. Scripts de instalação podem alterar o seu computador, então leia antes de executar.

Próximo passo

O próximo artigo desta trilha mostra como criar uma conta no GitHub e o seu primeiro repositório. Quando esse básico virar rotina, você pode começar a olhar ferramentas de segurança. Teste cada uma em um laboratório que você controla antes de confiar nela para qualquer coisa real.

Fontes

  1. GitHub Docs: Hello World
  2. Pro Git: About Version Control
  3. Git documentation: git-clone
  4. GitHub Docs: About pull requests
  5. GitHub Docs: Removing sensitive data from a repository

Mais em Linux e ferramentas de desenvolvimento

Linux e ferramentas de desenvolvimento

Bash básico para trabalho de segurança

Aprenda pipes, redirecionamento, variáveis, laços, códigos de saída e set -euo pipefail, e use isso para contar logins falhos e gerar hashes.

Iniciante14 min de leitura

Linux e ferramentas de desenvolvimento

Permissões no Linux: usuários, grupos, chmod e umask

Donos, grupos, bits rwx, chmod, umask e setuid no Linux, com laboratório que testa o acesso de outro usuário e procura modos arriscados.

Iniciante13 min de leitura

Linux e ferramentas de desenvolvimento

Chaves SSH: como funcionam e como usar com segurança

Como funcionam as chaves SSH de host e de usuário, por que Ed25519 com senha de proteção é o padrão e como proteger o login em uma VM de laboratório.

Iniciante11 min de leitura