不得不說(shuō)
Git
默認(rèn)不區(qū)分文件名大小寫(xiě)真是一個(gè)大坑,由于之前的項(xiàng)目目錄比較亂,項(xiàng)目下的文件夾命名都不規(guī)范,這兩天一直在整理,然后今天從服務(wù)器將項(xiàng)目重新clone
下來(lái)后發(fā)現(xiàn),之前將所有文件名首字母改成大寫(xiě)的改動(dòng)全部沒(méi)變,本地又測(cè)試了一下后發(fā)現(xiàn)Git
提交文件名稱(chēng)默認(rèn)是不區(qū)分大小寫(xiě)的,之前的整理又得重新做一遍,下面就分享一下怎么解決這個(gè)問(wèn)題。
當(dāng)你創(chuàng)建一個(gè)倉(cāng)庫(kù)后,添加一個(gè)文件叫
README.md
,然后再提交推送到遠(yuǎn)程倉(cāng)庫(kù)。然后你在本地將剛才的文件名修改為
readme.md
,接著你去提交,發(fā)現(xiàn)沒(méi)有任何改動(dòng)可以提交。所以
Git
默認(rèn)對(duì)于文件名大小寫(xiě)是不敏感的,所以上面雖然修改了文件名大小寫(xiě),但是Git
并沒(méi)有發(fā)現(xiàn)有任何的改動(dòng)。
解決辦法
- 打開(kāi)終端
cd
到本地項(xiàng)目的Git
倉(cāng)庫(kù)下,輸入以下命令來(lái)配置Git
使其對(duì)文件名大小寫(xiě)敏感。
git config core.ignorecase false
修改完成后,當(dāng)你修改文件名大小寫(xiě)時(shí),
Git
就會(huì)提示有提交信息了。但是這時(shí)候如果直接提交推送的話,會(huì)出現(xiàn)一個(gè)情況,本地倉(cāng)庫(kù)明明只有一個(gè)文件,并且文件名改成了小寫(xiě)
readme.md
。
- 但是遠(yuǎn)程倉(cāng)庫(kù)上大寫(xiě)的
README.md
卻沒(méi)有被刪除,居然同時(shí)存在了,并且Git
也沒(méi)有提示任何的提交信息,這個(gè)非常之坑。
- 更加坑爹的是當(dāng)你把本地倉(cāng)庫(kù)刪掉后,重新從遠(yuǎn)程倉(cāng)庫(kù)
clone
下來(lái)發(fā)現(xiàn),還是只有小寫(xiě)的readme.md
這一個(gè)文件。
- 至于為什么會(huì)這樣,我也不知道,只能等待大神來(lái)解釋一下,我的解決辦法就是先將原來(lái)的大寫(xiě)文件
README.md
從遠(yuǎn)程倉(cāng)庫(kù)刪除,然后再將修改后的readme.md
添加進(jìn)去再提交推送。
希望有大神能夠有其他更有效的解決辦法。
將來(lái)的你,一定會(huì)感激現(xiàn)在拼命的自己,愿自己與讀者的開(kāi)發(fā)之路無(wú)限美好。
我的傳送門(mén): 博客 、簡(jiǎn)書(shū) 、微博 、GitHub 。