git - 变基/合并时出现“创作和提交”问题的 Git 问题
问题描述
我对 git 不太熟悉,所以我在使用它时遇到了一些麻烦。
目前,我的分支落后 26 个提交,提前 29 个提交。这是由以下原因引起的:
大约 3 天前,我从主人那里做了一个分支,我们称之为“bugFix”,并提交了 2 个修复错误。我将这些更改推送到遥控器上的 bugFix。然后,今天,我又提交了一次 bugFix。这段时间在master上做了26次commit,所以我把远程master拉到我的master上,rebase bugFix到本地的master,然后尝试push。它给了我一个错误,我需要在推送之前拉遥控器,所以我使用“git pull -rebase”来做到这一点。
然而,现在我有一个非常混乱的提交历史,因为它显示所有 26 个提交都是“由 X 编写并由我提交”,而在 master 上,所有 26 个提交都是由 X 提交的。因此我的分支是现在有 26 个提交落后,29 个提交提前。我怎样才能防止这种情况在未来发生?
解决方案
我怎样才能防止这种情况在未来发生?
当您这样做时会出现问题,git pull --rebase
因为远程错误修复分支不包含来自 master 的 26 个提交。当您执行 rebase 时,git 创建了 26 个新提交,它们是 master 上 26 个提交中更改的副本,但具有不同的历史记录(可能还有提交者)。
要解决此问题,您可以将本地错误修复分支重置为重新基于 master 的 3 个提交。然后您可以git push -f
强制覆盖错误修复分支的远程版本。
推荐阅读
- ionic-framework - 如何查询子集合 firestore ionic 4
- python - 如何使用 tkinter 正确显示熊猫数据框?
- typescript - 作为参数类型调用的函数
- maven - 如何解决 IntelliJ 中的 Maven 插件错误?
- python - 多个二维点上的最短路径
- wordpress - 我安装了新的 SSL,现在只有一半的网站是安全的?
- java - 遍历持有自定义对象的 BST
- electron - 将我自己的文件导入到电子渲染器进程中
- azure - 无法将 Azure VMSS 扩展到超过 15 个实例
- javascript - Vue-chartjs 没有一致地呈现并且没有响应