无法取消暂停,删除甚至未删除文件

时间:2016-01-25 12:15:59

标签: git atlassian-sourcetree

我新近克隆了一个私有存储库,注意到它已经存在状态为.authorContainer.lnFirst p:before { content: attr(data-ln-first); } .authorContainer.lnLast p:after { content: attr(data-ln-last); } 的暂存文件:

发出deleted给了我这个:

git status

我想让这个工作目录变得干净,当我取消暂停,追踪甚至删除时出现问题会给我带来如下错误:

  

git -c diff.mnemonicprefix = false -c core.quotepath = false reset -q HEAD    - “rootfolder / site / templates / article.php”

     

错误:无效路径'rootfolder / site / templates / article.php'致命:   make_cache_entry路径失败   'rootfolder / site / templates / article.php'

有关如何解决此问题的任何建议,请提前致谢。

1 个答案:

答案 0 :(得分:0)

对我来说,这是Windows / Linux。我的travis构建(在Linux vm上)在我的代码中运行了一些测试,并在C:/SomeFolder/someTestResult.file中创建了文件。然后,它继续提交这些更改并推送到C:/文件夹中的github。

当我尝试在Windows计算机上git clone时遇到了麻烦:

$ git clone git@github.com:awesome/somegitrepo.git
Cloning into 'somegitrepo'...
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 940 (delta 5), reused 13 (delta 5), pack-reused 926
Receiving objects: 100% (940/940), 500.23 KiB | 364.00 KiB/s, done.
Resolving deltas: 100% (373/373), done.
error: Invalid path 'C:/SomeFolder/someTestResult.file'

显然是因为C:/文件夹出了问题。 Windows上的GIT看到C:/不是本地目录,而是根目录,因此Windows git存储库中没有Linux本地someTestResult.file。我猜想它甚至在我进行任何更改之前都假定它已被删除并进行了删除。


我的解决方案是打开Linux终端(WSL)并从回购和推送中删除文件,以清理远程存储库。

基本上(在WSL中):

$ git clone git@github.com:awesome/somegitrepo.git
$ rm -rf C:/
$ git add .
$ git commit -m 'Removed residue test files'
$ git push

我还更改了测试以不产生奇怪的目录,并将生成的测试文件始终放在.gitignore中。