Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Horário do commit no Git rebase

Fala galera, tudo bem?

Estou vendo as aulas de Git. Notei que o git não respeita o horário do commit para organizar as posições quando o professor executou o comando git rebase titulo para fazer um merge dessa branch com a branch master.

Exemplo(estou tentando simular o resultado o git log depois do rebase feito)

commit xxxxx (HEAD ->  master)
autor: xuz 
date: 11:25:54 
Corrigindo no do Docker

commit yyyyy (titulo)
autor: ptos 
date: 11:43:12 
Curso com letra maiúscula

Alguém poderia me explicar por isso acontece e se isso pode gerar algum problema no histórico de commits ?

Valeu!

4 respostas

Olá Ivan, tudo bem? Não é bem isso, o Git deixa tudo na sequência, note que mesmo quando o instrutor usou o merge os commit ficaram num sequência temporal também, porém o que acontece é que ele realizou um git rebase e o que o rebase faz é com o código feito em branch seja adicionado como o último trabalho antes do atual. Acho que não fui muito claro, deixa eu explicar melhor:

Na branch master ele tinha feito o commit Corrigindo nome do curso de Docker as 11:25:59, porém ele foi para a branch titulo e realizou outro commit, que foi o Cursos com letra maiúscula que foi as 11:34:47, porém o comportamento do rebase é trazer o commit Cursos com letra maiúscula da branch titulo para a branch master, porém não como o trabalho mais atual dessa branch master, o trabalho atual da master é o Corrigindo nome do curso de Docker logo o commit Cursos com letra maiúscula, vai ser adicionado antes do trabalho atual, e nesse momento sim, o Git não se importa com os horários em que cada um foi criado, mais sim com a ordem de que o commit atual da branch que recebe o rebase deve ser mantido e todos os commit que vêm de outra branch devem ficar antes do commit atual da branch.

Espero ter esclarecido sua dúvida!

Jonilson, tudo bem?

Obrigado pela explicação, porém existe algum procedimento para deixar essa linha temporal organizada pelo horário? Seria o merge nesse caso ?

solução!

Sim Ivan, no caso usando o merge, os commits ficam a frente, mesmo assim o horário pode ficar invertido, já que é possível que alguém faça um commit na branch master depois do horário de um commit na outra branch e quando você fizer o merge o horário pode ficar invertido também. O que importa realmente é a organização lógica dos commit, e o que cada um faz, por isso que geralmente somos acoelhados a criar um commit para cada nova funcionalidade que implementando no projeto.

Valeu!!!!