Edite este post Histórico de edição
9 mins

Git

O que é Git

É um Sistema de Controle de Versão Distribuído (DVCS). Ele registra mudanças feitas em um ou mais arquivos ao longo do tempo de forma que você possa recuperar versões específicas. Na prática, é um programa - normalmente utilizado pelo terminal - que registra modificações nos arquivos. Cada “estado” do arquivo é salvo através de commits, cujo possuem hashes (identificadores únicos) que permitem retroceder.

Configurando ambiente

Siga as instruções oficiais do git. Caso utilize Windows, use o programa git bash instalado para os comandos desse post.

Estados de arquivos

Um arquivo no git podem estar em 1 dos 4 estágios:

Comandos

Vou falar neste tópico sobre os comandos do git via terminal. Para usar no Windows basta ir até pasta do seu projeto, apertar botão direito do mouse e escolher “git bash”. Comandos são compostos de git mais a especificação dele. Por exemplo, para transformar um arquivo de not staged para staged, basta usar git add <arquivo>. Muitos comandos terão parâmetros, como por exemplo o nome de um arquivo. Nessas situações será usada a notação <valor>. Em caso de duvida, digite o comando completo com help no final como git add --help. Antes de começar a testar os comandos do git é obrigatório um mínimo de configurações que são feitas através da linha de comando.

  1. git config --global user.name "Seu Nome Aqui"
  2. git config --global user.email "seuemail@mail.com"
  3. git config --global color.ui true
  4. git config --global core.editor "seu editor de texto favorito"

init


status


add


commit


remote


push


log


merge

Prós e contras de fast-forward pelo criador do gitflow


checkout


reset


bisect


pull


Fluxos de trabalho

Individual

É mais simples versionar o código quando está trabalhando sozinho em um projeto, portanto essa seção abordará o escopo de comandos mínimos necessários para essa situação. Abaixo uma figura no fluxo de trabalho explicado na seção: fluxo


Gitflow

Configurações

SSH

  1. Instalar gerador de ssh
    • ubuntu: sudo apt install openssh-client
  2. Gerar chave ssh-keygen -t rsa -C "my@email.com"
    • Pode dar enter em todas opções
  3. Ver chave pública (.ssh/id_rsa.pub) e colocar no github
  4. Permitir uso da ssh pelo github/gitlab ssh -T git@github.com
    • Responder yes se questionado

Créditos ao Leandro Ramos

Caso existam multiplas keys o ideal é configurar no arguivo ~/.ssh/config. Exemplo de uma configuração abaixo:

Host github.com-oab
  Hostname ssh.github.com
  Port 443
  User git
  IdentityFile ~/.ssh/id_rsa
 
Host github.com
  Hostname ssh.github.com
  Port 443
  User git
  IdentityFile ~/.ssh/id_rsa_nenitf
  
 Host gitlab.com
  Hostname altssh.gitlab.com
  Port 443
  User git
  IdentityFile ~/.ssh/id_rsa-gitlab

Projeto

Gitignore

Para fazer o git ignorar arquivo (normalmente de configuração de IDE, logs e etc) é criado na raiz do projeto o arquivo .gitignore.

Ferramentas

Extensões de editores/IDEs

Criado em July 31, 2019