sábado, 24 de novembro de 2012

Git - Dicas básicas e práticas

Há alguns meses trocamos na Foco o uso do source control do Team Foundation pelo GIT + o GibHub. De cara parecia bem difícil, mas depois nos acostumamos e agora está bem tranquilo.

Os conceitos são quase sempre os mesmos, mas a praticidade do controle de versões locais + repositório remoto são mais simples e fáceis de fazer.

Para quem estiver começando, deixo as dicas e lembretes sobre o GIT que utilizamos bastante no começo. Quem precisa configurar GIT e GITHUB, recomendo este link http://blog.dmatoso.com/2011/09/git-no-windows-github/ que tem um passo a passo bem bacana.

Segue então a lista, espero que ajude bastante:

Listar as configurações
git config --list

Configurando usuário
$ git config --global user.name "Mario Moraes neto"

Configurando e-mail
$ git config --global user.email mariomoraesneto@gmail.com

Ajuda
git help

Ajuda sobre um comando específico
git help commit (onde commit é o comando sobre o qual se quer ajuda)

Subir um nível de diretório
cd ..

Entrar num diretório
cd nomedodiretorio

Clonar um repositório remoto GitHub (cria um diretório e inicia um repositório)
git clone git://github.com/repositorio/projeto.git

Clonar um repositório remoto GitHub com nome diferente (criar um diretório específico e inicia um repositório)
git clone git://github.com/repositorio/projeto.git NomeDoDiretorio

Status do repositório para ver alterações na branch por exemplo
git status

Ver branches existentes
git branch

Ver branches existentes num diretório remoto
git branch -a

Baixar ultima versão de um branch remoto (origin = diretório remoto)
git pull origin nomedobranch

Ir para uma branch existente
git checkout nomedobranch

Criar uma nova branch e acessá-la
git checkout -b nomedobranch

Adicionar todas as mudanças feitas à branch
git add .

Commit - Marcar como concluídas as mudanças de uma branch
git commit -m "descrição"

Adicionar e commitar as mudanças de uma só vez
git commit -a -m "descrição"

Desfazer alterações de um arquivo
git checkout -- caminho\nomedoarquivo.ext

Baixar uma branch remota e criá-la localmente
git checkout -b nomedabranchlocal origin/nomedabranchremota

Enviar as mudanças para o repositório remoto
git push origin nomedobranch

Enviar as mudanças para o repositório remoto quando o branch local e remoto são diferentes
git push origin nomedobranch_local:nomedobranch_remoto

Remover arquivos excluídos
git add -u

Apagar um branch no repositório remoto:
git push origin :nomedobranch

Apagar uma branch local
git branch -d nomedobranch

Forçar deletar um branch local
git branch -D nome do branch

Merge - Juntar branchs (a partir da master no caso)
git merge nomedobranch

Ignorar/Abortar merge da branch
git merge --abort

Limpar a tela
Clear

Sair
exit

Sair de um comando, como quando usa o git log por exemplo
q

Zerar alterações da branch
git clean -d -x -f

Reinicia a master para origin/master
$ git reset --hard origin/master

Diferença de arquivos entre branchs
$ git diff -- caminhoenomedoarquivo branch1..branch2

Outras Dicas
- Auto completar funciona usando a tecla TAB
Exemplo: git checkout Bran<TAB>

- É possível configurar alias para os comandos, exemplos:
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status

- Referências completas nos links http://git-scm.com/book/en e http://gitready.com/

Espero ter colaborado!

4 comentários: