error - git - git修改文件夾名大小寫不生效


error - git - git修改文件夾名大小寫不生效

原因 - git默認是大小寫不敏感

環境

  • git version 2.32.0.windows.1
  • vscode GitLens

問題描述



測試

vscode GitLens

提交

修改文件夾名稱 test -> Test

無記錄,修改文件夾內文件

提交記錄處仍為小寫
提交gitee

git brash

修改文件夾名稱 Test -> test

未生效,修改文件夾名稱 test -> TEST

無暫存記錄,修改文件夾內文件看看

文件夾名稱仍未生效

原因 - git默認是大小寫不敏感

當git上文件名大小寫重命名的修改時(git大小寫敏感/默認不敏感),如何重命名並提交

解決方案

git設置成大小寫敏感 git config core.ignorecase false(其實這也是個坑)

git大小寫不敏感,也就是默認的情況(建議默認)

使用命令:git mv DataExt.xml Dataext.xml

ps: 文件夾重命名 git mv foldername tempname && git mv tempname folderName (在大小寫不敏感的系統中,如windows,重命名文件夾的大小寫,使用臨時文件名)

設置了大小寫敏感的怎么提交:(不建議設置)

為什么說設置了大小寫敏感也是個坑,因為

分支 文件
A DataExt.java
B Dataext.java

我在本地的分支B設置了git config core.ignorecase false,並且文件是小寫的Dataext.java,接下來如果merge了分支A的話,會出現錯誤:

error: The following untracked working tree files would be overwritten by merge:

意思是:分支A中的DataExt.java將會重寫分支B的文件

那這樣的話,假設路人甲和乙都是使用分支A的,你merge他們,就會提示文件將被重寫。。。坑啊!

解決方法都是將core.ignorecase設置為true,然后再進行操作,那設置為false又有何意義?

哎。。。對於設置了大小寫敏感的修改文件名大小寫要怎么提交呢?

首先 記住 將你的文件備份

然后刪除git rm DataExt.java,將備份文件重命名Dataext.java放到路徑下,添加git add Dataext.java,提交git commit -m '提交說明'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM