我正在开发一个基于Git版本控制的OS X Lion项目.我有这些小写目录,然后将它们大写(例如emailaddresses => EmailAddresses),但Git似乎没有认识到这一变化.当我运行git ls-files和其他命令时,它仍然认为目录是小写的.
这是无害的,还是我应该采取其他措施让Git接受这一变化?
Tar*_*ran 212
您可以告诉git通过运行来考虑案例
git config core.ignorecase false
Pau*_*l R 155
您可能使用不区分大小写(但保留大小写)HFS +.我通常像这样工作:
$ git mv somename tmpname
$ git mv tmpname SomeName
Run Code Online (Sandbox Code Playgroud)
Dav*_*arl 31
这种情况正在发生,因为Mac OS X实现了案例保留和不区分大小写的功能,旨在帮助您.
虽然另一个答案中的双重重命名建议可行,但我建议使用'--force'来获得最佳实践结果:
$ git mv --force somename SomeName
Run Code Online (Sandbox Code Playgroud)
注意:如果你在没有强制选项的情况下尝试,git会像你这样:
$ git mv somename SomeName
$ fatal: destination exists, source=somename, destination=SomeName
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,git命令失败,文件系统或git的索引中没有更改文件.
poo*_*raj 18
尝试在.gitconfig文件中将git config选项core.ignorecase更改为false.
原因是基于 LINUX 的操作系统或 macOS 忽略文件/文件夹名称的大小写。我们需要通过以下步骤解决这个问题
For Exp, you want to change folder name from Base to base
1. mv Base base2
2. git add . && git commit -m "Fix folder name problem (wip)"
3. mv base2 base
4. git add . && git commit -m "Fixed folder name problem"
Run Code Online (Sandbox Code Playgroud)
以下步骤帮助我解决了这个问题:
将文件夹重命名为temp:
mv Folder temp // It will rename your Folder to temp
Run Code Online (Sandbox Code Playgroud)阶段和提交:
git add .
git commit -m "Temp"
Run Code Online (Sandbox Code Playgroud)将temp文件夹重命名为您的选择:
mv temp folder // It will rename temp folder to the name of your choice(folder)
git add .
git commit -m "Folder Fixed"
Run Code Online (Sandbox Code Playgroud)完成 - 您现在可以推送了。
| 归档时间: |
|
| 查看次数: |
34849 次 |
| 最近记录: |