我和Git有一些问题.
我有一个存储库,我可以毫无问题地提交任何文件.但是,有一个文件'Funder.php',当我尝试提交时,告诉我有一个错误:
Commit failed with error:
pathspec 'application/libraries/Funder.php' did not match any file(s) known to git.
Run Code Online (Sandbox Code Playgroud)
我对此很陌生,所以想知道是否有人可以请求帮助?
Dan*_*lva 52
发布此错误的原因在此帖中指出:https://stackoverflow.com/a/29485441/2769415
Windows的文件系统大多不区分大小写,因此您无法通过更改其大小写来重命名文件.相反,您必须在两者之间使用临时名称.
解决方案:将文件重命名为原始文件,然后将其重命名为其他名称,然后返回到具有正确大小写的文件.Git不再抛出这个bug了.
例:
Created FOOBar class.
Renamed it to FooBar and then got the error.
Rename it back to FOOBar.
Rename to FooBarTest.
Rename to FooBar.
Git works now.
Run Code Online (Sandbox Code Playgroud)
jub*_*0bs 41
这是您尝试运行时遇到的错误
git commit <file>
Run Code Online (Sandbox Code Playgroud)
但<file>尚未上演; 换句话说,Git还没有被告知.这很可能是这里发生的事情.跑
git add application/libraries/Funder.php
Run Code Online (Sandbox Code Playgroud)
然后尝试提交.
在重命名某些活动后,我在Android Studio中遇到了同样的问题.我尝试添加(git add)和移动(git mv)文件,但从未帮助过,我一次又一次地收到相同的消息.
最后我决定将包含有问题文件的包中的类备份到我的硬盘中的一个单独的文件夹中,然后我从原始文件夹和终端中删除了文件:
rm app/src/main/java/com/path/to/package/with/problematic/files/
Run Code Online (Sandbox Code Playgroud)
然后通过Android Studio重新创建已删除的包,并将我的类复制并粘贴到那里.之后,我能够毫无问题地提交.
以下是解决此问题的最快方法的简明答案.与@ cmbind55类似,但重点.
问题:我添加了一个后来重命名的文件.
解:
git reset HEAD oldFileName.file
git add newFileName.file