GIT

De Wiki DAINF
(Diferença entre revisões)
 
(23 edições intermediárias de 2 usuários não apresentadas)
Linha 4: Linha 4:
 
Como usar o Git junto com outros colaboradores para controle de versão.
 
Como usar o Git junto com outros colaboradores para controle de versão.
  
 +
Site de ref. para GIT: [http://gitref.org/index.html http://gitref.org/index.html]
  
 
Ajuda do GIT:
 
Ajuda do GIT:
  
  
<nowiki>[emerson@localhost TESTES]$ git --help </nowiki>
+
  <nowiki>[emerson@localhost TESTES]$ git --help </nowiki>
 
+
  usage: git [--version] [--exec-path[=GIT_EXEC_PATH]] [-p|--paginate|--no-pager] [--bare] [--git-dir=GIT_DIR]<br /> [--work-tree=GIT_WORK_TREE] [--help] COMMAND [ARGS]<br />
<nowiki>usage: git [--version] [--exec-path[=GIT_EXEC_PATH]] [-p|--paginate|--no-pager] [--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE] [--help] COMMAND [ARGS] </nowiki>
+
  The most commonly used git commands are:<br />
 
+
      <i>add</i> - Add file contents to the index  
 
+
      <i>bisect</i> - Find by binary search the change that introduced a bug  
The most commonly used git commands are:
+
      <i>branch</i> - List, create, or delete branches  
 
+
      <i>checkout</i> - Checkout a branch or paths to the working tree  
  add Add file contents to the index  
+
      <i>clone</i> - Clone a repository into a new directory  
  bisect Find by binary search the change that introduced a bug  
+
      <i>commit</i> - Record changes to the repository  
  branch List, create, or delete branches  
+
      <i>diff</i> - Show changes between commits, commit and working tree, etc  
  checkout Checkout a branch or paths to the working tree  
+
      <i>fetch</i> - Download objects and refs from another repository  
  clone Clone a repository into a new directory  
+
      <i>grep</i> - Print lines matching a pattern  
  commit Record changes to the repository  
+
      <i>init</i> - Create an empty git repository or reinitialize an existing one  
  diff Show changes between commits, commit and working tree, etc  
+
      <i>log</i> - Show commit logs  
  fetch Download objects and refs from another repository  
+
      <i>merge</i> - Join two or more development histories together  
  grep Print lines matching a pattern  
+
      <i>mv</i> - Move or rename a file, a directory, or a symlink  
  init Create an empty git repository or reinitialize an existing one  
+
      <i>pull</i> - Fetch from and merge with another repository or a local branch  
  log Show commit logs  
+
      <i>push</i> - Update remote refs along with associated objects  
  merge Join two or more development histories together  
+
      <i>rebase</i> - Forward-port local commits to the updated upstream head  
  mv Move or rename a file, a directory, or a symlink  
+
      <i>reset</i> - Reset current HEAD to the specified state  
  pull Fetch from and merge with another repository or a local branch  
+
      <i>rm</i> - Remove files from the working tree and from the index  
  push Update remote refs along with associated objects  
+
      <i>show</i> - Show various types of objects  
  rebase Forward-port local commits to the updated upstream head  
+
      <i>status</i> - Show the working tree status  
  reset Reset current HEAD to the specified state  
+
      <i>tag</i> - Create, list, delete or verify a tag object signed with GPG <br />
  rm Remove files from the working tree and from the index  
+
  See 'git help <i>COMMAND</i>' for more information on a specific command.  
  show Show various types of objects  
+
  status Show the working tree status  
+
  tag Create, list, delete or verify a tag object signed with GPG  
+
 
+
See 'git help COMMAND' for more information on a specific command.  
+
  
  
Linha 44: Linha 40:
 
   Os exemplos são feitos em linha de comando do Linux.
 
   Os exemplos são feitos em linha de comando do Linux.
 
   Site do GitHub: [https://github.com/ https://github.com/]
 
   Site do GitHub: [https://github.com/ https://github.com/]
   <b>Link do git usuário ‘surfx’:</b> <nowiki>[mailto:git@github.com git@github.com]:surfx</nowiki>
+
   <b>Link do git usuário ‘surfx’:</b> <nowiki>git@github.com:surfx</nowiki>
   <b>Link do git colaborador ‘adolfont’:</b> <nowiki>[mailto:git@github.com git@github.com]:adolfont</nowiki>
+
   <b>Link do git colaborador ‘adolfont’:</b> <nowiki>git@github.com:adolfont/TESTES.git:adolfont</nowiki>
 
+
'''Obs:''' para que o usuário ‘surfx’ realizasse o push no branch git@github.com:adolfont/TESTES.git do colaborador ‘adolfont’, é necessário que o usuário ‘adolfont’ adicione o colaborador ‘surfx’ no branch [mailto:git@github.com git@github.com]:adolfont/TESTES.git, conforme '''Figura 1'''.
+
 
+
  
[[Image:]]'''Figura 1 – Colaboradores Git'''
+
'''Obs:''' para que o usuário ‘surfx’ realizasse o push no branch git@github.com:adolfont/TESTES.git do colaborador ‘adolfont’, é necessário que o usuário ‘adolfont’ adicione o colaborador ‘surfx’ no branch <nowiki>git@github.com:adolfont/TESTES.git</nowiki>, conforme '''Figura 1'''.
 +
<br /><br />
 +
[[Imagem:GITcolaboradores.PNG]]<br />
 +
'''Figura 1 – Colaboradores Git'''
  
  
 
Adicionado uma pasta para teste:
 
Adicionado uma pasta para teste:
  
<nowiki>[emerson@localhost ~]$ cd Desktop/ </nowiki>
+
  <nowiki>[emerson@localhost ~]$ cd Desktop/ </nowiki>
 
+
  <nowiki>[emerson@localhost Desktop]$ mkdir testegithub </nowiki>
<nowiki>[emerson@localhost Desktop]$ mkdir testegithub </nowiki>
+
  <nowiki>[emerson@localhost Desktop]$ cd testegithub/ </nowiki>
 
+
<nowiki>[emerson@localhost Desktop]$ cd testegithub/ </nowiki>
+
 
+
  
 
“Clonando” dos dados do Git do colaborador ‘adolfont’:
 
“Clonando” dos dados do Git do colaborador ‘adolfont’:
  
<nowiki>[emerson@localhost testegithub]$ git clone git://github.com/adolfont/TESTES.git </nowiki>
+
  <nowiki>[emerson@localhost testegithub]$ git clone git://github.com/adolfont/TESTES.git </nowiki>
 
+
  Initialized empty Git repository in /home/emerson/Desktop/testegithub/TESTES/.git/  
Initialized empty Git repository in /home/emerson/Desktop/testegithub/TESTES/.git/  
+
  remote: Counting objects: 18, done.  
 
+
  remote: Compressing objects: 100% (10/10), done.  
remote: Counting objects: 18, done.  
+
  remote: Total 18 (delta 3), reused 0 (delta 0)  
 
+
  Receiving objects: 100% (18/18), done.  
remote: Compressing objects: 100% (10/10), done.  
+
  Resolving deltas: 100% (3/3), done.  
 
+
  <nowiki>[emerson@localhost testegithub]$ cd TESTES/ </nowiki>
remote: Total 18 (delta 3), reused 0 (delta 0)  
+
 
+
Receiving objects: 100% (18/18), done.  
+
 
+
Resolving deltas: 100% (3/3), done.  
+
 
+
<nowiki>[emerson@localhost testegithub]$ cd TESTES/ </nowiki>
+
 
+
  
 
Recupera o ramo atual:
 
Recupera o ramo atual:
 
+
  <nowiki>[emerson@localhost TESTES]$ git branch </nowiki>
<nowiki>[emerson@localhost TESTES]$ git branch </nowiki>
+
  <nowiki>* master </nowiki>
 
+
<nowiki>* master </nowiki>
+
 
+
  
 
Lista os arquivos do diretório:
 
Lista os arquivos do diretório:
 +
  <nowiki>[emerson@localhost TESTES]$ ls </nowiki>
 +
  README
 +
  <nowiki>[emerson@localhost TESTES]$ cat README </nowiki>
 +
  This file is here only for testing git.
 +
  AQUI ESTÁ A ALTERAÇÃO CONFLITANTE....
 +
  Fazendo alteração conflitante.
 +
  <i>##Gedit é um comando do Linux que permite editar um arquivo:</i>
 +
  <nowiki>[emerson@localhost TESTES]$ gedit README </nowiki>
  
<nowiki>[emerson@localhost TESTES]$ ls </nowiki>
+
Este comando do git adiciona novos arquivos:
 
+
  <nowiki>[emerson@localhost TESTES]$ git add . </nowiki>
README
+
 
+
<nowiki>[emerson@localhost TESTES]$ cat README </nowiki>
+
 
+
This file is here only for testing git.
+
 
+
AQUI ESTÁ A ALTERAÇÃO CONFLITANTE....
+
 
+
Fazendo alteração conflitante.
+
 
+
 
+
Gedit é um comando do Linux que permite editar um arquivo:
+
 
+
<nowiki>[emerson@localhost TESTES]$ gedit README </nowiki>
+
 
+
 
+
Este comando do git adidciona novos arquivos:
+
 
+
<nowiki>[emerson@localhost TESTES]$ git add . </nowiki>
+
 
+
  
 
Commit dos dados na máquina local (-m ‘’ representa um comentário):
 
Commit dos dados na máquina local (-m ‘’ representa um comentário):
 +
  <nowiki>[emerson@localhost TESTES]$ git commit -a -m 'Testando alteração' </nowiki>
 +
  <nowiki>[master 2f9be95] Testando alteração </nowiki>
 +
  2 files changed, 8 insertions(+), 0 deletions(-)
 +
  create mode 100644 README~
  
<nowiki>[emerson@localhost TESTES]$ git commit -a -m 'Testando alteração' </nowiki>
+
Enviar os arquivos para o git do colaborador (<nowiki>git@github.com:adolfont/TESTES.git</nowiki> é o link do servidor GitHub do colaborador):
 
+
  emerson@localhost TESTES]$ git push <nowiki>git@github.com:adolfont/TESTES.git</nowiki> master  
<nowiki>[master 2f9be95] Testando alteração </nowiki>
+
  Counting objects: 5, done.  
 
+
  Compressing objects: 100% (3/3), done.  
2 files changed, 8 insertions(+), 0 deletions(-)
+
  Writing objects: 100% (3/3), 353 bytes, done.  
 
+
  Total 3 (delta 1), reused 0 (delta 0)  
create mode 100644 README~
+
  To git@github.com:adolfont/TESTES.git  
 
+
  4253dde..2f9be95 master -> master  
 
+
Enviar os arquivos para o git do colaborador ([mailto:git@github.com git@github.com]:adolfont/TESTES.git é o link do servidor GitHub do colaborador):
+
 
+
emerson@localhost TESTES]$ git push git@github.com:adolfont/TESTES.git master  
+
 
+
Counting objects: 5, done.  
+
 
+
Compressing objects: 100% (3/3), done.  
+
 
+
Writing objects: 100% (3/3), 353 bytes, done.  
+
 
+
Total 3 (delta 1), reused 0 (delta 0)  
+
 
+
To git@github.com:adolfont/TESTES.git  
+
 
+
4253dde..2f9be95 master -> master  
+
 
+
  
 +
<br />
 
'''Comandos comuns do GIT'''
 
'''Comandos comuns do GIT'''
  
  
 
Para trocar de ramo:
 
Para trocar de ramo:
 
+
  <nowiki>[emerson@localhost TESTES]$ git checkout -b experimental </nowiki>
<nowiki>[emerson@localhost TESTES]$ git checkout -b experimental </nowiki>
+
  Switched to a new branch 'experimental'  
 
+
Switched to a new branch 'experimental'  
+
 
+
  
 
Listar os ramos existentes:
 
Listar os ramos existentes:
 
+
  <nowiki>[emerson@localhost TESTES]$ git branch</nowiki>
<nowiki>[emerson@localhost TESTES]$ git branch </nowiki>
+
  <nowiki>* experimental </nowiki>
 
+
  master  
<nowiki>* experimental </nowiki>
+
 
+
master  
+
 
+
  
 
Para excluir um ramo:
 
Para excluir um ramo:
 
+
  <nowiki>[emerson@localhost TESTES]$ git branch -d experimental </nowiki>
<nowiki>[emerson@localhost TESTES]$ git branch -d experimental </nowiki>
+
  Deleted branch experimental (was 2f9be95).  
 
+
Deleted branch experimental (was 2f9be95).  
+
 
+
  
 
Para criar um ramo:
 
Para criar um ramo:
 
+
  <nowiki>[emerson@localhost TESTES]$ git branch master </nowiki>
<nowiki>[emerson@localhost TESTES]$ git branch master </nowiki>
+
 
+
  
 
Checkout em um ramo:
 
Checkout em um ramo:
 
+
  <nowiki>[emerson@localhost TESTES]$ git checkout master </nowiki>
<nowiki>[emerson@localhost TESTES]$ git checkout master </nowiki>
+
 
+
  
 
Recuperar o log do GIT:
 
Recuperar o log do GIT:
 
+
  <nowiki>[emerson@localhost TESTES]$ git log </nowiki>
<nowiki>[emerson@localhost TESTES]$ git log </nowiki>
+
 
+
  
 
Listar os ramos existentes:
 
Listar os ramos existentes:
 
+
  <nowiki>[emerson@localhost TESTES]$ git branch -r </nowiki>
<nowiki>[emerson@localhost TESTES]$ git branch -r </nowiki>
+
  origin/HEAD  
 
+
  origin/experimental  
origin/HEAD  
+
  origin/master  
 
+
origin/experimental  
+
 
+
origin/master  
+
 
+
  
 
Recuperar o ramo no qual você esta:
 
Recuperar o ramo no qual você esta:
 
+
  <nowiki>[emerson@localhost TESTES]$ git branch </nowiki>
<nowiki>[emerson@localhost TESTES]$ git branch </nowiki>
+
  <nowiki>* master </nowiki>
 
+
<nowiki>* master </nowiki>
+
 
+
  
 
Checkout:
 
Checkout:
 
+
  <nowiki>[emerson@localhost TESTES]$ git checkout master </nowiki>
<nowiki>[emerson@localhost TESTES]$ git checkout master </nowiki>
+
 
+
  
 
Editar um arquivo:
 
Editar um arquivo:
 
+
  <nowiki>[emerson@localhost TESTES]$ cat README </nowiki>
<nowiki>[emerson@localhost TESTES]$ cat README </nowiki>
+
 
+
  
 
Editar um arquivo (linux):
 
Editar um arquivo (linux):
 
+
  <nowiki>[emerson@localhost TESTES]$ gedit README </nowiki>
<nowiki>[emerson@localhost TESTES]$ gedit README </nowiki>
+
 
+
  
 
Commit local (-m ‘comentário’):
 
Commit local (-m ‘comentário’):
 
+
  <nowiki>[emerson@localhost TESTES]$ git commit -a -m 'ex de comentario - modificacao' </nowiki>
<nowiki>[emerson@localhost TESTES]$ git commit -a -m 'ex de comentario - modificacao' </nowiki>
+
 
+
  
 
Add todos os novos arquivos:
 
Add todos os novos arquivos:
 
+
  <nowiki>[emerson@localhost TESTE_EMERSON]$ git add . </nowiki>
<nowiki>[emerson@localhost TESTE_EMERSON]$ git add . </nowiki>
+
 
+
  
 
Inicializar GIT:
 
Inicializar GIT:
 +
  <nowiki>[emerson@localhost TESTES2]$ </nowiki>git init
 +
  Initialized empty Git repository in /home/emerson/Desktop/testegithub/TESTES2/.git/
  
<nowiki>[emerson@localhost TESTES2]$ </nowiki>git init
+
Adicionar no servidor (<nowiki>git@github.com:surfx/TESTES2.git</nowiki> é o link no servidor do GitHub):
 +
  <nowiki>[emerson@localhost TESTES2]$ git remote add origin </nowiki><nowiki>git@github.com:surfx/TESTES2.git</nowiki>
  
Initialized empty Git repository in /home/emerson/Desktop/testegithub/TESTES2/.git/  
+
Enviar os arquivos para o servidor:
 +
  <nowiki>[emerson@localhost TESTES2]$ git push origin master </nowiki>
  
 +
Outra forma de se enviar os arquivos para o servidor (<nowiki>git@github.com:surfx/TESTES.git</nowiki> é o link no servidor do GitHub):
 +
  <nowiki>[emerson@localhost TESTES]$ git push git@github.com:surfx/TESTES.git master</nowiki>
  
Adicionar no servidor ([mailto:git@github.com git@github.com]:surfx/TESTES2.git é o link no servidor do GitHub):
+
Enviar os arquivos para o git do colaborador (<nowiki>git@github.com:adolfont/TESTES.git</nowiki> é o link do servidor GitHub do colaborador):
 +
  emerson@localhost TESTES]$ git push <nowiki>git@github.com:adolfont/TESTES.git</nowiki> master
 +
  Counting objects: 5, done.
 +
  Compressing objects: 100% (3/3), done.
 +
  Writing objects: 100% (3/3), 353 bytes, done.
 +
  Total 3 (delta 1), reused 0 (delta 0)
 +
  To <nowiki>git@github.com:adolfont/TESTES.git</nowiki>
 +
  4253dde..2f9be95 master -> master
  
<nowiki>[emerson@localhost TESTES2]$ git remote add origin </nowiki>[mailto:git@github.com git@github.com]:surfx/TESTES2.git
+
=== Para enviar um novo ramo para o GitHub ===
 +
  git push origin [novo-ramo-remoto]
  
 +
=== Para baixar o ramo experimental do KEMS ===
  
Enviar os arquivos para o servidor:
+
1. Abrir um terminal. <br />
 
+
2. Ir para uma pasta onde possa ser criado o diretório KEMS. <br />
<nowiki>[emerson@localhost TESTES2]$ git push origin master </nowiki>
+
3. Baixar o KEMS: <br />
 +
  git clone git://github.com/adolfont/KEMS.git
 +
4. Ir para a pasta KEMS
 +
  cd KEMS
 +
5. Baixar o ramo "experimental" com:
 +
  git branch --track experimental origin/experimental
 +
6. Passar a usar o ramo "experimental"
 +
  git checkout experimental
  
 +
==== Procedimento genérico para baixar e usar um ramo não-mestre de um projeto ====
  
Outra forma de se enviar os arquivos para o servidor ([mailto:git@github.com git@github.com]:surfx/TESTES.git é o link no servidor do GitHub):
+
  git clone REPOSITORIO_GIT
 +
  cd PASTA_PRINCIPAL
 +
  git branch --track RAMO origin/RAMO
 +
  git checkout RAMO
  
<nowiki>[emerson@localhost TESTES]$ git push git@github.com:surfx/TESTES.git master</nowiki>
+
onde
  
 +
* REPOSITORIO_GIT=local do repositório git
 +
* PASTA_PRINCIPAL=pasta do projeto
 +
* RAMO=ramo não-mestre do repositório
  
Enviar os arquivos para o git do colaborador ([mailto:git@github.com git@github.com]:adolfont/TESTES.git é o link do servidor GitHub do colaborador):
 
  
emerson@localhost TESTES]$ git push git@github.com:adolfont/TESTES.git master
+
==== Para baixar atualizações ====
  
Counting objects: 5, done.  
+
  git pull git@github.com:adolfont/KEMS.git experimental
  
Compressing objects: 100% (3/3), done.
 
  
Writing objects: 100% (3/3), 353 bytes, done.
+
= Referências =
  
Total 3 (delta 1), reused 0 (delta 0)
+
* [http://git-scm.com/ Site oficial do Git]
 +
* [http://www.slideshare.net/slide_user/magia-git Magia Git]
 +
* [http://gitref.org/ Git Reference]
 +
* [http://www.developer.com/features/article.php/3886146/10-Git-Tips-and-Tricks-for-Beginners.htm  10 Git Tips and Tricks for Beginners]
 +
* [http://progit.org/book/ Pro Git Book]
  
To git@github.com:adolfont/TESTES.git
+
= Provedores =
  
4253dde..2f9be95 master -> master
+
* http://github.com/

Edição atual tal como 11h42min de 5 de julho de 2010

GIT


Como usar o Git junto com outros colaboradores para controle de versão.

Site de ref. para GIT: http://gitref.org/index.html

Ajuda do GIT:


  [emerson@localhost TESTES]$ git --help 
  usage: git [--version] [--exec-path[=GIT_EXEC_PATH]] [-p|--paginate|--no-pager] [--bare] [--git-dir=GIT_DIR]
[--work-tree=GIT_WORK_TREE] [--help] COMMAND [ARGS]
The most commonly used git commands are:
add - Add file contents to the index bisect - Find by binary search the change that introduced a bug branch - List, create, or delete branches checkout - Checkout a branch or paths to the working tree clone - Clone a repository into a new directory commit - Record changes to the repository diff - Show changes between commits, commit and working tree, etc fetch - Download objects and refs from another repository grep - Print lines matching a pattern init - Create an empty git repository or reinitialize an existing one log - Show commit logs merge - Join two or more development histories together mv - Move or rename a file, a directory, or a symlink pull - Fetch from and merge with another repository or a local branch push - Update remote refs along with associated objects rebase - Forward-port local commits to the updated upstream head reset - Reset current HEAD to the specified state rm - Remove files from the working tree and from the index show - Show various types of objects status - Show the working tree status tag - Create, list, delete or verify a tag object signed with GPG
See 'git help COMMAND' for more information on a specific command.


Considerações para este exemplo

  Os exemplos são feitos em linha de comando do Linux.
  Site do GitHub: https://github.com/
  Link do git usuário ‘surfx’: git@github.com:surfx
  Link do git colaborador ‘adolfont’: git@github.com:adolfont/TESTES.git:adolfont

Obs: para que o usuário ‘surfx’ realizasse o push no branch git@github.com:adolfont/TESTES.git do colaborador ‘adolfont’, é necessário que o usuário ‘adolfont’ adicione o colaborador ‘surfx’ no branch git@github.com:adolfont/TESTES.git, conforme Figura 1.

GITcolaboradores.PNG
Figura 1 – Colaboradores Git


Adicionado uma pasta para teste:

  [emerson@localhost ~]$ cd Desktop/ 
  [emerson@localhost Desktop]$ mkdir testegithub 
  [emerson@localhost Desktop]$ cd testegithub/ 

“Clonando” dos dados do Git do colaborador ‘adolfont’:

  [emerson@localhost testegithub]$ git clone git://github.com/adolfont/TESTES.git 
  Initialized empty Git repository in /home/emerson/Desktop/testegithub/TESTES/.git/ 
  remote: Counting objects: 18, done. 
  remote: Compressing objects: 100% (10/10), done. 
  remote: Total 18 (delta 3), reused 0 (delta 0) 
  Receiving objects: 100% (18/18), done. 
  Resolving deltas: 100% (3/3), done. 
  [emerson@localhost testegithub]$ cd TESTES/ 

Recupera o ramo atual:

  [emerson@localhost TESTES]$ git branch 
  * master 

Lista os arquivos do diretório:

  [emerson@localhost TESTES]$ ls 
  README 
  [emerson@localhost TESTES]$ cat README 
  This file is here only for testing git. 
  AQUI ESTÁ A ALTERAÇÃO CONFLITANTE.... 
  Fazendo alteração conflitante. 
  ##Gedit é um comando do Linux que permite editar um arquivo:
  [emerson@localhost TESTES]$ gedit README 

Este comando do git adiciona novos arquivos:

  [emerson@localhost TESTES]$ git add . 

Commit dos dados na máquina local (-m ‘’ representa um comentário):

  [emerson@localhost TESTES]$ git commit -a -m 'Testando alteração' 
  [master 2f9be95] Testando alteração 
  2 files changed, 8 insertions(+), 0 deletions(-) 
  create mode 100644 README~ 

Enviar os arquivos para o git do colaborador (git@github.com:adolfont/TESTES.git é o link do servidor GitHub do colaborador):

  emerson@localhost TESTES]$ git push git@github.com:adolfont/TESTES.git master 
  Counting objects: 5, done. 
  Compressing objects: 100% (3/3), done. 
  Writing objects: 100% (3/3), 353 bytes, done. 
  Total 3 (delta 1), reused 0 (delta 0) 
  To git@github.com:adolfont/TESTES.git 
  4253dde..2f9be95 master -> master 


Comandos comuns do GIT


Para trocar de ramo:

  [emerson@localhost TESTES]$ git checkout -b experimental 
  Switched to a new branch 'experimental' 

Listar os ramos existentes:

  [emerson@localhost TESTES]$ git branch
  * experimental 
  master 

Para excluir um ramo:

  [emerson@localhost TESTES]$ git branch -d experimental 
  Deleted branch experimental (was 2f9be95). 

Para criar um ramo:

  [emerson@localhost TESTES]$ git branch master 

Checkout em um ramo:

  [emerson@localhost TESTES]$ git checkout master 

Recuperar o log do GIT:

  [emerson@localhost TESTES]$ git log 

Listar os ramos existentes:

  [emerson@localhost TESTES]$ git branch -r 
  origin/HEAD 
  origin/experimental 
  origin/master 

Recuperar o ramo no qual você esta:

  [emerson@localhost TESTES]$ git branch 
  * master 

Checkout:

  [emerson@localhost TESTES]$ git checkout master 

Editar um arquivo:

  [emerson@localhost TESTES]$ cat README 

Editar um arquivo (linux):

  [emerson@localhost TESTES]$ gedit README 

Commit local (-m ‘comentário’):

  [emerson@localhost TESTES]$ git commit -a -m 'ex de comentario - modificacao' 

Add todos os novos arquivos:

  [emerson@localhost TESTE_EMERSON]$ git add . 

Inicializar GIT:

  [emerson@localhost TESTES2]$ git init 
  Initialized empty Git repository in /home/emerson/Desktop/testegithub/TESTES2/.git/ 

Adicionar no servidor (git@github.com:surfx/TESTES2.git é o link no servidor do GitHub):

  [emerson@localhost TESTES2]$ git remote add origin git@github.com:surfx/TESTES2.git 

Enviar os arquivos para o servidor:

  [emerson@localhost TESTES2]$ git push origin master 

Outra forma de se enviar os arquivos para o servidor (git@github.com:surfx/TESTES.git é o link no servidor do GitHub):

  [emerson@localhost TESTES]$ git push git@github.com:surfx/TESTES.git master

Enviar os arquivos para o git do colaborador (git@github.com:adolfont/TESTES.git é o link do servidor GitHub do colaborador):

  emerson@localhost TESTES]$ git push git@github.com:adolfont/TESTES.git master 
  Counting objects: 5, done. 
  Compressing objects: 100% (3/3), done. 
  Writing objects: 100% (3/3), 353 bytes, done. 
  Total 3 (delta 1), reused 0 (delta 0) 
  To git@github.com:adolfont/TESTES.git 
  4253dde..2f9be95 master -> master

Tabela de conteúdo

Para enviar um novo ramo para o GitHub

  git push origin [novo-ramo-remoto]

Para baixar o ramo experimental do KEMS

1. Abrir um terminal.
2. Ir para uma pasta onde possa ser criado o diretório KEMS.
3. Baixar o KEMS:

  git clone git://github.com/adolfont/KEMS.git

4. Ir para a pasta KEMS

  cd KEMS

5. Baixar o ramo "experimental" com:

  git branch --track experimental origin/experimental

6. Passar a usar o ramo "experimental"

 git checkout experimental

Procedimento genérico para baixar e usar um ramo não-mestre de um projeto

 git clone REPOSITORIO_GIT
 cd PASTA_PRINCIPAL
 git branch --track RAMO origin/RAMO
 git checkout RAMO

onde

  • REPOSITORIO_GIT=local do repositório git
  • PASTA_PRINCIPAL=pasta do projeto
  • RAMO=ramo não-mestre do repositório


Para baixar atualizações

 git pull git@github.com:adolfont/KEMS.git experimental


Referências

Provedores

Ferramentas pessoais