git - Git 上的两个分支是 1 次提交,但代码没有差异
问题描述
我的 GitHub 存储库中有两个分支,dev
并且master
. 我最近从dev
into做 PR master
,现在他们是 1 commit off。
master
有 111 次提交和dev
112 次提交,但两个分支的代码完全相同。
这很烦人,因为在 GitHub 上,我看到当我从toThis branch is 1 commit ahead of dev.
做 PR 时,它被切换了,我得到了master
dev
This branch is 1 commit ahead of master.
如何解决这个问题?
解决方案
我最近正在从 dev 到 master 做 PR,现在他们已经 1 提交了。
当你合并 PR 时,它可能创建了一个“合并提交”:一个有两个父级的提交,它链接了两个分支的历史,如下所示:
master before merge
v
... <--a <--b <--c
\
-- M <-- master after merge, pointing at merge commit
/
... <--x <--y <--z
^
dev, before and after merge
除非您解决了任何冲突,否则此提交不会包含任何更改,它只是将历史粘合在一起。它可以从“master”(即在历史中)访问,但不能从“dev”访问,因此它显示为他们历史上的差异。
您可以以另一种方式合并回来,然后您将在“dev”的历史记录中拥有一个不在“master”中的新合并提交(以“z”和“M”作为父项)。根据您的工作流程,这可能会或可能不会更令人困惑。
或者,您可以“快进”开发人员以指向合并提交,但如果您已保护分支仅通过拉取请求进行更改,那将是繁琐的。
推荐阅读
- python - 有没有办法混淆或屏蔽数据框列中的值?
- asp.net-mvc - 在 Asp Core 2.2 中获取和设置表上的数据 CheckboxList
- javascript - 如何使用 normalizr 规范化嵌套响应
- android - 如何以编程方式获取我设备的热点的 SSID 和 BSSID
- python - 如何训练和实施对 keras 的信心
- python - 对象内 QSound 的意外行为
- python - 在 Django Rest Framework 中处理来自可浏览 API 的 POST 请求查询参数
- python - 其他设备是否可以连接到 jupyter
- babylonjs - 使用 videoTexture 作为 opacityTexture
- python - Keras - model.predict() 返回列表而不是 numpy 数组