所以,我们在使用Git时遇到了一个奇怪的问题,其中一个文件路径出现了问题。以下是屏幕截图以说明问题:
问题在于截图中第二个文件的路径为“Frontend\UserType.php”(反斜杠作为分隔符),而应该是“Frontend/UserType.php”(像顶部那样)。不知何故,我们同时看到了这两个文件。当我运行git ls-files时,会得到“Frontend\UserType.php”作为文件。
我的同事正在使用Windows 7和TortoiseGit,而我在Debian上只是使用命令行中的git。我不确定问题最初是从哪里开始的,但它变得非常令人沮丧。我们尝试删除文件并推送,但它总是会以某种方式重新出现。
现在它已经影响了许多分支。有没有人知道到底发生了什么?我们如何跨多个分支修复它?
![Screenshot](https://i.imgur.com/tRVlj0Z.jpg)
我的同事正在使用Windows 7和TortoiseGit,而我在Debian上只是使用命令行中的git。我不确定问题最初是从哪里开始的,但它变得非常令人沮丧。我们尝试删除文件并推送,但它总是会以某种方式重新出现。
现在它已经影响了许多分支。有没有人知道到底发生了什么?我们如何跨多个分支修复它?
ls-tree -r HEAD
命令,它会显示带有“有趣”字符(如\123
)的路径名吗?你可以在同事的Windows机器上使用纯Git for Windows在控制台窗口中尝试这个命令。我猜测a)已经提交了一些带有非ASCII字符的目录路径名,并且某些东西进一步破坏了它(例如,TortoiseGit过时且不支持Unicode)。无论如何,我们需要进一步的信息。 - kostixFrontend\\UserType.php
文件,可能可以使用你的 Debian 系统来完成此任务。但首先请确保该文件的副本不包含比正确文件更新/更相关的内容。 - kostix