【问题标题】:Cannot switch branch because of "phantom" file由于“幻影”文件而无法切换分支
【发布时间】:2019-10-20 23:54:31
【问题描述】:

操作系统:Windows 10

我有一个将文件写入文件夹的脚本。我第一次运行脚本时出现错误。

var store_path = path.join(__dirname+ '../fabric-server/config/admin')

代替

var store_path = path.join(__dirname, '../fabric-server/config/admin')

这是目录的局部视图:

+---fabric-server
+---fabric-setup
+---fabric-setup..   < Should not be there

脚本是从fabric-setup 执行的,应该写入fabric-server/config/admin。但是,由于错误,它以某种方式创建了fabric-setup..。令人惊讶的是,fabric-setup.. 包含与fabric-setup 完全相同的内容。

不幸的是,我修复了脚本,再次执行,提交并推送,但没有删除 fabric-setup.. 文件夹。当然,它也会产生问题。


项目的本地副本

在我的本地机器上,我有:

+---fabric-server
+---fabric-setup
+---fabric-setup..

fabric-setup 没问题。 织物服务器没问题。 fabric-setup.. 不应该在这里并且包含与fabric-setup 相同的内容。 不包含fabric-server/config/admin

从资源管理器中删除fabric-setup.. 文件夹时,它会删除fabric-setup。当试图再次删除fabric-setup.. 时,它告诉我它不再在这里了。


项目的远程副本


克隆项目

克隆项目时,我无法切换到包含此fabric-setup.. 文件夹的分支。它给了我以下错误:

而且许多文件突然无缘无故进入未跟踪状态。

谁能解释一下到底发生了什么,我该如何解决这个问题?

编辑:是的,我可以签出以前的提交。但还是。这个问题很奇怪。

【问题讨论】:

  • 你在 Mac 和 Windows 上工作吗?以点结尾的文件/目录会在 Windows 上导致此类问题。如果fabric-setup.. 是在 mac 或 ubuntu 上创建的,请将其删除并在该机器上提交。
  • 没有@ElpieKay。我只使用 Windows。更新问题
  • 试试git mv $oldname $newname &amp;&amp; git commit

标签: node.js git path git-checkout


【解决方案1】:

您可以尝试(即使在简单的 CMD Windows shell 会话中)git rm fabric-setup*,然后是 git restore -s master fabric-setup
(使用新的(目前是实验性的)命令git restore,使用 Git 2.23)

这将删除两个文件,恢复好的文件:然后您可以添加、提交和推送。

【讨论】:

    猜你喜欢
    • 2013-01-26
    • 2015-08-14
    • 1970-01-01
    • 2018-12-19
    • 2015-06-15
    • 2022-10-19
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    相关资源
    最近更新 更多