2013-05-31 45 views
1

我用Git.Unite工具(http://www.woodcp.com/2013/01/git-unite-fix-case-sensitive-file-paths-on-windows/)在我的混帳回購協議是隻不同的情況下,合併路徑,而它成功的是,它似乎也增加了「」進入我的倉庫。當然,當我將repo克隆到本地機器時,'。'是不可見的(因爲有操作系統提供的虛擬條目),但是當我在github中瀏覽回購時,我可以看到'。'。毫不意外地指向當前目錄。看起來有些愚蠢和令人困惑,但我也不知道如何刪除它,因爲git rm .並不完全正確。安全地移除'。'從git樹入口?

我能做些什麼來擺脫這種虛假條目?

編輯:要明確,這個問題似乎是工具表示改名爲Foo/Bar.txt -> ./Foo/Bar.txt,它創造了一個明確的「」條目。

編輯2:我只記得那個混帳沒有明確存儲目錄條目,所以我認爲github上只顯示.因爲我有在該樹開始.的路徑代表的一些文件。我現在可能只是刪除並重新添加這些文件,因爲git mv不會讓我重命名它們。

+3

我認爲你是超越了「安全」點這裏進不去。這聽起來像是瞭解黑暗內部的好機會。製作你的回購的克隆,拋棄它,並在你犯錯時重新開始。 – tripleee

+0

你可能會很幸運,通過使用'git filter-branch --subdirectory-filter' – knittl

+0

我在這裏展示的是你看到的'。'你不想要太多,好嗎? – AAlferez

回答

2

我通過傳遞運行鍼對當前目錄中的工具時發現Git.Unite的issue「」作爲路徑參數:

C:\demo [master]> C:\tools\Git.Unite.exe . 

當你觀察到的,它正發出針對領導./directory名稱索引的舉動。爲了避免這個問題,我將一個fix推送到了我的Git.Unite存儲庫,該存儲庫解析了用戶傳遞的路徑到完整的目錄名稱。

要在運行Git.Unite之後更正您的存儲庫git reset --hard HEAD~之前的提交併重新運行新版本的Git.Unite。

如果您遇到任何問題,請打開GitHub的問題,以加快修復。感謝您的反饋,並希望該工具能夠幫助您。

+0

不幸的是,回購是不公開的,重置回購是不可能的(它已被推動,其他人已經拉動它),但我簡單的刪除有問題的文件(只有一小部分)的解決方案確實解決了我的問題。謝謝! –

+1

非常好!很高興你能夠通過它並幫助我在同一時間找到一個bug。 – tawman

相關問題