【问题标题】:GIT reset commit shows ahead/behind changesGIT 重置提交显示更改前后
【发布时间】:2017-03-09 10:18:31
【问题描述】:

在我们的项目中,使用 master 和 develop 分支,直接在 master 上进行了提交(只有三个文件,这些更改也在 develop 分支上)。

现在我需要将develop合并到master,但我不能,因为master的历史现在与develop“脱节”,我收到以下错误:fatal: refusing to merge unrelated histories

我在 master 上创建了一个reset commit hard,因为我不想在本地保留上次提交的更改,因为这些更改已经在开发中。 但是,在还原后,本地 master 分支提前 600 次更改,落后 1066 次。

为什么会有如此多的变化?我希望本地 master 分支根本不会落后,因为 revert 会将指针移动到上一个提交。

它是否计算从一开始就在 master 分支上进行的所有推/拉操作(通过拉操作我仍然收到错误 fatal: refusing to merge unrelated histories)?

预期/期望的结果是返回 master 上的一次提交,此时此分支仍在开发的历史记录线上,允许我将两者合并。

【问题讨论】:

  • Reset 移动指针,revert 创建一个新的提交。你做了哪一个?
  • 我做了一个还原(“使用 sourceTree 将当前分支还原到这个提交”)
  • 你能显示 SourceTree 显示的提交图的屏幕截图吗?
  • 你使用的是哪个 Git 版本?
  • “不相关的历史”意味着您当前的分支和另一个分支根本没有共同的提交。通常这是组合不相关的存储库或运行git filter-branch 一直到根提交的结果。

标签: git branching-and-merging git-revert


【解决方案1】:

我可以通过以下命令解决问题:

git merge develop --allow-unrelated-histories

这个“扁平化”的主分支,允许我将开发分支合并到主分支。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-05
    • 2018-11-02
    • 2012-03-23
    • 1970-01-01
    • 2014-04-23
    • 1970-01-01
    • 2018-02-13
    • 2016-01-11
    相关资源
    最近更新 更多