git - git pull 如何管理提交历史?
问题描述
假设我克隆了一个远程存储库,到目前为止它有 1 个 commit => A
。然后,我对我的本地分支进行了两次提交,所以它变成了 => A - B - C
。但是,我的同事同时向他们的本地分支提交了另外两个提交,所以他们的提交历史变成了 => A - D - E
。然后他们将其推送到远程存储库。
然后我意识到我想推送我的更改,但git push
告诉我远程存储库在我前面。所以,我愿意git pull
。
我的问题是,现在跟踪远程跟踪分支的本地分支是什么样的?我知道会有合并冲突,但我的实际问题是:提交历史会是什么样子?
更具体地说,假设我修复了冲突并现在提交了它们,我的提交历史会看起来像这样A - D - E - F
还是A - B - C - D - E - F
?git中的提交历史是非线性的吗?
解决方案
是的,如果是正常拉动,将与 2 个父分支合并......所以你将有两个平行的分支,比如说。用 来看看结果git log --all --graph
。作为旁注:冲突不是强制性的。他们出现的原因有很多,但在合并时并不是给定的。您可能会经常使用无冲突的合并。
推荐阅读
- python-3.x - 如何推送和弹出类中的特定堆栈(这是我的 Stack 类中的两个列表成员)?
- xcode - Xcode Swift 包管理器无法为 git 使用正确的 SSH 密钥
- amazon-s3 - Directus - AWS S3 上传 - 错误消息:无法设置未定义的属性“值”
- java - Thymeleaf - 猫王操作员未按预期工作
- amazon-web-services - 地图输入来自执行输入的 AWS Step Function
- java - RecyclerView 在布局中不显示任何项目
- python - 测试函数上的 pso 算法。但我被python代码困住了
- c - 通过匿名管道将数据传递给另一个程序
- c# - C# 一个包含各种对象类型的列表
- javascript - 我正在尝试使用 Python 网络爬虫从定期更新该文本的页面中提取文本