JohKemPo / Github-Guide

"Customize your GitHub repository's README with ease using this repository. Choose from a variety of templates, themes, and markdown tools to create a README that stands out and accurately represents your project. Get started now and make your repository shine!"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Guia prático de Git e Github

  Este repositório fornece um guia abrangente sobre o Git e o GitHub, duas ferramentas essenciais para o controle de versão e colaboração no desenvolvimento de software.

S U M A R I O


  1. Introdução

    • O que é Git?
    • O que é Github?
    • O que é Versionamento de Código?
    • Vantagens do Versionamento de Código
    • Tipos de estado de um arquivo
  2. Capítulo 1: Git Básico

    1. Instalação do Git
      • Como instalar o Git no Windows
      • Como instalar o Git no macOS
      • Como instalar o Git no Linux
    2. Configuração Inicial do Git
      • Configurando seu nome de usuário e email
      • Configurando seu editor de texto preferido
      • Configurações globais e locais do Git
    3. Conceitos Fundamentais do Git
      • Repositórios Git
      • Commits
      • Branches
      • Tags
      • Working directory, Staging area e Repository
    4. Comandos Básicos do Git
      • git init: Iniciando um repositório Git
      • git clone: Clonando um repositório
      • git add: Adicionando alterações ao Staging area
      • git commit: Criando um commit
      • git pull: Sincronizar seu Repositório Local com o Remoto
      • git push: Envia as alterações ao repositório remoto.
      • git status: Verificando o status do repositório
      • git log: Visualizando o histórico de commits
      • git diff: Comparando mudanças
      • git reset: Desfazer commits
      • Comandos para Modificar o Estado de um Arquivo
  3. Capítulo 2: Trabalhando com Branches

    1. Branches no Git
      • O que é uma branch?
      • Criando e alterando branches
      • Excluindo branches
    2. Merges e Conflitos
      • Merging de branches
      • Resolvendo conflitos de merge
      • Rebase vs. Merge
    3. Fluxo de Trabalho Básico
      • Criando e trabalhando em uma nova branch
      • Fazendo commits em uma branch
      • Merging de uma branch
  4. Capítulo 3: GitHub

    1. Trabalhando com Repositórios
      • Criando um novo repositório
      • Configurações do repositório
      • Clonando um repositório
      • Issues e Pull Requests
      • .gitignore
    2. Colaboração no GitHub
      • Colaboradores e permissões
      • Forking de repositórios
      • Trabalhando em colaboração
      • Revisão de código
    3. Segurança
      • introdução
      • Chave SSH
        • No windows
        • No linux
        • No macOS
    4. Multiplos usuários git na mesma máquina
  5. Apêndice

    • Guia de Markdown
    • Material complementar

Introdução

O que é o Git?

  O Git é um sistema de controle de versão distribuído que permite rastrear as mudanças em um conjunto de arquivos ao longo do tempo. Ele é amplamente utilizado para o gerenciamento de código fonte em projetos de desenvolvimento de software, mas pode ser usado para qualquer tipo de arquivo.

O que é o GitHub?

  O GitHub é uma plataforma web que usa o Git para hospedar repositórios de código fonte e colaboração em projetos. Ele oferece recursos como controle de acesso, rastreamento de problemas (issues), solicitações de pull (pull requests) e muito mais.

Vantagens do Versionamento de Código

  O versionamento de código oferece uma série de benefícios que são fundamentais para o desenvolvimento de software colaborativo e gerenciamento de código-fonte.

  1. Colaboração Eficiente: Permite que várias pessoas trabalhem em um projeto simultaneamente, rastreando quem fez quais alterações.

  2. Histórico de Alterações: Mantém um registro completo de todas as modificações feitas em um projeto ao longo do tempo.

  3. Experimentação Segura: Os desenvolvedores podem criar branches para experimentar novos recursos ou correções sem afetar a versão principal do projeto.

  4. Rastreamento de Bugs: Facilita a identificação e correção de problemas, permitindo que os desenvolvedores voltem a versões anteriores para isolar bugs.

  5. Recuperação de Versões Anteriores: Possibilita a restauração de versões anteriores de um projeto, caso seja necessário reverter as alterações.

Tipos de Estado de um Arquivo

  Quando se trabalha com Git, os arquivos em um repositório podem estar em diferentes estados. Esses estados refletem o status do arquivo em relação ao controle de versão. Os quatro tipos principais de estados de um arquivo são:

  1. Untracked: Arquivos que o Git não está rastreando. Isso significa que o Git não tem conhecimento desses arquivos. Para rastreá-los, você precisa adicioná-los ao Git.

  2. Staged: Arquivos que estão preparados para serem incluídos no próximo commit. Quando você realiza alterações em um arquivo e o "adiciona" ao Staging area, ele entra nesse estado.

  3. Unmodified: Arquivos que não foram alterados desde o último commit. Quando um arquivo é confirmado, ele fica neste estado até sofrer novas alterações.

  4. Modified: Arquivos que foram alterados desde o último commit. Quando você faz alterações em um arquivo rastreado, ele entra neste estado.

 Entender e gerenciar esses estados é fundamental para o uso eficaz do Git, pois permite controlar quais alterações serão incluídas em um commit. O comando git status é usado para verificar o estado atual dos arquivos no repositório.

Git básico

Instalação Git

No Windows:

  1. Acesse o site oficial do Git para Windows em https://git-scm.com/download/win.
  2. Baixe o instalador para Windows.
  3. Execute o arquivo de instalação baixado.
  4. Siga as instruções do instalador, aceitando as configurações padrão, a menos que você tenha necessidades específicas.
  5. Após a instalação, você pode verificar se o Git foi instalado corretamente executando o seguinte comando no Terminal:
git --version

No macOS:

  1. Use o Homebrew, um gerenciador de pacotes, para instalar o Git. Abra o Terminal e execute o seguinte comando:
brew install git
  1. Baixe o instalador para Windows.
  2. Execute o arquivo de instalação baixado.
  3. Siga as instruções do instalador, aceitando as configurações padrão, a menos que você tenha necessidades específicas.
  4. Após a instalação, você pode verificar se o Git foi instalado corretamente executando o seguinte comando no Terminal:
git --version

No Linux (Debian/Ubuntu):

  1. No terminal execute o comando a seguir para instalar o Git:
sudo apt-get install git
  1. Após a instalação, você pode verificar se o Git foi instalado corretamente executando o seguinte comando no Terminal:
git --version

Configuração Inicial do Git

  Quando você instala o Git pela primeira vez, é importante configurar algumas informações iniciais, como seu nome de usuário e endereço de email, para que seus commits sejam identificados corretamente. Aqui estão as principais configurações iniciais:

  • Configurando seu nome de usuário e email:

    • Use os comandos git config para definir seu nome de usuário e endereço de email globalmente, para que sejam usados em todos os repositórios Git.
    • Exemplo:
    git config --global user.name "Seu Nome"
    git config --global user.email "seu@email.com"
    
  • Configurando seu editor de texto preferido (Opicional):

    • Você pode escolher o editor de texto que deseja usar ao escrever mensagens de commit. Isso é configurado globalmente.
    • Exemplo:
    git config --global core.editor "seu_editor_preferido"
    
  • Configurações globais e locais do Git:

    • As configurações do Git podem ser definidas globalmente ou localmente para um repositório específico.
    • Configurações globais se aplicam a todos os repositórios em sua máquina.
    • Configurações locais se aplicam apenas a um repositório específico.
    • Para listar as cofigurações globais:
    git config --list
    

Conceitos Fundamentais do Git

  O Git é baseado em alguns conceitos fundamentais que são essenciais para entender como ele funciona:

  • Repositórios Git: Um repositório Git é um diretório que contém todos os arquivos do seu projeto, juntamente com um banco de dados especial para rastrear as alterações (histórico).

    Repositório Local:

     Um repositório local é um diretório em seu computador onde você armazena todos os arquivos e informações relacionadas a um projeto Git. Ele contém:

    • Working Directory (Diretório de Trabalho): O diretório no seu computador onde você cria, edita e organiza seus arquivos de projeto.

    • Área de Staging (ou Index): Uma área intermediária onde você prepara as alterações que deseja confirmar (commit) no repositório. Isso permite que você selecione quais alterações serão incluídas no próximo commit.

    • Histórico de Commits: Uma série de snapshots (instantâneos) das versões do seu projeto. Cada commit contém informações sobre as alterações feitas, o autor e uma identificação única.

    • Branches: Divisões no histórico de commits que permitem que você trabalhe em diferentes linhas de desenvolvimento sem afetar o branch principal (geralmente chamado de "master" ou "main"). Você pode criar, mesclar e alternar entre branches no seu repositório local.

    Repositório Remoto:

     Um repositório remoto é um repositório Git armazenado em um servidor remoto (como GitHub, GitLab, Bitbucket ou um servidor próprio). Ele contém:

    • Histórico de Commits Remotos: Uma cópia do histórico de commits do projeto, incluindo todas as alterações confirmadas por outros colaboradores.

    • Controle de Acesso: O repositório remoto geralmente possui configurações de controle de acesso, como permissões de leitura e gravação, que determinam quem pode visualizar e contribuir para o projeto.

    • Colaboração: O repositório remoto permite que várias pessoas colaborem em um projeto. Os desenvolvedores podem clonar (copiar) o repositório remoto para seus computadores locais, fazer alterações e, em seguida, enviar essas alterações de volta para o repositório remoto. Isso permite uma colaboração eficiente em projetos de equipe.

    • Backup e Distribuição: O repositório remoto serve como um local centralizado para armazenar e fazer backup de todo o histórico de commits do projeto. Também facilita a distribuição do código para outros desenvolvedores.

  • Commits: Um commit é um snapshot do estado do seu projeto em um determinado momento. Cada commit tem uma mensagem descritiva que explica o que foi alterado.

  • Branches: As branches são ramificações do desenvolvimento do seu projeto. Elas permitem que você trabalhe em funcionalidades ou correções separadamente, sem afetar o código principal.

  • Tags: As tags são usadas para marcar pontos específicos no histórico do Git, como versões estáveis ou marcos importantes.

  • Working Directory, Staging Area e Repository: O Working Directory é onde você faz as alterações nos arquivos. O Staging Area é onde você prepara as alterações para serem commitadas. O Repository é onde todas as alterações são armazenadas.

Comandos Básicos do Git

  O Git oferece uma variedade de comandos fundamentais que são essenciais para o gerenciamento de repositórios. Aqui estão os principais comandos e suas descrições:

git init: Iniciando um repositório Git

 O comando git init é usado para iniciar um novo repositório Git em um diretório. Isso cria um ambiente de controle de versão para os arquivos naquele diretório.

  • Exemplo:
git init

git clone: Clonando um repositório

 O comando git clone permite criar uma cópia local de um repositório Git remoto. Isso é útil quando você deseja colaborar em um projeto existente ou trabalhar em diferentes máquinas.

  • Exemplo:
git clone URL_do_Repositório

git add: Adicionando alterações ao Staging area

 O comando git add é usado para adicionar alterações específicas de arquivos ao que é chamado de Staging area. Isso prepara as alterações para serem incluídas no próximo commit.

  • Exemplo:
  • Para adicionar arquivos especificos em estado Untracked ou Modified:
git add nome_do_arquivo
  • Para adicionar todos os arquivos em estado Untracked ou Modified:
git add .

git commit: Criando um commit

 O comando git commit é usado para criar um novo commit que inclui todas as alterações que estão no Staging area. Cada commit deve ter uma mensagem descritiva.

  • Exemplo:
git commit -m "Mensagem do commit"

git pull: Sincronizar seu Repositório Local com o Remoto

 O comando git pull usado para sincronizar seu repositório local com o repositório remoto para garantir que você esteja trabalhando com as informações mais atualizadas. Use o comando git pull para puxar as mudanças do repositório remoto e mesclá-las com o seu repositório local.

  • Exemplo:
git pull origin main

git push: Enviando alterações ao remoto

 Depois de comitar suas alterações e sincronizar seu repositório local, você está pronto para enviar as alterações para o repositório remoto. Use o comando git push seguido do nome do repositório remoto (por padrão, "origin") e o nome da ramificação que deseja atualizar.

  • Exemplo:
git push origin main

Explicando melhor:

  • git push: Este é o comando principal para enviar suas alterações (commits) locais para um repositório remoto. Ele sincroniza as alterações locais com o repositório remoto.

  • -u (ou --set-upstream): A opção -u é usada para definir o controle remoto padrão para o branch local. Isso é útil para que você possa usar git pull e git push posteriormente sem especificar o controle remoto e o branch toda vez. O origin e o main no comando indicam o nome do controle remoto e o nome do branch para o qual você está enviando suas alterações.

  • origin: É o nome do controle remoto. O controle remoto é uma referência ao repositório remoto, que é geralmente hospedado em uma plataforma como GitHub, GitLab, Bitbucket, etc. O nome origin é um nome comum para o controle remoto principal, mas você pode dar a ele o nome que preferir.

  • main: É o nome do branch que você está enviando para o repositório remoto.

git status: Verificando o status do repositório

 O comando git status permite verificar o estado atual do repositório, mostrando quais arquivos foram modificados, adicionados ao Staging area ou estão não rastreados.

  • Exemplo:
git status

git log: Visualizando o histórico de commits

 O comando git log é usado para visualizar o histórico de commits do repositório. Isso inclui informações como o autor, data e mensagem de cada commit.

  • Exemplo:
git log

git diff: Comparando mudanças

 O comando git diff é utilizado para visualizar as diferenças entre o estado atual dos arquivos e o último commit. Isso é útil para entender as alterações feitas.

  • Exemplo:
git diff

git reset: Desfazer commits

 O comando git reset é utilizado para desfazer commits. Ele permite mover os commits para um estado anterior e pode ser útil para corrigir erros ou reorganizar o histórico.

  • Exemplo:
git reset HEAD~1

 HEAD~1: Esta parte do comando especifica o ponto para o qual você deseja reverter. O HEAD representa o commit mais recente na branch atual, e o ~1 indica que você deseja voltar um único commit. Se você desejar voltar mais de um commit, poderá ajustar o número após o til (~).

 Portanto, quando você executa git reset HEAD~1, o Git moverá a branch atual para o commit anterior, desfazendo o último commit. As alterações feitas no commit desfeito não são perdidas; elas voltam ao estado "unstaged" no diretório de trabalho, permitindo que você modifique e reconfigure as alterações antes de fazer um novo commit.

Comandos para Modificar o Estado de um Arquivo

 Além dos comandos mencionados acima, também é possível usar git checkout para desfazer alterações não salvas em um arquivo específico e git reset para mover arquivos do estado "staged" para "unmodified" ou "modified".

Trabalhando com Branches

Branches no Git

O que é uma branch?

 Uma branch é uma ramificação independente no Git que permite desenvolver funcionalidades ou correções de forma isolada do ramo principal (geralmente chamado de "master" ou "main"). Entretanto, é possível criar branches com quaisquer nomes, comumente com os nomes das funcionalidades especificas em desenvolvimento.

Criando e alterando branches

  • Criar uma branch: Use o comando git branch nome_da_branch para criar uma nova branch.
git branch nome_da_branch
  • Alternar para uma branch: Use o comando git checkout nome_da_branch para mudar para a branch desejada.
git checkout nome_da_branch
  • Excluir uma branch: Use o comando git branch -d nome_da_branch para remover uma branch que não é mais necessária.
git branch -d nome_da_branch

Criando a partir de outra

  • Certifique-se de estar na branch de origem:
git checkout nome-da-branch-de-origem
  • Crie uma nova branch a partir da branch de origem:
git checkout -b nome-da-nova-branch

Isso cria uma nova branch e a seleciona automaticamente.

  • Faça as alterações necessárias e adicione-as ao controle de versão:
git add .
git commit -m "Mensagem do commit"
  • Publique a nova branch no repositório remoto:
git push origin nome-da-nova-branch

Merges e Conflitos

Merging de branches

  O comando `git merge nome_da_branch` é usado para mesclar o conteúdo de uma branch em outra. Isso integra as alterações feitas em uma branch à branch de destino.

Resolvendo conflitos de merge

  Quando o Git não pode mesclar automaticamente as alterações de duas branches devido a conflitos, você precisará resolver manualmente os conflitos. Isso envolve editar os arquivos com conflitos, adicioná-los ao estágio (usando `git add`) e, em seguida, criar um novo commit.

Rebase vs. Merge

  O `rebase` é uma alternativa ao merge. Ele reorganiza o histórico de commits, "movendo" suas alterações para o topo da branch de destino, resultando em um histórico linear. O `merge` cria um novo commit de mesclagem, mantendo o histórico original.

Fluxo de Trabalho Básico

Criando e trabalhando em uma nova branch

  Use `git checkout -b nova_branch` para criar e alternar para uma nova branch em um único comando. Isso é útil ao iniciar uma nova funcionalidade ou correção.

Fazendo commits em uma branch

  Depois de alternar para uma branch, você pode fazer commits normais usando `git commit `para salvar as alterações. Os commits são específicos para a branch em que você está trabalhando.

Merging de uma branch

  Quando sua funcionalidade ou correção estiver pronta, você pode mesclá-la de volta à branch principal (por exemplo, `master` ou `main`) usando `git merge`. Isso incorpora suas alterações ao ramo principal do projeto.

  Trabalhar com branches no Git permite um desenvolvimento organizado e colaborativo, onde várias funcionalidades ou correções podem ser desenvolvidas simultaneamente sem conflitos constantes.

Github

Trabalhando com Repositórios

  Repositórios no GitHub são a base de todo o desenvolvimento colaborativo. É onde você armazena, compartilha e colabora em projetos.

Criando um Novo Repositório

Passos para criar um novo repositório no GitHub:

  1. Acesse o GitHub e faça login na sua conta.

  2. No canto superior direito, clique no botão "+" e escolha "Novo repositório".

  3. Preencha as informações do repositório:

    • Nome do Repositório: Escolha um nome significativo para o seu projeto.
    • Descrição: Descreva o propósito do repositório.
    • Visibilidade: Pode ser público ou privado, dependendo das suas necessidades.
    • Inicializar com um README: É uma boa prática marcar essa opção para criar um arquivo README inicial.
  4. Clique no botão "Criar repositório."

  5. Vinculando repositório:

    1. Iniciando um novo repositório na linha de comando:
          git init
          git add README.md
          git commit -m "first commit"
          git branch -M main # Ou a branch padrao pré configurada, normalmente "master"
          git remote add origin `HTTPS DO REPOSITÓIO`
          git push -u origin main
    2. Enviando a um repositório existente a partir da linha de comando:
          git remote add origin `HTTPS DO REPOSITÓIO`
          git branch -M main # Ou a branch padrao pré configurada, normalmente "master"
          git push -u origin main

Configurações do Repositório

Personalizando as configurações do repositório:

Após criar o repositório, você pode personalizar suas configurações da seguinte forma:

  • Configurações: Nesta seção, você pode definir configurações importantes, como opções de colaboração, acesso e configurações de segurança. Por exemplo, você pode adicionar colaboradores, definir permissões de acesso, habilitar a proteção de ramos e muito mais.

  • Integrações: Configure integrações com outras ferramentas e serviços para automatizar fluxos de trabalho e aumentar a produtividade. O GitHub oferece uma ampla variedade de integrações, como integração contínua, rastreamento de problemas e implantação automática.

  • Notificações: Personalize as notificações que você deseja receber sobre atividades no repositório.

  • Colaboradores: Adicione pessoas ou equipes como colaboradores, permitindo que eles contribuam para o repositório.

  • Segurança: Configure medidas de segurança, como verificação de Dependabot para atualizações de pacotes.

  • Opções do GitHub Pages: Se desejar hospedar uma página da web a partir do seu repositório, você pode configurá-la aqui.

  • Transferir repositório: Se necessário, você pode transferir a propriedade do repositório para outra conta.

Clonando um Repositório

Para clonar um repositório do GitHub para sua máquina local:

  • Abra o terminal (no caso do Linux ou macOS) ou use o Git Bash (no caso do Windows).

  • Navegue até o diretório onde você deseja clonar o repositório.

  • No GitHub, vá até o repositório que deseja clonar e clique no botão "Código."

  • Copie a URL do repositório (por exemplo, "https://github.com/seunome/seurepo.git").

No terminal, digite o seguinte comando:

git clone URL_do_Repositório

Agora você possui uma cópia local do repositório e pode começar a trabalhar em seus arquivos.

Issues e Pull Requests

Issues:

 As issues são usadas para rastrear problemas, sugestões, tarefas e melhorias em um repositório. Elas são úteis para manter o controle das discussões e do progresso do desenvolvimento. Para criar uma issue, siga estes passos:

  • No repositório, vá até a guia "Issues."

  • Clique no botão "Nova issue."

  • Preencha os detalhes, incluindo um título descritivo e um corpo explicando o problema ou sugestão.

  • Clique em "Criar issue."

Pull Requests:

 Os pull requests são usados para propor alterações em um repositório. Eles são fundamentais para a colaboração e revisão de código. Para criar um pull request, siga estes passos:

  • Faça as alterações desejadas em uma branch no seu repositório.

  • No GitHub, vá até o repositório e clique na guia "Pull Requests."

  • Clique no botão "Novo pull request."

  • Escolha a base (a branch de destino) e a branch com suas alterações.

  • Preencha os detalhes do pull request, incluindo um título e uma descrição.

  • Clique em "Criar pull request."

 Agora outros colaboradores podem revisar suas alterações, fazer comentários e, quando estiverem prontos, mesclar as alterações no repositório principal.

 Trabalhar com repositórios no GitHub é fundamental para o desenvolvimento colaborativo. Você pode criar, configurar e colaborar em projetos de software de forma eficaz, controlando seu código e facilitando a comunicação entre membros da equipe.

.gitignore: Ignorando Arquivos Indesejados

 O arquivo `.gitignore` é uma parte fundamental de qualquer repositório Git. Ele permite que você especifique quais arquivos e diretórios devem ser ignorados pelo Git. A importância do `.gitignore` reside no fato de que ele ajuda a manter o repositório limpo e a evitar o rastreamento acidental de arquivos que não devem fazer parte do controle de versão.

Os tipos de arquivos que você geralmente deseja ignorar no .gitignore incluem:

  • Arquivos de compilação.
  • Arquivos temporários.
  • Arquivos de sistema.
  • Dependências de terceiros (por exemplo, bibliotecas).

Ao criar um arquivo .gitignore, você pode especificar padrões de correspondência para os arquivos a serem ignorados. Por exemplo:

# Ignorar arquivos de compilação
*.o
*.out

# Ignorar arquivos de configuração
config.ini

# Ignorar diretórios gerados
build/

 O uso adequado do `.gitignore` ajuda a manter o repositório organizado e evita que arquivos desnecessários sejam incluídos nos commits.

 Existem sites que constroem o `.gitignore` automaticamente para seu projeto, como por exemplo, o toptal.

Colaboração no GitHub

Colaboradores e Permissões

 O GitHub permite adicionar colaboradores a um repositório e definir permissões específicas para eles. Isso ajuda a controlar quem pode contribuir e de que forma.

Adicionando Colaboradores

  • Acesse o repositório no GitHub.
  • Clique em "Settings" no menu do repositório.
  • Na guia "Manage access," você pode adicionar colaboradores pelo nome de usuário ou endereço de e-mail.

Permissões

As permissões padrão no GitHub incluem:

  • Read: Pode visualizar o repositório.
  • Write: Pode fazer commits e enviar alterações.
  • Admin: Tem controle total, incluindo permissões de acesso e exclusão.

Forking de Repositórios

 Forking é uma funcionalidade essencial no GitHub que permite criar uma cópia independente de um repositório. Isso é útil quando você deseja contribuir para projetos de terceiros.

Como fazer Fork de um Repositório

  • Acesse o repositório que deseja forkar.
  • Clique no botão "Fork" no canto superior direito.
  • Isso criará uma cópia do repositório em sua conta.

Trabalhando em Colaboração

 Uma vez que você tenha um fork do repositório, você pode trabalhar nas suas alterações. Aqui estão os passos gerais para trabalhar em colaboração:

  1. Clone o fork para o seu ambiente de desenvolvimento local.
    git clone URL_do_Seufork
    
  2. Crie uma branch para a funcionalidade que deseja desenvolver.
    git checkout -b minha_branch
    
  3. Faça suas alterações no código.
  4. Adicione e faça commit das suas alterações.
git add .
git commit -m "Minha mensagem de commit"
  1. Faça push das alterações para o seu fork.
git push origin minha_branch
  1. No GitHub, crie um Pull Request para o repositório original.

Revisão de Código

 Um dos aspectos mais importantes da colaboração no GitHub é a revisão de código. Quando você cria um Pull Request, outros colaboradores podem analisar suas alterações e fazer comentários.

  • Os revisores podem fazer sugestões ou aprovar as alterações.
  • O autor do Pull Request pode fazer alterações com base nos comentários.

 Essa abordagem ajuda a manter a qualidade do código e a promover a colaboração eficaz entre membros da equipe ou da comunidade.

Segurança

 A segurança é uma consideração fundamental ao usar o GitHub. Proteger seu acesso e suas credenciais é essencial para manter seus repositórios e dados seguros. Nesta seção, abordaremos tópicos relacionados à segurança no GitHub.

Introdução

 A segurança no GitHub abrange várias áreas, desde o acesso à autenticação até o gerenciamento de permissões. É importante garantir que seu ambiente GitHub seja seguro para evitar vulnerabilidades e garantir a integridade de seus projetos.

Chave SSH

 As chaves SSH são uma maneira segura de autenticar-se no GitHub. Elas são usadas para estabelecer uma conexão segura entre seu computador e o GitHub. Abaixo estão instruções para configurar chaves SSH no Windows, Linux e macOS.

No Windows

  1. Gerando uma Chave SSH:

    • Abra Git Bash.
    • Cole o texto abaixo, substituindo o endereço de e-mail pelo seu GitHub.
      ssh-keygen -t ed25519 -C "your_email@example.com"
      
    • No prompt, digite uma senha segura.
    • Copie a chave pública SSH para a sua área de transferência.
      cat "caminho da chame publica"
      # ~/.ssh/id_ed11111.pub EXEMPLO
      
    • Na página "Settings" do github, clique em "SSH and GPG keys" (Chaves SSH e GPG) no menu lateral esquerdo.
    • Clique em "New SSH key" (Nova chave SSH).
    • No campo "Title" (Título), dê um nome descritivo para sua chave.
    • No campo "Key" (Chave), cole a chave pública que você copiou anteriormente.
    • Clique em "Add SSH key" (Adicionar chave SSH) para salvar a chave.

No Linux

  1. Gerando uma Chave SSH:

    • Abra um terminal no Linux.

    • Cole o texto abaixo, substituindo o endereço de e-mail pelo seu GitHub.

      ssh-keygen -t ed25519 -C "your_email@example.com"
      
    • Siga as instruções para configurar uma senha para a chave, se desejar.

  2. Copiando a Chave Pública para o GitHub:

    • Use cat ~/.ssh/sua_chave_publica.pub para exibir a chave pública.
    • Copie a chave e adicione-a às configurações do SSH no GitHub. Acesse sua conta no GitHub (github.com) e navegue até "Settings" (Configurações) no menu de perfil.
    • Copie a saída do comando, que é a chave pública.
    • Na página "Settings" do github, clique em "SSH and GPG keys" (Chaves SSH e GPG) no menu lateral esquerdo.
    • Clique em "New SSH key" (Nova chave SSH).
    • No campo "Title" (Título), dê um nome descritivo para sua chave.
    • No campo "Key" (Chave), cole a chave pública que você copiou anteriormente.
    • Clique em "Add SSH key" (Adicionar chave SSH) para salvar a chave.

No macOS

 O processo para gerar e adicionar chaves SSH no macOS é semelhante ao do Linux. Você pode seguir as instruções acima para o Linux no macOS.

Multiplos usuários git na mesma máquina

  1. Crie Chaves SSH para cada conta
  2. Publique as chaves nos respectivos Gihub
  3. Crie um arquivo de configuração e determine as informações host

Criando chaves ssh - relembrando

  • Crie as chaves ssh para cada usuário:

Não se esqueça de diferenciar os nomes das chaves geradas

ssh-keygen -t rsa -C "email" -f "nome-chave-usuario-1"
ssh-keygen -t rsa -C "email" -f "nome-chave-usuario-2"
...
  • No prompt, digite uma senha segura.

    • Copie a chave pública SSH para a sua área de transferência.
      cat "caminho da chame publica"
      # ~/.ssh/id_ed11111.pub EXEMPLO
      
    • Na página "Settings" do github, clique em "SSH and GPG keys" (Chaves SSH e GPG) no menu lateral esquerdo.
    • Clique em "New SSH key" (Nova chave SSH).
    • No campo "Title" (Título), dê um nome descritivo para sua chave.
    • No campo "Key" (Chave), cole a chave pública que você copiou anteriormente.
    • Clique em "Add SSH key" (Adicionar chave SSH) para salvar a chave.
  • Certifique-se de as chaves publicas e privadas estarem na pasta .ssh

Caso ela não exita crie e salve as chaves nela.

  • No diretório .ssh crie o arquivo config
touch config
  • Edite o arquivo config:
open config
  • Configure os respectivos dados HOST:
#Informações da conta 1
Host github.com-conta1
    HostName github.com
    User git
    IdentityFile ~/.ssh/github-conta1

#Informações da conta 2
Host github.com-conta2
    HostName github.com
    User git
    IdentityFile ~/.ssh/github-conta2
  • Clonando repositorio:

Agora esta tudo configurado! Basta clonar o respositório desejado:

git clone git@github.com-{seu-username}:{user-name-do-repositorio}/{nome-do-repositorio}.git

# EXEMPLO
git clone git@github.com-conta1:usuario-1/TestRepo.git

Apêndice

Guia prático de marckdown

Link para o repositório completo

 O Markdown foi criado por John Gruber e Aaron Swartz em 2004, com o objetivo de permitir a escrita de texto com formatação fácil de ler e escrever, que pode ser convertido em HTML e outros formatos.

Material complementar

 Material de consulta em geral sobre personalização de readme e dicas


Equipe


Desenvolvedor GitHub LinkedIn
👤 João Vitor Moraes https://github.com/JohKemPo https://www.linkedin.com/in/joao-vitor-de-moraes/

About

"Customize your GitHub repository's README with ease using this repository. Choose from a variety of templates, themes, and markdown tools to create a README that stands out and accurately represents your project. Get started now and make your repository shine!"