在我的部分名为_Electronics
的第一个承诺中,它以大写字母开头,然后我将其更改为_electronics
。
现在它有时会将提交的_electronics
部分更改为_Electronics
。
我做错了什么?
答案 0 :(得分:96)
它将取决于core.ignorecase
配置值,在区分大小写的文件系统中设置为false,在Windows上的msysgit中设置为true。
core.ignorecase
如果为true,则此选项启用各种变通方法,以使git能够更好地处理不区分大小写的文件系统,如FAT。对于 例如,如果目录列表在git期望时找到“makefile” “Makefile”,git会假设它真的是同一个文件,然后继续 把它记住为“Makefile”。
默认值为false,但git-clone(1)或git-init(1)将探测并设置core.ignorecase为true(如果适用于存储库) 已创建。
答案 1 :(得分:67)
它将被视为两个不同的东西,但会导致您在不区分大小写的系统上出现问题。如果是这种情况,请确保选项卡填写任何路径或文件名。此外,要改变事物的名称,请执行以下操作:
mv file.txt temp.txt
git add -A
git commit -m "renaming..."
mv temp.txt File.txt
git add -A
git commit --amend -m "Renamed file.txt to File.txt"
这是一种明确的方式,即更改提交它们,然后折叠提交。更简单的方法是将索引和工作文件夹一起操作:
git mv file.txt temp.txt
git mv temp.txt File.txt
git commit -m "Renamed file.txt to File.txt"
这与调整目录名称有关:git mv and only change case of directory
答案 2 :(得分:22)
这更容易:
git mv Electronics electronics -f
git commit -m "That was easy!"
答案 3 :(得分:20)
git config --system core.ignorecase false
答案 4 :(得分:0)
在我的场景中,我有两个文件夹tests
和Tests
,在Github中显示为两个单独的文件夹,但在Windows中显示为单个Tests
文件夹。我的目的是将它们都合并为tests
。
我使用以下方法:
temp
Tests
复制到temp
Tests
git rm Tests -r
temp
重命名为tests
答案 5 :(得分:0)
我已经尝试解决了该问题,并且在Windows10上成功了
让我们假设bitbucket TEST上有两个文件夹进行测试,但是当我在磁盘上克隆存储库时,它只会创建TEST,而我想将测试保留为git上包含所有文件的单个文件夹。
我将需要在命令行上执行以下命令 git mv TEST test1 -f git mv text1测试-f git commit -m“重新命名...” git push
现在,您将看到在Bitbucket上更正了文件夹层次结构。