【问题标题】:Git reset gives me "still trying to merge"Git重置让我“仍在尝试合并”
【发布时间】:2013-07-12 23:31:46
【问题描述】:

我用很多不同的方式在谷歌上搜索过,但找不到其他人在谈论它(至少据我所知)。

在我的办公室电脑上,我试图找到解决我遇到的问题的方法(所以我领先于我的远程 git repo,但没有提交)。 那天晚上,我在家里找到了解决方案,并将其从我的家用电脑推送到了我的远程仓库。

现在我回来工作了,我想在我的办公室电脑上重置我的本地存储库以匹配远程(并丢弃我所有的本地更改)。

我跑了:

git reset --hard origin/branch1

我明白了:

HEAD is now at 1501f25 **Still trying to merge**

这是什么意思?
'Still trying to merge' 似乎表明它没有以某种方式完成,但我看不出是如何完成的(而且我没有运气在 git 文档中找到明确的答案)。

【问题讨论】:

    标签: merge git-reset


    【解决方案1】:

    如果 git merge --abort(git1.7.4+,2011 年 1 月)不这样做,请检查您是否还有 .git/MERGE_HEAD file(并删除它)。

    然后git reset 应该继续(或者,因为它完成了,git repo 状态应该是一致的)。
    确保您位于要重置为 origin/branch1 的正确分支中。


    正如OP Roy Collings 所建议的那样,重新克隆应该消除警告,但这意味着having one's project config files versioned 以便最大限度地减少在新克隆的存储库中重新配置所有内容所花费的时间。
    由于relative paths are supported in an Eclipse config,在 git repo 中有.project.classpath 是可能的。

    【讨论】:

    • 嗨 VonC - 我试了一下,但在“合并中止”时我得到:“致命:没有合并中止(缺少 MERGE_HEAD)。”我想可以将其全部删除并再次克隆,但这似乎有点苛刻(而且我必须处理我的 Eclipse .project 文件)。
    • @roycollings 如果你在你的仓库中包含.project.classpath ;) 见stackoverflow.com/a/17260284/6309
    • 我不能......好吧,我可以 :),但我们是在主仓库(我们 fork / pull request / etc..)上使用不同的开发人员的混合体IDE 和工作区,所以我宁愿避免这样做。
    • @roycollings 但我们只是在谈论 your 回购,对吧?因此,要么克隆该 one 存储库(以消除错误消息),并更改您的 .project/.classpath 中的一些路径,或者将此问题作为设置统一路径策略的机会供大家使用。
    • 嗯 - 在阅读了您的链接指向的讨论后,我正在考虑这一点(其中有一些非常好的观点)。但是,一旦我向“实时”存储库提交拉取请求,它只是我的存储库的事实就变得毫无意义。然后它成为其他人在进行更改之前“从上游拉动”的基础。
    猜你喜欢
    • 2013-09-12
    • 2013-03-14
    • 2016-04-04
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多