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 anterior Revisão anterior
Próxima revisão
Revisão anterior
ti_publica:dicas_git [2019/06/19 11:50]
cartola
ti_publica:dicas_git [2019/07/02 09:44] (atual)
cartola [Branches]
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 55: Linha 65:
 Usos do comando //branch//: Usos do comando //branch//:
  
-  * Consultando os //branches// existentes:+**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):
     <code>git branch [-a]</code>     <code>git branch [-a]</code>
-    A opção ''-a'' mostrará também os branches remotos 
  
   * 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> 
 + 
 +  * Para ''push'' para o //branch// específico: 
 +    <code>push -u origin <branch></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.1560955828.txt.gz · Última modificação: 2019/06/19 11:50 por cartola