git merge - 检测到文件路径更改但未在git的工作/暂存区域中更新

时间:2017-08-08 11:10:20

标签: java git macos

我正面临着git merge的一个奇怪问题。 我将分支'abc'中的主变更合并如下: -

git checkout abc
git merge -squash master

在此之后我检查了git状态,它说: -

  

重命名:xyz / PQR / Hello.java - > XYZ / PQR / Hello.java

正如您所见,master已重命名文件夹PQR-> pqr并且还更新了文件Hello.java的内容。

现在我注意到有趣的事情如下: -

  1. 当我使用ls检查时,我的工作区域仍然只有PQR目录 命令。我无法cd到pqr目录,但我可以做ls PQR / Hello.java
  2. Hello.java中的主要更改出现在我的 工作区的Hello.java。
  3. 在eclipse的舞台区域视图中我看到了两者 PQR / Hello.java和pqr / Hello.java作为非分段更改但在启用时 命令行,使用git status我没有看到任何未分级的更改。
  4. 我认为PQR / Hello.java和pqr / Hello.java的inode是相同的。
  5. 为什么git没有用pqr替换PQR目录?我怎么能强迫它? 如果需要更多信息来解决这个谜团(至少对我来说:),请告诉我。)。

1 个答案:

答案 0 :(得分:0)

好的..所以这就是我所做的。 我将我的git repo复制到用MacOS(Journed,区分大小写)格式化的文件系统上,然后尝试合并。有了这个,git能够识别重命名,我能够在不做任何手动操作的情况下提交。 感谢所有帮助理解这个问题的人。