Chapter 3.6 rebasing "More Interesting Rebases" example requires direct checkout of commit by SHA1 instead of branch

Abierto
#1,994 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
45/100
Tipo de issue
Documentación
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
git

Línea de trabajo

Read the “More Interesting Rebases” section in the Git Branching—Rebasing chapter and inspect the linked interesting-rebase-1.png diagram. Reproduce the sequence, including creating client from C3 and checking out server, to confirm where the instructions diverge. Update the example or its instructions so the branch points and rebase result match the diagram, then verify the revised sequence.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug
There's no existing/similar bug report.
  • I have searched the existing issues
This report is about a single actionable bug.
  • I'm reporting a single actionable bug
This report is about the ProGit book, version 2, English language.
  • This bug is not about a translation or old version
Bug covers book website/pdf
  • I confirm the bug is about the book as found on the website/pdf
Problem is present in the Pro Git book on the website?
  • This bug also affects the Pro Git book as published on the website.
Which version of the book is affected?

Source files

Describe the bug:

On page https://git-scm.com/book/en/v2/Git-Branching-Rebasing, https://git-scm.com/book/en/v2/images/interesting-rebase-1.png, I am assuming the commits are done in the order indicated by the number, e.g. C1 first then C2, C3, C4, etc. If so when C5 & C6 are created, branch server is pointing at C4. In order to get branch client to begin at C3 the user would have to use the command git checkout [C3 SHA] or similar after adding C5 & C6. If the user executes git checkout server (as I expected) the tree is wrong; client branches from C4, not C3.

Steps to reproduce:

view page https://git-scm.com/book/en/v2/Git-Branching-Rebasing, section "More Interesting Rebases"

Expected behavior:

This is not technically wrong. The client branch could have originated after a checkout of the raw C3 SHA, but if the user performs git checkout server to begin the client branch the command git rebase --onto master server client results in rebase conflicts, and it also means that "C3" is included. As a naive git user the first time I tried to follow the example I executed git checkout server not noticing that it was pointing at C4 instead of C3 before adding C8 while trying to reproduce the sequence. This led to difficulties in the rebase.

After studying the problem for a while I figured out what the issue was and performed a checkout on the raw C3 SHA before creating the client branch. This did behave as I expected, but it feels like this was not how the author intended the example to proceed.

It has just now occurred to me that immediately after creating commit C3 the user could create branch client with no commits then switch back to branch server and create commit C4. Branch client would then point at C3, and everything would work as I think is expected. To me it would be desirable to include these instructions for those of us who attempt to reproduce the flow in the diagram.

Screenshots:

No response

Additional context:

No response

Device

No response

Operating system

No response

Browser/application + version

No response

Lenguaje dominante
CSS
Estrellas
6.6k
Forks
2.1k
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de progit/progit2

Todos los issues de progit/progit2

Issues similares

Más issues de Documentation

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.