Git 重命名大小寫(xiě)不敏感的問(wèn)題

0. 前言

文章的內(nèi)容為轉(zhuǎn)載昧旨,如需更加詳細(xì)的說(shuō)明可以跳轉(zhuǎn)這里挨决。

1. 簡(jiǎn)介

Windows/Mac OS 操作系統(tǒng)文件的大小寫(xiě)是不敏感的敦锌,不管文件路徑是何種奇怪的大小寫(xiě),我們始終可以以另一種大小寫(xiě)的方式訪(fǎng)問(wèn)到這個(gè)路徑種的文件或者文件夾谬泌。Linux 操作系統(tǒng)文件的大小寫(xiě)卻是敏感的滔韵,不同大小寫(xiě)意味著不同的路徑。于是掌实,Windows 下的 A 文件在 Docs 文件夾下陪蜻,B 文件在 docs 文件夾下,最終效果是 A B 都在 docs 文件夾下潮峦;而同樣的情況放到 Linux 中囱皿,A B 就在兩個(gè)不同的文件夾勇婴。

Git 是大小寫(xiě)不敏感的忱嘹,導(dǎo)致跨操作系統(tǒng)共享的 Git 倉(cāng)庫(kù)就會(huì)遇到上面的情況。如果重命名的文件或文件夾只有大小寫(xiě)不同耕渴,那么對(duì) Git 來(lái)說(shuō)甚至都沒(méi)有變化拘悦。閱讀本文將解決 Git 大小寫(xiě)不敏感導(dǎo)致的重命名無(wú)效的問(wèn)題。

2. 問(wèn)題產(chǎn)生

之前在使用 Git 的時(shí)候橱脸,由于我之前在創(chuàng)建 package 時(shí)础米,一時(shí)手殘,把一個(gè)字母打成了大寫(xiě)添诉,然后在沒(méi)檢查的情況下提交了……


但是我本地的庫(kù)由于沒(méi)有不區(qū)分大小寫(xiě)屁桑,因此在我修改完提交后,就出現(xiàn)了下圖這樣包名不一致的結(jié)果

但是這個(gè)問(wèn)題栏赴,在本地運(yùn)行的時(shí)候沒(méi)有任何問(wèn)題蘑斧,但是萬(wàn)一以后再遇到相同的問(wèn)題或者有其他項(xiàng)目運(yùn)行出問(wèn)題,本著折騰「強(qiáng)迫癥」的習(xí)慣须眷,開(kāi)始搜索解決方法竖瘾。

3. 解決方法

這是堆棧網(wǎng)那位只有 70+ 贊的方法的改進(jìn)版本。先將文件夾重命名為臨時(shí)文件夾花颗,然后再?gòu)呐R時(shí)文件夾恢復(fù)成正常文件夾捕传。

但是「劃重點(diǎn)」中間需要先 commit 一次,否則和前面的方法效果一樣扩劝,會(huì)存在兩份文件夾庸论!

$ git mv ./Docs ./docs.bak
$ git add .
$ git commit -m "改名(第 1/2 步)"

$ git mv ./docs.bak/ ./docs
$ git add .
$ git commit -m "改名(第 2/2 步)"

$ git push

中間的 git add . 其實(shí)是可以不需要的,因?yàn)? mv 命令會(huì)自動(dòng)將修改加入暫存區(qū)棒呛。
最終把遠(yuǎn)程庫(kù)改為了下圖

4.使用 Windows 10 四月更新的特性(推薦)

Windows 10 四月更新聂示,文件夾名稱(chēng)也能區(qū)分大小寫(xiě)? 一文中提到可以使用 fsutil.exe file SetCaseSensitiveInfo 使某個(gè)特定的文件夾支持區(qū)分大小寫(xiě)条霜。

經(jīng)過(guò)嘗試催什,使用此方法后,git 能夠支持一次提交完美解決僅大小寫(xiě)的文件夾改名問(wèn)題,完全不用管 git 的某種配置或其他任何因素蒲凶。

首先气筋,使用管理員權(quán)限在當(dāng)前文件夾啟動(dòng) PowerShell:


然后允許一下命令,以便開(kāi)啟此文件夾的大小寫(xiě)敏感功能旋圆。

> cd '切換至需要開(kāi)啟大小寫(xiě)敏感的目錄'
> fsutil.exe file SetCaseSensitiveInfo . enable

隨后宠默,你可以像一般重命名一樣去修改文件夾名稱(chēng),然后像普通提交一樣去 git commit灵巧。直接能生成一個(gè)僅修改文件夾名稱(chēng)大小寫(xiě)的新提交搀矫。

如果你在執(zhí)行以上命令時(shí)出現(xiàn)了問(wèn)題,請(qǐng)移步至 Windows 10 四月更新刻肄,文件夾名稱(chēng)也能區(qū)分大小寫(xiě)瓤球? 尋找解決方法。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末敏弃,一起剝皮案震驚了整個(gè)濱河市卦羡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌麦到,老刑警劉巖绿饵,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異瓶颠,居然都是意外死亡拟赊,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)粹淋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)吸祟,“玉大人,你說(shuō)我怎么就攤上這事廓啊』端眩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵谴轮,是天一觀的道長(zhǎng)炒瘟。 經(jīng)常有香客問(wèn)我,道長(zhǎng)第步,這世上最難降的妖魔是什么疮装? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮粘都,結(jié)果婚禮上廓推,老公的妹妹穿的比我還像新娘。我一直安慰自己翩隧,他們只是感情好樊展,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般专缠。 火紅的嫁衣襯著肌膚如雪雷酪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,631評(píng)論 1 305
  • 那天涝婉,我揣著相機(jī)與錄音哥力,去河邊找鬼。 笑死墩弯,一個(gè)胖子當(dāng)著我的面吹牛吩跋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播渔工,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼锌钮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了涨缚?” 一聲冷哼從身側(cè)響起轧粟,我...
    開(kāi)封第一講書(shū)人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎脓魏,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體通惫,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茂翔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了履腋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片珊燎。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖遵湖,靈堂內(nèi)的尸體忽然破棺而出悔政,到底是詐尸還是另有隱情,我是刑警寧澤延旧,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布谋国,位于F島的核電站,受9級(jí)特大地震影響迁沫,放射性物質(zhì)發(fā)生泄漏芦瘾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一集畅、第九天 我趴在偏房一處隱蔽的房頂上張望近弟。 院中可真熱鬧,春花似錦挺智、人聲如沸祷愉。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)二鳄。三九已至迫摔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間泥从,已是汗流浹背句占。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留躯嫉,地道東北人纱烘。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像祈餐,于是被迫代替她去往敵國(guó)和親擂啥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 不得不說(shuō) Git 默認(rèn)不區(qū)分文件名大小寫(xiě)真是一個(gè)大坑帆阳,由于之前的項(xiàng)目目錄比較亂哺壶,項(xiàng)目下的文件夾命名都不規(guī)范,這兩天...
    愛(ài)吃鴨梨的貓閱讀 29,914評(píng)論 2 8
  • Add & Commit git init 初始化一個(gè) Git 倉(cāng)庫(kù)(repository)蜒谤,即把當(dāng)前所在目錄變成...
    冬絮閱讀 4,833評(píng)論 0 9
  • Oracle: 默認(rèn)是大小寫(xiě)不敏感山宾,表名、字段名等不區(qū)分大小寫(xiě)鳍徽,小寫(xiě)字母會(huì)自動(dòng)轉(zhuǎn)換為大寫(xiě)字母资锰; 需要用小寫(xiě)字母時(shí)需...
    東皇Amrzs閱讀 5,887評(píng)論 0 8
  • 學(xué)車(chē)的這段時(shí)間,經(jīng)常會(huì)打順風(fēng)車(chē)去駕校 很喜歡和車(chē)主聊天 今天碰到的是一個(gè)專(zhuān)科里的行政工作人員 有編制阶祭,可以說(shuō)是很羨...
    丑姑兄閱讀 213評(píng)論 0 0
  • 黑玉是村中的小公主绷杜,長(zhǎng)輩寵愛(ài),小輩追捧濒募。 — 趙四叔喝醉了鞭盟,不慎跌入湍急的河流中,黑玉路過(guò)瑰剃,立馬掐動(dòng)法訣將其救起齿诉,...
    啊衿閱讀 445評(píng)論 1 1