如果我簽出一個 git 分支,有時會path/to/File洗掉一個檔案。我可以將其視為手術后的未分級更改。始終是同一個文本檔案,很久沒有編輯了。所以它應該是每個分支的同一個檔案。(但一個分支稱之為path/to/file。)
通常我使用Atlassian Sourcetree 來切換分支,但是問題也出現在我們的gitlab ci/cd runner 上,它可能使用了簡單的git 命令列命令。
問題出現在存盤庫的各種克隆和各種分支中。
存盤庫是否以某種方式損壞?知道如何解決問題嗎?
uj5u.com熱心網友回復:
這是一個區分大小寫的問題:git需要一個具有特定字母大小寫的檔案,但您的系統可以使用不同的字母大小寫。
與此相關的錯誤可能有兩種變體:
gitfilename其存盤中可能只有一個“版本” ,git可能在其存盤中同時具有filename和版本化。FileName
檢查 git 的 commit ( git ls-tree HEAD:path/to/directory) 的內容,看看你有什么變種。
如果是第一個:“修復”它只需要在 git 的存盤中選擇正確的名稱,并確保您在磁盤上具有相同的正確名稱,
如果是第二個:您將不得不另外比較兩個版本的內容(一種方法是
git diff HEAD:path/to/filename HEAD:path/to/FileName),并檢查應該保留哪個版本。
注意:Windows 將mv filename FileName其視為 noop,更改磁盤上名稱大小寫的最簡單方法是通過臨時名稱mv filename tempfile && mv tempfile FileName
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/480929.html
上一篇:使用git在所有本地分支中查找檔案的最新提交-跨本地分支進行比較
下一篇:如何為表中的每個外鍵插入新行
