Git

O que é


Sistema de controle de versão distribuido

Quais problemas ele resolve


Como funciona


gitignore

Um arquivo como nome de .gitignore pode ser criado na pasta do projeto. Escrevendo o nome de um arquivo ou pasta neste documento faz com que o git não adicione o mesmo ao versionamento.

.env

Usos no dia a dia


gitbash

init

Inicia um repositório git na pasta atual

git init

clone

Cria uma cópia de um repositório remoto na pasta atual. Caso um nome não seja informado criará uma pasta com o nome do projeto.

git clone endereço-do-repositório

remote

Visualiza a origem do repositório atual.

git remote -v

fetch

Busca atualizações existentes no repositório remoto

git fetch --all

rebase

Atualiza repositório local com as mudanças existentes no repositório remoto

git rebase origin/master

checkout

Navega entre branchs no repositório

git checkout nome-da-branch

Criar branch

git checkout -b nome-da-branch

log

Exibe os commits na branch atual.

git log

Para sair aperte q.

branch

Visualiza as branchs existentes no repositório.

git branch

Também é usado para deletar branch

git branch -d the_local_branch

Use D para deletar mesmo que não tendo feito merge da branch.

git branch -D the_local_branch

Deletar branch no repositório remoto

git push --delete <remote name> <branch name>

status

Visualiza os arquivos que sofreram mudanças e se já está "comitados".

git status

diff

Mostra o que foi alterado nos arquivos.

git diff

stash

Salva alterações e retorna ao estado anterior

git stash

Mostra o que está salvo

git stash show

Recupera o que foi salvo

git stash apply

add

Adiciona os arquivo ao versionamento.

git add .

commit

Grava os arquivos adicionados pelo comando add e cria um ponto de controle que chamamos de commit

git commit -m "descrição do commit"

push

Envia o commit com as mudanças para o repositório remoto.

git push origin HEAD

Github


Conta

Configuração

Documentação

Ver configuração

git config -l

git config --global user.name “Paulo Sorrentino”
git config --global user.email “email@gmail.com”
git config --global color.ui true

Creates a new ssh key, using the provided email as a label

$ ssh-keygen -t rsa -b 4096 -C "email@gmail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Paulo/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Paulo/.ssh/id_rsa
Your public key has been saved in /c/Users/Paulo/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:R9/qapFqoW+cj3dtxcodf/5+fqT1If2OwYiYrCoG51Q email@gmail.com
The key's randomart image is:
+---[RSA 4096]----+
|                 |
|                 |
|          .      |
|    E    . . .   |
|   .    S ... o. |
|. o    ..+o. = +=|
| =     o++..oo+B*|
|  +   ..*.o.. *oO|
| . ....+o+oo...=@|
+----[SHA256]-----+

Copies the contents of the id_rsa.pub file to your clipboard

$ clip < ~/.ssh/id_rsa.pub

Inicializar o ssh-agent

# start the ssh-agent in the background
$ eval "$(ssh-agent -s)"
> Agent pid 59566

Adicionar chave SSH ao ssh-agent

$ ssh-add ~/.ssh/id_rsa

Criar repositório

Criar PR (pull request)

Code Review

Merge

Conflitos

Release