Quinta-feira, dia 11 de Fevereiro, as 19h03min12s

Neste exato momento, Laura fez o commit e push da sua edição no arquivo de chamada. Ela, como foi instruída pelo professor, colocou seu nome na última colocação, e seu número era 14.

[20210212.002308, !1590]$ git show 941c4b2
commit 941c4b2f2af558188d0cd138e4c7af226ece40ef (refs/bisect/good-941c4b2f2af558188d0cd138e4c7af226ece40ef)
Author: Laura Kely Monteiro Da Silva <lauramonteiro>
Date:   Thu Feb 11 19:03:12 2021 -0300

logica: Laura Kely Monteiro Da Silva

diff --git a/logica/2020s1-01-logica.md b/logica/2020s1-01-logica.md
index 290bb24..8dab2f6 100644
--- a/logica/2020s1-01-logica.md
+++ b/logica/2020s1-01-logica.md
@@ -28,3 +28,4 @@
11 | Eduardo Cavalcanti Ferreira                                | @eduardocavalcantiferreira|
12 | Gabriel Antonio Caetano Farias                             | @gabrielfariaseng         |
13 | Marcos Andre Estrela Santos Junior                         | @estrelanony              |
+14 | Laura Kely Monteiro Da Silva                               | @LauraM358                |

Quinta-feira, dia 11 de Fevereiro, às 19h03min19s

Com apenas 7 segundos de diferença, Andressa não tinha em seu repositório as atualizações feitas por Laura. Para Andressa, o arquivo terminava em Marcos, número 13, e ela era a detentora do número 14 por direito. Ela fez sua edição, salvou o arquivo, fez o commit, e até aí tudo bem. Mas ela está prestes a ter uma surpresa durante o push.

 

$ git show 4b35269
commit 4b3526933b50a02242f750237a0247193515056e (refs/bisect/good-4b3526933b50a02242f750237a0247193515056e)
Author: Andressa Freitas De Arruda <andressa>
Date:   Thu Feb 11 19:03:19 2021 -0300

    logica: Andressa Freitas De Arruda

diff --git a/logica/2020s1-01-logica.md b/logica/2020s1-01-logica.md
index 290bb24..706e9de 100644
--- a/logica/2020s1-01-logica.md
+++ b/logica/2020s1-01-logica.md
@@ -28,3 +28,4 @@
 11 | Eduardo Cavalcanti Ferreira                                | @eduardocavalcantiferreira|
 12 | Gabriel Antonio Caetano Farias                             | @gabrielfariaseng         |
 13 | Marcos Andre Estrela Santos Junior                         | @estrelanony              |
+14 | Andressa Freitas De Arruda                                 | @andressa741              |

 

 

Quando tentou fazer o push, Andressa notou um conflito. Uma mensagem de erro voltou indicando a ela que era preciso resolvê-lo. Ao abrir novamente o arquivo de chamada, eis o que nele se encontrava:

 

$ cat logica/2020s1-01-logica.md 
# Lista de Chamada

* Disciplina: Logica Matematica
* Turma: LT
* Periodo: 2020s1
* Horario:
    - Qua, 13h50 - 15h30
    - Qui, 15h30 - 17h10
* Prof. Dr. Ruben Carlo Benante

# Semana: 01 


## Alunos presentes

 N | Nome Completo                                              | Usuario Github            |
---|------------------------------------------------------------|---------------------------|
01 | Arlon Nata Alves Granja Delmondes                          | @arlonnata1               |
02 | Iuri Nazareno De Franca Rossi                              | @iurirossi                |
03 | Joao Pedro Henderson Sarruf                                | @joaosarruf               |
04 | Breno Augusto De Brito Rangel                              | @brenorangel20            | 
05 | Jose Lucas Bessa De Oliveira                               | @JoseLucasBessa           |
06 | Gabriel De Mendonca Ramalho                                | @Gabs2002                 |
07 | Marcus Vinicius Barbosa Vilela Curvelo                     | @marc3105                 |
08 | Andre Wanderley De Melo                                    | @andr3m3l0                |
09 | Alex Bruno Seabra                                          | @aalexbrunno              |
10 | Eduardo Felipe Da Silva Braga                              | @eduubr                   |
11 | Eduardo Cavalcanti Ferreira                                | @eduardocavalcantiferreira|
12 | Gabriel Antonio Caetano Farias                             | @gabrielfariaseng         |
13 | Marcos Andre Estrela Santos Junior                         | @estrelanony              |
<<<<<<< HEAD
14 | Laura Kely Monteiro Da Silva                               | @LauraM358                |
=======
14 | Andressa Freitas De Arruda                                 | @andressa741              |
>>>>>>> 4b3526933b50a02242f750237a0247193515056e

 

Resolvendo o conflito

Não tinha como não ficar estupefada pela descoberta de que haviam dois números 14! Ora como? Simples: ao fazer o push, o comando git tenta enviar os arquivos locais para o repositório remoto, e lá encontra a atualização feita pelo push imediatamente anterior, o push de Laura.

Normalmente o conflito se resolve sozinho, pois o comando git é capaz de interpolar linhas diferentes editadas por pessoas diferentes. Mas aqui seria necessário intervenção humana, pois a mesma linha indicava dois nomes, e o comando git não tem como saber qual seria a certa.

A marcação <<<<<<< HEAD marca o início do arquivo remoto (arquivo de Laura). A marcação ======= marca a separação entre o arquivo remoto (de Laura) e o arquivo local (de Andressa). E finalmente, a marcação >>>>>> HASH marca o final do conflito.

Andressa então tem que ajustar esse arquivo. Ela deve deixar o número 14 para Laura, que uma hora dessas já até desligou o seu computador totalmente alheia ao fato (pois para Laura, o push foi sem conflito). Andressa então deve recolocar seu nome com o número 15, e, muito importante, deve apagar as marcas <<<<<, ===== e >>>>> do conflito. O arquivo final da Andressa ficará assim:

 

$ cat logica/2020s1-01-logica.md 
# Lista de Chamada

* Disciplina: Logica Matematica
* Turma: LT
* Periodo: 2020s1
* Horario:
    - Qua, 13h50 - 15h30
    - Qui, 15h30 - 17h10
* Prof. Dr. Ruben Carlo Benante

# Semana: 01 


## Alunos presentes

 N | Nome Completo                                              | Usuario Github            |
---|------------------------------------------------------------|---------------------------|
01 | Arlon Nata Alves Granja Delmondes                          | @arlonnata1               |
02 | Iuri Nazareno De Franca Rossi                              | @iurirossi                |
03 | Joao Pedro Henderson Sarruf                                | @joaosarruf               |
04 | Breno Augusto De Brito Rangel                              | @brenorangel20            | 
05 | Jose Lucas Bessa De Oliveira                               | @JoseLucasBessa           |
06 | Gabriel De Mendonca Ramalho                                | @Gabs2002                 |
07 | Marcus Vinicius Barbosa Vilela Curvelo                     | @marc3105                 |
08 | Andre Wanderley De Melo                                    | @andr3m3l0                |
09 | Alex Bruno Seabra                                          | @aalexbrunno              |
10 | Eduardo Felipe Da Silva Braga                              | @eduubr                   |
11 | Eduardo Cavalcanti Ferreira                                | @eduardocavalcantiferreira|
12 | Gabriel Antonio Caetano Farias                             | @gabrielfariaseng         |
13 | Marcos Andre Estrela Santos Junior                         | @estrelanony              |
14 | Laura Kely Monteiro Da Silva                               | @LauraM358                |
15 | Andressa Freitas De Arruda                                 | @andressa741              |

 

E viveram felizes para sempre.

Arquivo de Log

Além dos comandos acima, é interessante conhecer o comando “git lo”, que mostra o log dos últimos commits.

No caso acima, podemos ver

* 50017ec DrBeco 2021-02-12 correcao de conflito em logica  (HEAD -> master, origin/master, origin/HEAD)
*  0dc7ca2 Laura 2021-02-11 logica: Laura Kely Monteiro Da silva
|\ 
| * 4b35269 14.Andressa 2021-02-11 logica: Andressa Freitas De Arruda 
* | 941c4b2 14.Laura 2021-02-11 logica: Laura Kely Monteiro Da Silva  
|/  
* f46cda4 13.Marcos 2021-02-11  logica: Marcos Andre Estrela Santos Junior 

 

Perceba que no commit 941c4b2, Laura já adicionou seu número 14, que veio do arquivo de Marcos, número 13. Note uma bifurcação nos caminhos (as barras verticais), e o commit 4b35269 tem o mesmo “pai” do commit de Laura, que é Marcos.

Depois de ambas realizarem o seu commit e push, a linha volta a ficar única no commit 0dc7ca2. Porém, como não resolveram o conflito, o arquivo ficou incorreto, mostrando as marcas de conflito (<<<<<, =====, >>>>>) e dois nomes com número 14.

Então, no commit 50017ec, o professor interveio e resolveu desta vez, para poder ensinar e escrever este post.

Cuidado: se o professor tiver que resolver novamente, a pessoa que entrar errado com número duplicado e não resolver o conflito, será eliminada e ficará com falta. Então, após o push, sempre olhe se o arquivo ficou correto.

Na dúvida, se deu erro para você, lembre-se: você é o número seguinte. Pois para a primeira pessoa, você ainda não tinha entrado, e o conflito só aparece para a segunda pessoa.

Bom estudo!

Posted in git

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>