GIT
Linha 11: | Linha 11: | ||
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]<br /> | 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]<br /> | ||
The most commonly used git commands are:<br /> | The most commonly used git commands are:<br /> | ||
− | add Add file contents to the index | + | <i>add</i> - Add file contents to the index |
− | bisect Find by binary search the change that introduced a bug | + | <i>bisect</i> - Find by binary search the change that introduced a bug |
− | branch List, create, or delete branches | + | <i>branch</i> - List, create, or delete branches |
− | checkout Checkout a branch or paths to the working tree | + | <i>checkout</i> - Checkout a branch or paths to the working tree |
− | clone Clone a repository into a new directory | + | <i>clone</i> - Clone a repository into a new directory |
− | commit Record changes to the repository | + | <i>commit</i> - Record changes to the repository |
− | diff Show changes between commits, commit and working tree, etc | + | <i>diff</i> - Show changes between commits, commit and working tree, etc |
− | fetch Download objects and refs from another repository | + | <i>fetch</i> - Download objects and refs from another repository |
− | grep Print lines matching a pattern | + | <i>grep</i> - Print lines matching a pattern |
− | init Create an empty git repository or reinitialize an existing one | + | <i>init</i> - Create an empty git repository or reinitialize an existing one |
− | log Show commit logs | + | <i>log</i> - Show commit logs |
− | merge Join two or more development histories together | + | <i>merge</i> - Join two or more development histories together |
− | mv Move or rename a file, a directory, or a symlink | + | <i>mv</i> - Move or rename a file, a directory, or a symlink |
− | pull Fetch from and merge with another repository or a local branch | + | <i>pull</i> - Fetch from and merge with another repository or a local branch |
− | push Update remote refs along with associated objects | + | <i>push</i> - Update remote refs along with associated objects |
− | rebase Forward-port local commits to the updated upstream head | + | <i>rebase</i> - Forward-port local commits to the updated upstream head |
− | reset Reset current HEAD to the specified state | + | <i>reset</i> - Reset current HEAD to the specified state |
− | rm Remove files from the working tree and from the index | + | <i>rm</i> - Remove files from the working tree and from the index |
− | show Show various types of objects | + | <i>show</i> - Show various types of objects |
− | status Show the working tree status | + | <i>status</i> - Show the working tree status |
− | tag Create, list, delete or verify a tag object signed with GPG <br /> | + | <i>tag</i> - Create, list, delete or verify a tag object signed with GPG <br /> |
− | See 'git help COMMAND' for more information on a specific command. | + | See 'git help <i>COMMAND</i>' for more information on a specific command. |
Edição de 10h28min de 20 de outubro de 2009
GIT
Como usar o Git junto com outros colaboradores para controle de versão.
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.
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