深入理解Git的变基操作与历史重写
1. Git垃圾回收与提交保留
Git在进行垃圾回收时通常极为谨慎。它不会清理掉找到的每一个松散对象,因为有可能你会误操作,而后续可能还需要该提交中的代码。实际上,即便某个提交未被任何地方引用,只要你能从日志中知晓该提交的哈希值,就仍可检出并使用其中的代码。Git就像一位优秀的开发者,会将这些文件保留一段时间,以防你日后需要。
2. 合并与变基的选择
虽然开发团队的策略和目标会决定你采用合并还是变基的方式,但以下是一些实用的建议,帮助你判断何时变基比合并更合适,反之亦然:
| 操作选择 | 适用场景 |
| ---- | ---- |
| 变基 | - 当以线性方式组织变更有上下文意义时,例如Will和Xanthe在同一文件中的工作。
- 当本地提交或本地分支历史混乱,你想在推送前清理时。
- 当团队经常需要查看历史图来确定谁在何时更改了什么时。 |
| 合并 | - 当你进行了重大更改,如在拉取请求中添加新功能,分支策略能为历史图提供上下文时。
- 当复杂的历史图不影响团队的日常工作时。 |
变基在Git中有一段漫长且充满争议的历史,但它只是你工具库中的另一个工具。变基在本地未推送的分支中最为有用,可清理编码过程中不可避免的混乱。
3. 挑战:在另一个分支上进行变基
假设你发现Zach在 zValidator 分支上对范围检查函数进行了一些重构。运行以下命令查看两个分支之间的关系:
git log -
超级会员免费看
订阅专栏 解锁全文
83

被折叠的 条评论
为什么被折叠?



