android - git 真的需要区分大小写的文件系统吗?

标签 android git

我正在尝试学习 Android 并按照说明进行构建。

我从 Android 文档中注意到 "In a default installation, Mac OS runs on a case-preserving but case-insensitive filesystem. This type of filesystem is not supported by git and will cause some git commands (such as "git status") to behave abnormally."

我想知道一旦你安装了 Xcode 和开发者工具,git 也已经在那里了。 那么这是否会遇到 git 的任何问题,因为默认情况下,Mac FS 不区分大小写?

最佳答案

不,git 不需要区分大小写的文件系统。

我使用的是 Windows(ntfs 不区分大小写)并且使用 git 没有问题。但是,您不得拥有多个名称相同、仅字母大小写不同的文件。如果他们这样做,您可能会丢失数据,因为 git 将它们视为一个文件。

请注意,文件 .git/config 也有一个名为 ignorecase 的设置,默认为 false。 您可能希望将该标志设置为 true,因为如果您更改已存在文件的字母大小写,否则 git 可能无法识别更改。

但是,仅在第一次提交时更改此标志 - 避免在开发过程中更改它。我目前正在从事这样一个项目,我们有很多问题,因为 git 似乎无法处理这些问题。

在其他一些项目中,虽然在开发期间将标志设置为 true 效果很好,但搞砸你的 repo 的可能性仍然存在。

关于android - git 真的需要区分大小写的文件系统吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27592353/

相关文章:

android - 隐藏库源代码

安卓 : Restrict apk file to install Only in Devices Which Uses HDPI & MDPI images.

java - 为什么 SocketChannel 调用 read(byteBuffer) 会抛出 java.net.SocketException : recvfrom failed: ECONNRESET (Connection reset by peer)

android - 关于 productFlavors with gradle

git - 将 git checkout 中的子模块包含到钩子(Hook)中的 GIT_WORK_TREE

android - 在一段时间过去之前检测按钮是否被按下

git - Jenkins "Git plugin"既不忽略某些消息的提交,也不忽略来自某些用户的提交

git - 重写子模块历史后的子模块存储库

git - 如何在 Powershell 中使用 SSH key 推送到两个不同的 GitHub 帐户?

Git push 为大型仓库挂起