git - Atlassian 的“git pull --rebase”教程图不正确吗?
问题描述
对于现在阅读本文的任何人 - Atlassian 已经修复了他们的图表。
原始问题:
我正在阅读 Atlassian 优秀的 Git 教程,但我对一张图感到困惑:
https://www.atlassian.com/git/tutorials/syncing/git-pull
这是从顶部开始的第三个流程图。
我认为它应该只是一行:D - A - B - C - E - F - G
指向 C 的“远程原点/主控”和指向 G 的“本地主控”。
我使用 SmartGit(pull rebase 选项)和 GitHub 的实验似乎证实了这个答案,但似乎我误解了 Atlassian 在他们的图表中犯了一个错误。
他们继续往下说:“许多开发人员更喜欢变基而不是合并,因为这就像说,'我想把我的改变放在其他人所做的之上。'”。这种说法似乎也与图表相矛盾。
如果图表是正确的,请解释如何将本地更改放在源更改之上,以便保留源的历史记录。
解决方案
图表不正确。
当您使用该--rebase
选项进行拉取时,您的所有本地提交都将附加到远程分支,因此您是对的,这E-F-G
应该是在远程更改之后A-B-C
,导致D-A-B-C-E'-F'-G'
('
用于指定提交在技术上与原件,它们是这些提交的重写版本)
推荐阅读
- flutter - 'List 类型的值
- git - Visual Studio Code 远程:用户名或密码无效致命:身份验证失败
- zend-framework3 - Laminas / Zf3 - 从 Fieldset 获取参数,但它返回空值
- reactjs - 如何在反应应用程序中压缩构建文件?
- c++ - 如何使这个大写小写 C++ 程序工作?
- python-3.x - Flask Restful api发布带有图像的数据
- html - 将图像放在导航栏引导程序和 css 下方,而不会被文本重叠
- vue.js - 组件正在渲染,但在测试时失败
- php - AWS S3 在客户端浏览器上显示文件
- python - 将 MATLAB 代码转换为 Python 后,我得到了不同的结果