2016-11-08 107 views
1

由於某些必需品的原因,我更改了.git/configignorecase = false以區分大小寫。然後將文件從大寫重命名爲小寫。例如,我手動更名Account_Model.phpAccount_model.php,甚至其他分支。由於不同的情況,git使得Uncommitted changes,然後我提交了小寫的新文件(git假設小寫的新文件)。Git刪除不同大小寫的相同文件

現在我陷入困境。我爲需要部署的服務器提供回購,目錄創建2個文件。一個是Account_model.php(我想要的),另一個是Account_Model.php

他們成爲單獨的兩個文件!但回到我的本地,我只在目錄中看到1個文件。 (因爲那個,我不能刪除大寫的那個)

如果我改變其中的一些,那麼兩個不同情況的文件會同時提醒。差異顯示相同的修改。

Two file with same diff

但我只能看到只有一個目錄。

Only 1 file in the directory

我不能刪除大寫之一。 (如果可以,我覺得小寫人會太刪除。

有一種方法可以通過在命令改變的情況下,我知道,我選擇了錯誤的方法。

所以,我怎麼能對付兩個案卷,並保留更改(只有一個文件用小寫)永遠?

太謝謝你了。

回答

1

OS X的文件系統,默認情況下,不區分大小寫的。所以,如果你有一兩個文件Git倉庫具有相同的名稱,但不同的情況下,您將遇到現在的問題。

一個簡單的解決方法是使用「磁盤工具」創建區分大小寫的磁盤映像,將該磁盤映像克隆到該磁盤映像上,修復該問題並推送修復程序。

爲了使磁盤映像...

  • 打開磁盤工具。
  • 做文件 - >新圖像 - >空白圖像。
  • 將格式設置爲OS X擴展(區分大小寫,日誌式)。

enter image description here

它會自動安裝和/Volumes等着你。克隆後,您應該可以看到這兩個文件,並可以隨心所欲地進行操作。

+1

好吧!我最終按照自己的方式創建了磁盤映像(然後可以看到具有不同大小寫的文件),克隆所有文件,刪除小寫的文件,將其從大寫更名爲小寫,並將其推送。謝謝你。 <3 – Benyi