Git - principais comandos: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
 
(5 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 1: Linha 1:
Mostra as configurações  
Mostra as configurações  
<pre>git config --list
git config --list
</pre>
 
Mostra o valor do [atributo]  
Mostra o valor do [atributo]  
<pre>git config [atributo]
<pre>git config [atributo]
Linha 40: Linha 40:
// então defina um atalho no teclado, com o comando
// então defina um atalho no teclado, com o comando


git config --global alias.[atalho]='log --pretty=format:"%h&nbsp;%ad |&nbsp;%s%d [%an]" --graph --date=short'
git config --global alias.[atalho] 'log --pretty=format:"%h&nbsp;%ad |&nbsp;%s%d [%an]" --graph --date=short'


// agora ao digitar git [atalho] você terá o mesmo que se digitasse
// agora ao digitar git [atalho] você terá o mesmo que se digitasse
Linha 109: Linha 109:
  git format-patch master --stdout > nomeDoPatch.patch
  git format-patch master --stdout > nomeDoPatch.patch


== Mostrar as origens do repositório conectados ==
Um determinado repositório local tem (ou teve) uma origem da qual foi clonado. Você pode ver essa informação abrindo o arquivo .git/config.git. Mas existe um comando para isso. Dentro do repositório em questão, aplique:


===Canal do IRC sobre Git===
$ git remote show origin
#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/* .
 
 
Segui as instrucoes em Creating Multiple Repositories
da pagina  https://sourceforge.net/apps/trac/sourceforge/wiki/Git
* Tenho 4 repositorios dentro do projeto siptoolbox: animal,simpletoolbox,www e siptoolbox
* Dentro do shell do sourceforge:
mkdir animal simpletoolbox www
git --git-dir=www init --shared=all --bare
este ultimo comando sendo repetido para animal e simpletoolbox.
 
Em seguida, dei um clone em cada um, depois, para cada modulo (p.ex. www abaixo), editei cvs2git.options colocando o caminho apropriado na string logo apos run_options.set_project
cvs2git --options=../cvs2git.options
cd www
cat ../cvs2svn-tmp/git-{blob,dump}.dat | git fast-import
git reset --hard
git push origin master
rm -rf ../cvs2svn-tmp


Eh isso ae, mais ou menos..
=== Referencias de migracao CVS para Git ===
* [http://michael-bien.com/mbien/entry/converting_from_cvs_to_git]
* [http://blog.gorwits.me.uk/2011/06/22/migrate-sourceforge-cvs-repository-to-git]




== Ver Tambem ==
Pagina wiki [[Git]].
[[Category:Lab Macambira]]
[[Category:Lab Macambira]]
[[Category:Git]]

Edição atual tal como às 13h39min de 25 de fevereiro de 2016

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

Mostrar as origens do repositório conectados

Um determinado repositório local tem (ou teve) uma origem da qual foi clonado. Você pode ver essa informação abrindo o arquivo .git/config.git. Mas existe um comando para isso. Dentro do repositório em questão, aplique:

$ git remote show origin


Ver Tambem

Pagina wiki Git.