Sistema de Versionamento Git

Sobre

Este não é um tutorial para você aprender Git. Caso seu objetivo seja aprender, siga o Git Book (não se assuste com o tamanho dele: leia com carinho e atenção, é um livro muito bom que irá ensiná-lo a utilizar Git corretamente).

Para que este tutorial então? Para servir de consulta rápida dos comandos do Git, tendo pequenos exemplos e pequenas descrições do que você possivelmente quer fazer.

Comandos básicos

Inicializar uma pasta como repositório Git:

git init

Checar o estado atual das alterações do repositório:

git status

Adicionar um espelho remoto:

git remote add nome link

Atualizar repositório local a partir do remoto:

git pull

Atualizar repositório remoto a partir do local:

git push nome-do-remoto branch-remoto

Relacionar branch atual com um branch remoto (para atualizar com git push/git pull sem precisar especificar o remoto e branch):

git push --set-upstream nome-do-remoto branch-remoto

Adicionar alterações de um arquivo ao próximo commit (OBS: também utilizado para indicar que foi removido):

git add arquivo1 arquivo2 ...

Criar commit com as alterações adicionadas:

git commit -m "Mensagem do commit"

Identificar autor dos commits apenas no repositório atual:

git config user.name "Nome do autor"
git config user.email "E-mail do autor"

Identificar autor dos commits para todos os repositórios do usuário logado no computador:

git config --global user.name "Nome do autor"
git config --global user.email "E-mail do autor"

Exemplos

Inicializar repositório a partir do zero

Sendo "~/" a pasta do usuário atual:

~/ $ mkdir example
~/ $ cd example
~/example $ git init
Initialized empty Git repository in /home/user/example
~/example $ git remote add origin https://github.com/pet-comp-ufsc/git-example
~/example $ git push --set-upstream origin master

Inicializar repositório a partir de um remoto

Método 1

Para quando:

  • Você não tem o projeto localmente; e
  • Você quer que o nome da pasta seja o mesmo do repositório.
~/ $ git clone https://github.com/pet-comp-ufsc/git-example
~/ $ cd git-example
~/git-example $

Método 2

Para quando:

  • Você não tem o projeto localmente; e
  • Você quer dar um nome específico para a pasta do projeto.
~/ $ git clone https://github.com/pet-comp-ufsc/git-example example
~/ $ cd example
~/example $

Para quando:

  • Você tem o projeto localmente; e
  • Você quer relacioná-lo ao remoto.
~/ $ cd example
~/example $ git init
Initialized empty Git repository in /home/user/example
~/example $ git remote add origin https://github.com/pet-comp-ufsc/git-example
~/example $ git pull origin master