segunda-feira, 4 de novembro de 2013

Configurações básicas e globais


Usuario e email para serem exibidos nos commites:
git config --global user.name "[seu nome]"
git config --global user.email [seu e-mail]

Tratamento de espaços em branco
git config --global apply.whitespace nowarn
git config --global core.whitespace nowarn


Definição de cores para o modo console:
git config --global color.branch auto
git config --global color.diff auto
git config --global color.status auto
git config --global color.interactive auto;


Definir editor de texto padrão para o diretório de trabalho:
git config --global core.editor "vim";



Alias

Com o alias, você pode criar atalhos aos comando do GIT.

Criar Atalhos de comando:
git config --global alias.co checkout;
git config --global alias.br branch;
git config --global alias.ci commit;
git config --global alias.st status;

Para usar o atalho de comando, digite por exemplo:
git st
git co



Trabalhando com Repositórios

Criar repositório
mkdir [dir]
cd dir
git init

Cópia de trabalho de um repositório
git clone [origin] [nova pasta]

Acrescentando +uma URL remota ao diretório local
git remote add

Adicionar arquivo(s) específicos ao próximo commit:
git add [arquivo1] [arquivo2] ...

ou para adicionar todos aquivos apresentados no git status ao próximo commit:
git add .

Persistir as mudanças (commit)
git commit -m "[mensagem]"

Atualizar repositório local
git pull

Enviar atualizações ao repositório remoto
git push [origin] [branch]

Visualizar status do repositório local
git status

Verificar mudanças em arquivos adicionados com git add
git diff

Verifica mudanças entre commits
git diff [ID1] [ID2]


Histórico dos commits
git log

git log --oneline

git log --oneline -n5


Verificar mudanças em um commit específico
git show [ID]


Verificar mudanças em um arquivo de um commit
git show [ID] [arquivo]

Verificar mudanças em uma atualização
git show -U1


Rollback do commit atual
Cuidado com esse procedimento pois não há como recuperar!
git reset --hard HEAD

Voltando ao commit anterior, mas criando um novo commit
git revert HEAD

Voltando a um commit específico, e criando um novo commit
git revert --no-edit HEAD e27242bd40b9

Patches

Criando e aplicando vários patch de um branch
git checkout [branch]
git format-patch --stdout master > patch
git am --whitespace=nowarn patch




Trabalhando com Branches


Criar um Branch
git branch [branchname]

Criar e tornar ativo o novo branch
git checkout -b [branchname]

Criar um branch baseado em um ID de versionamento específico
git branch [branchname] [ID]

Persistir os branches criados no servidor remoto
git push --all

Persistir específicamente um branch criado no servidor remoto
git push [urlserver|aliasserver] [branchname]

Exemplos:
git push origin frontend
git push origin :frontend

Trocar de Branch
git checkout [branchname]

Verificar o branch atual
git branch

Verificar detalhes de branches
git branch -v

Deletar um branch
git branch -d [branchname]

Mesclar de branches [branch1] ao [branch2]
git checkout [branch2]
git merge [branch1]


Trabalhando com Tags


Para listar TAG existentes
git tag -ln

Para criar uma TAG
git tag [tagname]

Exemplo tag chamada v0.01 no commit atual execute:
git tag v0.01

Para criar uma TAG referente ao commit específico
git tag [tagname] [ID]
exemplo tag v0.01 referente ao commit 4b8ef995de6d77:
git tag v0.01 4b8ef995de6d77
Para criar uma TAG com comentário e referente ao commit específico
git tag -f -a [tagname] -m 'comentario' [ID]
Exemplo:
git tag -f -a buildout_plone255 -m 'ambiente plone-2.5.5 com supervisor + haproxy' 87b29a

Para submete-la para o servidor remoto
git push --tags [alias-da-url] [branchname]
Exemplo:
git push --tags origin master

Para deletar uma TAG execute:
git tag -d v0.01
git push origin :refs/tags/v0.01

Para voce mover para o commit da TAG execute:
git checkout v0.01

Para voce atualizar a listagens das TAG execute:
git pull --tags origin master

Estudo de caso Branch + Clone

git clone https://rbrito1978@code.google.com/p/templates-buildout/
git checkout p255
git branch -v
ou
git clone -o origin -b p255 https://rbrito1978@code.google.com/p/templates-buildout/

Rebase de Branch no Master

  • git co 1460729321
  • git branch
    * 1460729321
      master
    
  • git pull --rebase origin master
  • git co master
  • git merge origin/1460729321

Atualizações

  • 04/11/2013 09:15

0 comentários: