簡體   English   中英

如何從git-svn中恢復在存儲庫中放置一個不同的culduped復制文件?

[英]How to recover from git-svn putting a different cased dulplicate file in the repository?

Git-svn允許將重復的文件名(只是具有不同的大小寫)添加到我們的subversion存儲庫中。

在Windows上,這意味着subversion無法檢出文件,抱怨重復。

另一位開發人員從存儲庫中刪除了錯誤的套件版本。 現在,當我嘗試執行git-svn rebase時,我得到一個“無法分離HEAD”的消息,並且有關該文件名未被跟蹤且需要被覆蓋的投訴。 刪除該文件會使git-svn抱怨該文件需要更新。

將存儲庫復制到具有區分大小寫的文件系統的計算機的唯一解決方案是否執行rebase然后將其移回?

我知道git-svn還沒有為Windows上的真實世界工作做好准備,但我想從它創建的這個混亂中恢復過來。

目前最好的答案(我不知道這是在最初提出時是否存在):

git config core.ignorecase是的

然后重做rebase。 它將繼續進行而不會出錯 - 甚至可以正確處理文件名中的大小寫更改。

這不是git-svn特有的。 它可能發生在直接的'git rebase'中。

我希望能幫助下一個人....

我遇到了一個類似的問題,Git(單獨,甚至沒有使用git-svn)在使用不區分大小寫的Mac文件系統時對更改文件名的情況感到非常困惑。 我沒有找到在不區分大小寫的文件系統上修復存儲庫的解決方案,而是在.dmg文件中創建了一個新的區分大小寫的卷,安裝了該卷,並在該卷上使用了Git。

你可能會發現一些Git“管道”命令可能會有所幫助。 例如, git checkout-index有一個-f標志來強制覆蓋現有文件(也可以在該命令中使用-a ,否則它可能不會執行任何操作)。 管道命令通常比瓷器命令更強大(也更危險),但可以為您提供解決此問題所需的靈活性。

與您在Windows下始終解決此問題的方式相同。 您必須重命名其中一個文件,然后才能恢復另一個文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM