Referência rápida GIT


Esse é um guia de como instalar o GIT, configura-lo e como utilizar os comandos principais.

Instalar o git

Ajuda

https://git-scm.com/docs

Configuração

configurações de usuário

$ git config --global --list
$ git config --global user.name "Eduardo Coutinho"
$ git config --global user.email email@gmail.com

listar configurações usuário

$ git config --list
$ git config user.name

Iniciando um repositório local

O git trabalha com repositórios locais (ficam em pastas do seu computador) e que podem ser sincronizados com o servidor, que pode ser o github.com por exemplo. Para iniciar você precisa criar um repositório local, para isso existem duas opções:

clonar um repositório existente

Abra um prompt de comando do Windows e vá até a pasta que você deseja colocar os seus projetos, por exemplo: “C:\Temp”, depois execute o comando git clone:

$ git clone https://github.com/TaskrowSharp/TaskrowSharp.git

Executando esse comando na pasta “C:\Temp” será cria uma pasta “C:\Temp\TaskrowSharp” e será baixado o conteúdo desse projeto.

iniciar um novo repositório na pasta

Para iniciar um repositório local, você deve executar o comando abaixo na pasta do projeto:

$ git init

Esse comando pode ser executado em uma pasta vazia, ou com arquivos. Por exemplo, você pode criar a pasta “C:\Temp\MyProject”, adicionar nessa pasta os arquivos do seu projeto, abrir um prompt de comando e executar “git init” e essa pasta com arquivos passará a ser um repositório git local.

Adicionar modificações no repositório local

lista a situação dos arquivos (arquivos alterados no repositório e se tem arquivos na área de trabalho para fazer commit)

$ git status

adiciona arquivos na área de trabalho para commit

$ git add teste.txt
$ git add --all

commit dos arquivos adicionados na área de trabalho

$ git commit -m "versionamento inicial"

enviar modificações do repositório local para o repositório externo

$ git push

atualizar o repositório local com as mudanças do repositório externo

$ git pull

Analisar mudanças

listar o histórico dos commits

$ git log
$ git log --stat

$ git log -p filename

comparar commits do histórico

$ git diff 34204d3ae29ead0abd611ccb7025d7d062176d97 71c17ff5236bdb17da8d808255907470663870c3

visualizar dados em commits anteriores

Para listar os commits anteriores, utilize:

$ git log

Para voltar arquivos para a versão desse commit, use:

$ git checkout 34204d3ae29ead0abd611ccb7025d7d062176d97

Será exibira a mensage: You are in ‘detached HEAD’ state

Se você utilizar:

$ git log

Será exibido *mostra commits somente até a versão atual

Para voltar para o master, use:

$ git checkout master

desfazer modificações no repositório local

Para desfazer as alterações não comitadas de um arquivo, utilize:

$ git checkout "file.txt"

Para desfazer as alterações em todos os arquivos não comitados:

$ git reset --hard

Depois, será necessário apagar os arquivos não rastreados (que foram adicionados agora):

O seguinte comando exibe os arquivos que serão apagados:

$ get clean -n

E o seguinte comando apaga os arquivos:

$ git clean -f

Ignorar arquivos

Criar um arquivo “.gitignore”, com o seguinte conteúdo para ignorar arquivos com a a extensão .java:

*.java

Só funciona para arquivos que ainda não estiverem rastreados

Para remover os arquivos incluidos agora no gitignore, mas que já estavam rastreados:

Primeiro, limpe o cache do rastreamento:

$ git rm -r --cached .

Depois, adicione os arquivos modificados:

$ git add --all

Para verificar como ficou, utilize o comando:

$ git status

Note que somente os arquivos que não estão no rastreamento apareceram com o status “deleted”, eles vão continuar na pasta local

Agora, faça o commit da remoção dos arquivos que não devem mais ser versionados:

$ git commid -m "comentário"

Criar branch e adicionar no servidor

$ git checkout -b homolog

$ git push --set-upstream origin homolog

Isso irá criar um branch local chamado “homolog” a partir do branch atual e enviar esse branch para o servidor.

Para saber qual o branch atual, use:

$ git branch -v

Para ir para o branch master, use:

$ git checkout master

Para excluir um branch local:

$ git branch -d [branch_name]

Para listar os branchs locais e no servidor

$ git branch -ra

Resolução de conflito de merge

Conflito no “git pull”

Quando você executar o comando “git pull” se existir algum conflito, será exibida a seguinte mensagem:

“please enter a commit message to explain why this merge is necessary,especially if it merges an updated upstream into a topic branch.”

Adicionando o comentário do merge usando o editor VI

Se você não alterou o editor padrão do mergetool, será aberta uma tela preta do editor “VI” para você adicionar o comentário do merge, para utilizar o “VI” faça o seguinte:

Unmerged files problem

Nessa situação:

$ git pull
error: Pulling is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.

Faça o seguinte:

Listar os arquivos com problema:

$ git status

Os arquivos com problema estarão marcados com “both modified”. Faça o ajuste dos arquivos no editor de texto.

$ git commit -m "Comentário"
$ git push
$ git pull

reference: https://stackoverflow.com/questions/26376832/why-does-git-say-pull-is-not-possible-because-you-have-unmerged-files

local changes would be overwritten by merge

$ git pull error: Your local changes to the following files would be overwritten by merge: [file name] Please commit your changes or stash them before you merge. Aborting

Para ignorar as modificações do arquivo local e baixar a versão do servidor:

$ git checkout filename $ git pull

Alterar o editor padrão do Git

O editor padrão do GIT é o VI

Alterar o editor para Notepad

git config core.editor notepad

Alterar o editor para Notepad++

$ git config --global core.editor "'C:\Program Files (x86)\Notepad++\notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

Atenção: Antes de rodar esse comando, verifique se o Notepad++ está instalado na pasta: “C:\Program Files (x86)\Notepad++”

Para listar as configurações

$ git config –list


Comentários