Portuguese, Brazilian feliratok

← Conflict Detection - How to Use Git and GitHub

Beágyazókód kérése
5 Languages

Showing Revision 8 created 06/20/2016 by Udacity Robot.

  1. Neste exemplo, como o Git sabe se B´
  2. e B´´ são versões modificadas de B
  3. ou se o usuário apenas excluiu B e escreveu linhas totalmente novas na mesma área?
  4. Em vez de ficar se esforçando para tentar entender isso,
  5. Git só nota que as linhas são diferentes a parte daí.
  6. Então como o Git sabe se deve ou não haver um conflito de fusão?
  7. Considere os dois exemplos a seguir:
  8. Em ambos os casos, começamos com duas cópias idênticas do mesmo arquivo.
  9. No primeiro caso,
  10. dois colaboradores novos adicionam funções novas ao final dos arquivos.
  11. São funções diferentes que não interagem entre si
  12. e não têm nada a ver uma com a outra.
  13. No entanto, no segundo caso, dois colaboradores diferentes
  14. adicionam implementações da mesma função com nomes diferentes.
  15. No primeiro caso, você claramente quer que ambas as funções sejam incluídas,
  16. mas na segunda situação, você provavelmente só quer uma das ocorrências da função,
  17. muito provável que seja a que tenha memória mais eficiente
  18. ou mais rápida, dependendo do que você estiver procurando.
  19. Mas o Git não consegue fazer essa distinção.
  20. Seria preciso uma recurso de aprendizado de máquina muito sofisticado para fazer isso.
  21. E este é apenas um dos possíveis cenários.
  22. Tornar o Git inteligente o suficiente para entender todos os casos possíveis
  23. em que você gostaria que houvesse uma fusão automática seria uma tarefa absurda.
  24. Então, em vez disso, o Git apenas supõe que você está fundindo dois commits
  25. que têm alterações na mesma área geral. Os autores querem saber disso
  26. e ter a chance de entender por si próprios quais alterações manter.
  27. Essa decisão de perguntar ao usuário sempre que houver qualquer ambiguidade
  28. às vezes leva a situações em que tudo parece extremamente óbvio para você,
  29. um especialista no conteúdo, como resolver o conflito.
  30. Mas o Git chamará sua atenção para isso de qualquer maneira.
  31. Mesmo que seja irritante, é bem melhor do que se o Git tentasse adivinhar com frequência,
  32. o que poderia levar a estranhas alterações aglomeradas
  33. que na verdade não fazem sentido e provavelmente haveria falha na compilação e execução.