2014-12-21 24 views
3

我正在嘗試學習Android,並在構建中遵循指示。git是否確實需要區分大小寫的文件系統?

我在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不區分大小寫?

+1

那麼,它[本週肯定沒有幫助](https://github.com/blog/1938-git-client-vulnerability-announced),但只要你沒有實際的文件名就我所知,衝突git在OS X上運行良好。我一直認爲Android源代碼問題是因爲Android源代碼衝突了文件名,而不是git的問題,但考慮到措辭,你會問一個好問題。 –

+0

由於它最近出現在新聞中 - 這可能與某些用戶有關:https://github.com/blog/1938-vulnerability-announced-update-your-git-clients tldr:由大小寫不敏感的文件系統導致的Git客戶端漏洞 – maja

回答

2

不,git不需要區分大小寫的文件系統。

我使用Windows(ntfs不區分大小寫)並且使用git沒有問題。但是,您不得有多個具有相同名稱的文件,這些文件僅在信件框中有所不同。如果他們這樣做,你可以合理地丟失數據,因爲git將它們視爲一個文件。

注意,該文件.git/config也有一個叫ignorecase設置,默認爲false。 您可能希望將該標誌設置爲true,因爲如果您更改已存在文件的字母大小寫,否則git可能無法識別該更改。

但是,只改變這個標誌與第一次提交 - 避免改變它在發展中。我目前正在研究這樣一個項目,我們有幾十個問題,因爲git似乎無法處理這個問題。

在其他一些項目中,在開發過程中將標誌設置爲true可以很好地工作,但是可能導致您的回購問題仍然存在。

+0

非常感謝,瑪姬! – RAX

+1

@RAX我只是看着你的個人資料,如果你對他們滿意,你應該真的接受正確的答案。 – maja