Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

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

未关闭
#1,994 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
45/100
Issue 类型
文档
描述清晰度
基本清楚
活跃度
停滞
技术栈
git
领域
documentation

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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

主要语言
CSS
星标
6.6k
派生
2.1k
PR 合并指标
30 天内没有已合并 PR

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

progit/progit2 的其他 Issue

查看 progit/progit2 的全部 Issue

相似的 Issue

更多 Documentation Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。