Git e GitHub
JAPEX
Git e GitHub

Git e GitHub

Colaboração e Controle de Versão para Qualquer Área de Conhecimento


Universidade do Estado da Bahia
JAPEX

JAPEX
Git e GitHub

Mauricio Souza Menezes

  • Bacharel em Sistema de Informação - UnEB
  • Arquiteto/Desenvolvedor de Software (Renova)
  • Pesquisador em Computação e Bioinformática (G2BC)

Contato

JAPEX
Git e GitHub

Objetivos da Apresentação

  1. Entender o que é um Sistema de Controle de Versão.
  2. Conhecer o Git e o GitHub.
  3. Aprender as vantagens de utilizar o Git e o GitHub.
  4. Conhecer os comandos básicos do Git.
  5. Aprender a utilizar o Git e o GitHub.
JAPEX
Git e GitHub

Sistema de Controle de Versão

JAPEX
Git e GitHub

Por Quê Utilizar um Sistema de Controle de Versão?

JAPEX
Git e GitHub

Organização de Arquivos

center

JAPEX
Git e GitHub

O que é um Sistema de Controle de Versão - VCS?

  • Sistema que registra alterações em um arquivo ou conjunto de arquivos ao longo do tempo.
  • Arquivos de texto: código-fonte, documentos, etc.
  • Arquivos binários: imagens, vídeos, etc.
JAPEX
Git e GitHub

Por Quê Utilizar um Sistema de Controle de Versão?

  1. Organização e Histórico de Alterações
  2. Rastrear alterações em arquivos.
  3. Garantir a recuperação de versões anteriores.
  4. Facilitar a colaboração entre pessoas.
JAPEX
Git e GitHub

Git e GitHub

JAPEX
Git e GitHub

O que é Git?

  • Git é um sistema de controle de versão distribuído.
  • Ele foi inicialmente pensado para rastrear mudanças no código-fonte durante o desenvolvimento de software.
  • Projetado para coordenar o trabalho entre programadores, mas pode ser usado para rastrear mudanças em qualquer conjunto de arquivos.
  • Ele é um software livre e de código aberto.
  • Ele foi criado por Linus Torvalds em 2005.
JAPEX
Git e GitHub

O que é GitHub?

  • GitHub é uma plataforma de hospedagem de código-fonte e arquivos baseado no Git.
  • Ele permite que você e outras pessoas trabalhem juntas em projetos de qualquer lugar.
  • Ele foi criado por Tom Preston-Werner, Chris Wanstrath, e PJ Hyett em 2008.
  • Ele foi adquirido pela Microsoft em 2018.
  • Ele é um serviço pago, mas também oferece planos gratuitos.
JAPEX
Git e GitHub

GIT

JAPEX
Git e GitHub

Como funciona o Git?

  • Armazena os arquivos em um repositório.
  • Trata seus arquivos como um conjunto de imagens.
  • O Git tira uma "foto" de cada arquivo e armazena uma referência para essa "foto".
  • Se o arquivo não foi alterado, o Git não tira outra "foto".
  • Funciona como um fluxo do estado dos arquivos.
JAPEX
Git e GitHub

Como funciona o Git?

Fluxo de Estado dos Arquivos

center

JAPEX
Git e GitHub

Como funciona o Git?

Áreas de Trabalho do Git

  • Working Directory: É onde você trabalha nos arquivos.
  • Staging Area: É onde você prepara os arquivos para serem commitados.
  • Repository: É onde o Git armazena os arquivos e o histórico de alterações.
JAPEX
Git e GitHub

Como funciona o Git?

Fluxo de Trabalho do Git

center

JAPEX
Git e GitHub

Git - Comandos Básicos

  • git init: Inicializa um repositório Git.
  • git add <arquivo>: Adiciona um arquivo ao repositório.
  • git add .: Adiciona todos os arquivos ao repositório.
  • git commit -m "Mensagem": Faz um commit com uma mensagem.
  • git status: Verifica o status do repositório.
  • git log: Mostra o histórico de commits.
  • git diff: Mostra as diferenças entre arquivos.
JAPEX
Git e GitHub

Mão na Massa - Git

JAPEX
Git e GitHub

Mão na Massa - Git - Instalação

Instalação

  • Instalar o Git: https://git-scm.com/
    • Windows: Download do instalador e executar.
    • Linux: Utilizar o gerenciador de pacotes.
      • Debian/Ubuntu: sudo apt install git
    • MacOS: Utilizar o Homebrew.
      • brew install git
JAPEX
Git e GitHub

Mão na Massa - Git

Instalação

JAPEX
Git e GitHub

Mão na massa - Git

Configuração Inicial

Utilizando o terminal, execute os seguintes comandos:

git config --global user.name "Fulano de Tal"
git config --global user.email "fulanotal@email.com"
  • Verificar a configuração:

    git config --global --list
    git config user.name
    
JAPEX
Git e GitHub

Mão na massa - Git

  • Criando um Diretório:

    mkdir -pv /projeto/git_github && cd /projeto/git_github
    
  • Criar um repositório:

     git init
    
  • Verificar status do repositório:

    git status
    
JAPEX
Git e GitHub

Mão na massa - Git

  • Adicionar arquivos ao repositório:

    git add .
    
  • Fazer um commit:

     git commit -m "Primeiro commit"
    
  • Verificar histórico de commits:

     git log
    
JAPEX
Git e GitHub

Git - Gitignore

  • O arquivo .gitignore é um arquivo de configuração do Git.
  • Ele permite que você especifique arquivos e diretórios que o Git deve ignorar.
  • Ele é útil para ignorar arquivos temporários, arquivos de compilação, arquivos de log, etc.
  • Ele é um arquivo de texto simples.
JAPEX
Git e GitHub

GitHub

JAPEX
Git e GitHub

Mão na Massa - GitHub

Criando um repositório no GitHub

center

JAPEX
Git e GitHub

Mão na Massa - GitHub

Criando um repositório no GitHub

center

JAPEX
Git e GitHub

Mão na Massa - GitHub

Criando um repositório no GitHub

center

JAPEX
Git e GitHub

Mão na Massa - GitHub

Criando um repositório no GitHub

center

JAPEX
Git e GitHub

Mão na Massa - GitHub

Clonando um repositório

  • Copie a URL do repositório.

  • No terminal, execute o comando:

    git clone <URL>
    
JAPEX
Git e GitHub

Mão na Massa - GitHub

Clonando um repositório

  • Verificar o repositório clonado:

    ls -la
    
    cd <repositório>
    ls -la
    
    git status
    
JAPEX
Git e GitHub

Mão na Massa - GitHub

Pull e Push de Arquivos

  • Adicionar arquivos ao repositório:

    git add .
    
  • Fazer um commit:

     git commit -m "Primeiro commit"
    
  • Enviar arquivos para o repositório remoto:

       git push origin master
    
JAPEX
Git e GitHub

Mão na Massa - GitHub

Pull e Push de Arquivos

  • Atualizar o repositório local:

    git pull origin master
    
JAPEX
Git e GitHub

Fluxo de Trabalho com o Git/GitHub

JAPEX
Git e GitHub

O que estudar agora?

  • Merges
  • Chaves SSH e GPG
  • Pull Request
  • Fork
  • Issues
  • GitFlow
JAPEX
Git e GitHub

OBRIGADO❣️

JAPEX
Git e GitHub

DÚVIDAS QUE O CHATGPT NÃO RESPONDA

JAPEX
Git e GitHub

Referências

JAPEX