我們有一個專案,在 linux 下由 dev 使用,在 windows 下也由 dev 使用。現在有人在linux下創建了兩個檔案:file1.cpp和File1.cpp在同一個目錄下。它們是相同的,現在當我在 windows 下簽出分支時,它會自動告訴我 File1.cpp 和 file1.cpp 已被修改。如何擺脫 file1.cpp 并保留 File1.cpp ?
如果它可以從 Windows 完成,那將是最好的,因為這個問題只影響在 Windows 下作業的開發人員,并且他們沒有對 linux 機器的所有訪問權限。
uj5u.com熱心網友回復:
TL;博士
雖然作業系統不區分大小寫,git mv但您可以使用它來解決這種情況。
細節
我剛剛重現了您的問題,您可以使用(區分大小寫)git mv命令在 Windows 上修復問題。
我在不同的機器上創建了一個包含檔案foo和FOO不同內容的倉庫。當我在 Windows 上查看它時,它告訴我FOO已修改但沒有說明foo. 我希望在您的情況下,如果您重新結帳,只有一個應該被標記為已修改。
現在,這意味著foo沒關系,但FOO不是。所以我換foo了一個新名字:
git mv foo foo-renamed
現在 git status 告訴我deleted: FOO,因為作業系統洗掉了“foo 和 FOO”,因為那里只有一個檔案。所以再檢查一遍:
git checkout FOO
現在 git status 只是說我重命名了 foo 并且 FOO 很好。
現在這兩個檔案是不同的,如果需要,您可以git mv再次使用,以獲取最終要保留的真實姓名。當你對結果滿意時提交結果。
參考
我從https://www.hanselman.com/blog/git-is-casesensitive-and-your-filesystem-may-not-be-weird-folder-merging-on-windows得到了我的想法,盡管我的解決方案并不完全相同,我的文章是我自己的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/526285.html
標籤:视窗混帐重复
上一篇:限制Git選項卡自動完成
下一篇:git無法合并不相關的歷史淺克隆
