使用git的時(shí)候,有時(shí)我們需要修改文件名的大小寫,但是默認(rèn)情況下,git是會(huì)忽略文件名大小寫的,如果我們要修改文件名稱大小寫,可以使用試下方法
第一種,修改git配置(不推薦)
git config core.ignorecase false
設(shè)置之后,就可以修改文件名大小寫了,而且git也是可以識(shí)別的,但是為什么會(huì)說不推薦呢,因?yàn)檫@樣修改大小寫之后,如果切換分支,會(huì)出現(xiàn)下圖的情況,我至今沒有好的方法解決
從圖中可以看到,切換分支的時(shí)候告訴我們有未被追蹤的文件,這個(gè)文件正好是我們修改過大小寫的文件,但是我們使用 git status 命令查看的時(shí)候,并沒有看到有任何改動(dòng),而且此分支上修改的內(nèi)容我很確定是已經(jīng)提交了,因?yàn)樵诋?dāng)前分支下的這個(gè)文件如下圖所示
我看網(wǎng)上有人的推薦是改完大小寫并提交后修改配置忽略大小寫,切換分支后再次修改配置,太麻煩了,所以我還是比較推薦下一種方式。
第二種,兩次修改(推薦)
在這種情況下,需要設(shè)置git忽略文件大小寫,如果沒有修改過,git默認(rèn)就是忽略文件大小寫的,如果修改過,或者自己想再次設(shè)置,可以使用以下命令進(jìn)行設(shè)置
git config core.ignorecase true
可以看下面的圖
首先,我們將 index.js 這個(gè)文件修改為 aindex.js,然后使用 git add . 將其貯存。
接著我們將其修改為 Index.js,再次使用 git add . 進(jìn)行貯存,可以通過 git status 看到這個(gè)文件名的變化,是從 index.js 重命名為 Index.js,中間那個(gè) aindex.js 只是用來橋接的,并不會(huì)產(chǎn)生真正的提交記錄,只有最后那個(gè)會(huì)產(chǎn)生一條 rename 的記錄。
并且通過這種方式修改的文件名,切換分支也不會(huì)出現(xiàn)之前那種提示了。
總結(jié)
雖然第二種方式操作時(shí)會(huì)略顯繁瑣,但是在后續(xù)的切換分支等方面,會(huì)省心很多,所以我比較推薦這種方式,而且這也是我正在使用的方式。
感興趣的可以去我的博客原文踩踩哦