Git区分大小写错误 - 从Android Studio重命名和提交

时间:2015-04-07 06:40:15

标签: git android-studio case-sensitive


例如,我有一个名为FOOBar.java的文件,我想将其重命名为FooBar.java。在尝试了很多东西之后,我得到了错误:

  

enter image description here

Error:error: pathspec 'app/src/main/java/blahblah/FooBar.java' did not match any file(s) known to git.

<小时/> 我尝试过的事情(不工作,都会产生同样的错误):

来自Android Studio的

  • 删除FOOBar.java,重新创建FooBar.java,添加/提交Git
  • 重构/重命名文件,添加/提交Git
  • 档案 - &gt; 使缓存无效/重新启动... ,然后尝试以上其中一种
  • 重建项目之前/之后的任何一项

在文件系统中:

  • 删除项目文件夹中的.gradle文件夹,然后在Android Studio中尝试上述操作之一
来自Git命令行的

  • git mv FOOBar.java FooBar.java --force然后git commit FooBar.java -m 'renamed from FOOBar.java to FooBar.java'

8 个答案:

答案 0 :(得分:29)

Windows'文件系统大多不区分大小写,因此您无法通过更改其大写来重命名文件。相反,您必须在两者之间使用临时名称。

从命令行中尝试以下操作:

git mv FOOBar.java FooBar.java.new
git mv FooBar.java.new FooBar.java
git commit -m 'Rename file'

答案 1 :(得分:11)

我发现了一个非常简单的解决方案。 假设你需要重命名一个java包&#34; 活动&#34;到&#34; 活动&#34;。该软件包包含多个文件和子软件包

按照步骤顺序

  1. 重构&#34; 活动&#34;到&#34; ActivitiesTemp &#34; (Shift + F6)
  2. 提交并推送这些更改
  3. 从&#34; ActivitiesTemp &#34;再次重构到&#34; 活动&#34;
  4. 提交并推送这些更改
  5. 多数民众赞成!

答案 2 :(得分:7)

我有类似的问题,我修改了它改变git config:

git config core.ignorecase false

答案 3 :(得分:3)

将文件重命名为原始文件,然后将其重命名为其他名称,然后返回到具有正确大小写的文件。 Git不再抛出这个bug,它与Poke指出的解决方案相同,但使用的是android studio。

示例:

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.

答案 4 :(得分:3)

我也遇到了几乎相同的情况,在我的情况下我创建了一个文件并添加到git(使用git add),添加到git之后我重命名了该文件。提交时我得到了相同的类型错误。 我用以下步骤解决了

使用 git status 查看您可以在列表中看到旧文件的暂存文件

- 
-
app/src/main/java/blahblah/FOOBar.java
-
-

使用 git reset 从暂存中删除文件

git reset app/src/main/java/blahblah/FOOBar.java

从暂存中删除后,您可以添加新文件

git add app/src/main/java/blahblah/FooBar.java

之后你可以提交

答案 5 :(得分:0)

我发现一个非常简单的修复方法是在终端

中执行此命令
  

git reset

答案 6 :(得分:0)

尝试重新启动 Android Studio!

我在没有提交的存储库中遇到了这个问题。

答案 7 :(得分:-1)

http://binaryjeremys.blogspot.com/2015/03/android-studio-doesnt-like-it-when-you.html

要解决此问题,我必须重置以下步骤:

首先备份文件: 右键单击其中一个文件,然后选择&#34;在资源管理器中显示&#34;。 复制任何已更改的文件或整个项目是安全的。 在Android Studio中 删除所有冲突/错误的对象。 VCS - &gt; Git - &gt;重置头 警告:这会将所有内容重置为您最后一次提交的时间。 一旦完成,只需确定: 关闭项目,关闭Android工作室,然后重新打开。 创建新类以使用正确的名称替换已删除的冲突对象。 替换这些文件的内容,或将备份文件复制/粘贴到该文件夹​​中。 现在提交并推送您的更改,它应该可以正常工作。

请点击主要问题原因的链接。