【问题标题】:Can't change branch: merge conflict because of (already?) untracked file无法更改分支:由于(已经?)未跟踪文件导致合并冲突
【发布时间】:2015-06-01 18:59:06
【问题描述】:

我已经遇到了无法签出分支的问题(请参阅here)。在我强制结帐 (git checkout master -f) 并进行合并和标记之后,我现在想切换到 develop 分支。这是我得到的:

git checkout develop
MyProject.userprefs: needs merge
error: you need to resolve your current index first

这是git status 给出的:

On branch master
Your branch is ahead of 'origin/master' by 78 commits.
  (use "git push" to publish your local commits)
Unmerged paths:
  (use "git reset HEAD <file>..." to unstage)
  (use "git add/rm <file>..." as appropriate to mark resolution)

    deleted by us:   MyProject.userprefs

no changes added to commit (use "git add" and/or "git commit -a")

我一开始有文件MyProject.userprefs,但将其从develop 分支中删除并添加到.gitignore。现在该文件在 master 分支中似乎没有被忽略。

另外有趣的是,该文件似乎在索引git ls-files --stage中被跟踪了两次:

100644 b16bd8d4e57de7705a5a388d045fed7376a1b175 1   MyProject.userprefs
100644 ef238f895ca1b80f10cfcd45349d82df925ff482 3   MyProject.userprefs

我应该简单地删除 MyProject.userprefs 吗?但是 IDE 需要它。我应该在 master 分支中重新创建索引吗?

【问题讨论】:

    标签: git version-control branch merge-conflict-resolution


    【解决方案1】:

    我做了Resolving a merge conflict from the command line中描述的解决方案:

    git rm MyProject.userprefs
    

    现在我可以更改分支了。

    【讨论】:

      猜你喜欢
      • 2018-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-01
      • 1970-01-01
      • 2014-10-21
      相关资源
      最近更新 更多