Conversation
337a8d3 to
c409f3c
Compare
Signed-off-by: Lays Rodrigues <laysrodriguessilva@gmail.com>
c409f3c to
a8439f3
Compare
gomex
left a comment
There was a problem hiding this comment.
O texto está muito bom. Eu tenho apenas pequenas considerações que podem deixar o texto ainda melhor. Veja e me diga o que acha.
| git checkout gera_conflito | ||
|
|
||
| # Comando para realizar um rebase entre gera_conflito e a main | ||
| git rebase main |
There was a problem hiding this comment.
Da pra explicar isso aqui sem fazer rebase? Seria legal evitar de colocar mais um elemento nessa explicação aqui.
| ### Git Rebase | ||
| No cenário apresentado na imagem abaixo, simulamos o evento de _rebase_ entre duas _branches_. Este exemplo foi feito no VSCode que possui ferramentas que nos auxiliam no tratamento de conflitos. | ||
|
|
||
| **Fluxo representando o git rebase** | ||
|  | ||
|
|
||
| Agora vamos detalhar os elementos presentes nesta imagem. | ||
|
|
||
| O bloco entre `<<<<<<< HEAD (Current Change)` e o `=======` destacado em tons de **verde**, representa as alterações pertencentes ao commit na sua _branch_ atual, e o bloco a partir deste último até `>>>>>>> (Commit causador de conflito) (Incoming Change)` destacado em tons de **azul** representa as alterações que o _commit_ da _branch_ para a qual você está realizando o _rebase_ possui. | ||
| Resumidamente o comando `rebase` avalia qual o último _commit_ as duas _branches_ possuem em comum, e a partir desse puxa todos os _commits_ na _branch_ `main` e depois que puxar todos esses _commits_, adiciona os _commits_ relacionados a `gera_conflito`. | ||
|
|
||
| No diagrama abaixo temos representados dois cenários. O Cenário I representa nosso estado atual entre as _branches_: Temos o bloco _A_ que concentra o grupo de _commits_ realizados na _branch_ `gera_conflito`, e no bloco _B_ o grupo de _commits_ realizados na _branch_ `main`. No segundo cenário representamos o que seria o fluxo de sucesso, onde conseguiríamos trazer tranquilamente as mudanças da `main` para `gera_conflito`, mas como estamos simulando o cenário de conflito, os blocos _A_ e _B_ contém mudanças conflitantes entre si. | ||
|  | ||
|
|
There was a problem hiding this comment.
Se rebase for removido desse capítulo, podemos mover toda essa parte pro capítulo de git básico.
| # Como tratar conflitos no Git? (Lays Rodrigues) | ||
|
|
||
| Em nosso dia a dia de desenvolvimento inevitavelmente vamos ter que lidar com conflitos no Git. | ||
| Segundo a definição do [Github Docs](https://docs.github.com/en/github/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts) um conflito "é criado quando você faz um _merge_ entre _branches_ que possuem commits concorrentes e o Git precisa da sua ajuda para decidir quais alterações incorporar na _merge_ final." |
There was a problem hiding this comment.
O que acha de colocar uma imagem só pra deixar mais claro a explicação do problema. Normalmente esse primeiro paragrafo serve pra explicar o problema. Eu sei que isso é detalhado depois, mas didaticamente, deixar claro sobre qual problema a pessoa está lendo facilita o entendimento.
Neste PR proponho adicionar o capítulo que fala sobre conflitos no git e que o assunto é comentado no capítulo "O que é um Pull Request?"
Dúvidas
closes #6