Git - principais comandos: mudanças entre as edições
mSem resumo de edição |
(dicas cvs -> git) |
||
Linha 112: | Linha 112: | ||
===Canal do IRC sobre Git=== | ===Canal do IRC sobre Git=== | ||
#git ou #github no freenode | #git ou #github no freenode | ||
== Migrando um Repo CVS para Git == | |||
Exitem diversas maneiras de se converter um repositorio existente para Git. | |||
Se o repositorio principal nao sera convertido para Git, pode-se usar o git cvs. | |||
Nesse caso, veja o link: | |||
https://sourceforge.net/apps/trac/vxl/wiki/GitCvs | |||
Ver tambem o seguinte link, para o caso de se usar Git com Subversion: | |||
https://sourceforge.net/apps/trac/vxl/wiki/GitSvn | |||
Agora, para migrar o repositorio CVS para Git de uma vez por todas, vou | |||
descrever um jeito que usei para converter o [[SIP]], o qual tinha um repositorio | |||
CVS no sourceforge. Primeiramente, usei o seguinte comando de backup do | |||
sourceforge pra baixar o repo CVS: | |||
rsync -av rsync://siptoolbox.cvs.sourceforge.net/cvsroot/siptoolbox/* . | |||
=== Referencias de migracao CVS para Git === | |||
* [http://michael-bien.com/mbien/entry/converting_from_cvs_to_git] | |||
[[Category:Lab Macambira]] | [[Category:Lab Macambira]] |
Edição das 21h41min de 8 de agosto de 2011
Mostra as configurações
git config --list
Mostra o valor do [atributo]
git config [atributo]
Adiciona o [arquivo] para ser enviado no próximo commit
git add [arquivo]
Mostra o status do commit atual
git status
Mostra as mudanças realizadas nos arquivos do commit atual
git diff
Realiza o commit
git commit -m "mensagem" // coloca essa mensagem a respeito do commit -v // coloca a mensagem padrão do git mais o que foi mudado em cada arquivo
Remove um arquivo
git rm --cache // tira dos arquivos do próximo commit, o contrário de git add
Mostra todos os commits
git log --all // mostra todos os commits --pretty=oneline // um em cada linha --max-count=2 // mostra até dois commits --since=5.minutes // commits desde 5 minutos atrás --until=5.minutes // commits de até 5 minutos atrás --author=[nome] // commits apenas do autor [nome] --graph // usa modo "gráfico"
Assim como diz no tutorial, é legal utilizar esse comando
git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short // então defina um atalho no teclado, com o comando git config --global alias.[atalho]='log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short' // agora ao digitar git [atalho] você terá o mesmo que se digitasse // git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short
Volta a versão especificada pela hash
git checkout [hash]
Desfaz as mudanças feitas no [arquivo]
git reset HEAD [arquivo]
Volta para o estado desta hash
git reset [hash]
"Refaz" último commit
git commit --amend
Desfaz último commit
git revert HEAD
Dá uma tag para o hash atual
git tag [nomeDaTag] -d // apaga um determinado tag
Cria um novo branch
git checkout -b [branchName]
Combina o hash atual com o mencionado
git merge [hash]
Lista todos os branches
git branch
Dá um update no seu clone
git fetch git pull // git fetch + git merge origin/master
Refaz um branch que existia na origem
git branch --track [branchName] origin/[branchOriginName]
Dá um upload das suas modificações
git push [remoteName] [branchName]
Cria um patch
git format-patch master --stdout > nomeDoPatch.patch
Canal do IRC sobre Git
- git ou #github no freenode
Migrando um Repo CVS para Git
Exitem diversas maneiras de se converter um repositorio existente para Git. Se o repositorio principal nao sera convertido para Git, pode-se usar o git cvs. Nesse caso, veja o link: https://sourceforge.net/apps/trac/vxl/wiki/GitCvs
Ver tambem o seguinte link, para o caso de se usar Git com Subversion: https://sourceforge.net/apps/trac/vxl/wiki/GitSvn
Agora, para migrar o repositorio CVS para Git de uma vez por todas, vou descrever um jeito que usei para converter o SIP, o qual tinha um repositorio CVS no sourceforge. Primeiramente, usei o seguinte comando de backup do sourceforge pra baixar o repo CVS:
rsync -av rsync://siptoolbox.cvs.sourceforge.net/cvsroot/siptoolbox/* .