Ferramentas do usuário

Ferramentas do site


ti_publica:dicas_git

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anteriorRevisão anterior
Próxima revisão
Revisão anterior
Última revisãoAmbos lados da revisão seguinte
ti_publica:dicas_git [2019/06/19 11:52] – [Branches] cartolati_publica:dicas_git [2019/06/19 18:15] – [Merging] cartola
Linha 30: Linha 30:
  
 ===== Trabalhando numa mudança cotidiana ===== ===== Trabalhando numa mudança cotidiana =====
 +
 +O fluxo mais comum de trabalho no dia-a-dia em um repositório já baixado vai ser:
 +
 +  * Atualizar o código (desnecessário se só você altera e sempre o faz desse local): ''git pull''
 +  * Alterar o que for necessário
 +  * Indicar o que quer que seja atualizado (dentre o que foi alterado): ''git add <nome(s)>''
 +  * Atualizar o repositório local: ''git commit [-m "mensagem"] <nome(s)>|-a''
 +  * Atualizar o repositório remoto: ''git push''
 +
 +Além desse fluxo pode precisar também desses comandos:
  
   * Adiciona um item para ser controlado ou atualizado:   * Adiciona um item para ser controlado ou atualizado:
Linha 37: Linha 47:
     <code>git mv <nome></code>     <code>git mv <nome></code>
  
-  * Remove um item:+  * Remove um item (não se deve remover com o rm do SO):
     <code>git rm <nome></code>     <code>git rm <nome></code>
  
Linha 54: Linha 64:
  
 Usos do comando //branch//: Usos do comando //branch//:
 +
 +**Nota:** o comando //checkout// apenas reaponta a referência HEAD e atualiza a árvore de trabalho de acordo com tal apontamento.
  
   * Consultando os //branches// existentes (a opção ''-a'' mostrará também os branches remotos):   * Consultando os //branches// existentes (a opção ''-a'' mostrará também os branches remotos):
Linha 59: Linha 71:
  
   * Criando um //branch// (mas não te posicionando nele):   * Criando um //branch// (mas não te posicionando nele):
-    <code>git branch <nome></code>+    <code>git branch <nome do branch></code>
  
   * Apontando para o //branch// criado:   * Apontando para o //branch// criado:
-    <code> git checkout <nome></code>+    <code>git checkout <nome do branch></code> 
 + 
 +  * Cria e já aponta para o //branch// criado: 
 +    <code>git checkout -b <nome do branch></code> 
 + 
 +  * Removendo um //branch//: 
 +    <code>git branch -d <nome do branch></code> 
 + 
 +  * Caso um //commit// tenha ficado órfão por deleção acidental do label do //branch//: 
 +    * Listar história recente do HEAD: ''git reflog'' 
 +    * Verificar se há um sha1 referente ao que se perdeu 
 +    * Recriar o //branch// apontando para aquele //commit// órfão: ''git checkout -b <nome> <sha1>'' 
 + 
 +  * Mostra grafo histórico dos //branches// criados: 
 +    <code>git log --oneline --graph</code> 
 + 
 +===== Merging ===== 
 + 
 +Obtendo um manual sobre o assunto: 
 +    $ git help merge 
 + 
 +Tipos: 
 +  * fast-forward 
 +    * é o padrão 
 +    * apenas move o label do ramo base para a ponta do ramo  
 +  * commit 
 +    * próxima tentativa caso o fast-forward não seja possível 
 +    * sempre terá múltiplos pais e pode gerar conflitos 
 +  * squash 
 +  * rebase 
 + 
 +Realizando um merge tipo fast-forward: 
 +  * Reapontar o HEAD para master 
 +  * Realizar o merge propriamente dito 
 +  * Eliminar o ramo usado para a implementação (opcional) 
 + 
 +  # Uma conferida no status das coisas 
 +  $ git log --online --graph --all 
 +  $ git chechout master 
 +  $ git merge featureX 
 +  $ git branch -d featureX # opcional
  
 +Realizando um merge tipo commit
 +  * Mesmos passos do fast-forward
 +  * git vai detectar que o fast-forward não é possível
 +  * git abrirá um editor para a mensagem de merge (pode aceitar a padrão ou editar)
 +  * Manterá claramente o caminho do ramo no histórico
 +  * Se quiser sempre fazer o tipo merge pode se usar a opção ''--no-ff''
 ===== Rascunho ===== ===== Rascunho =====
  
ti_publica/dicas_git.txt · Última modificação: 2019/07/02 09:44 por cartola