簡體   English   中英

執行git lfs遷移后無法svn rebase

[英]Unable to svn rebase after doing git lfs migrate

我一直在將Subversion代碼庫遷移到Git。 一切順利,我git svn clone(d)倉庫,然后git lfs migrate(d)大文件和二進制文件。 回購從Git方面看起來不錯,但我現在無法git svn rebase ...

$ git svn rebase Unable to determine upstream SVN information from working tree history $

我嘗試了網絡上有關解決此問題的各種建議,但它們似乎沒有效果。 有什么建議么? 我可以重置Subversion / Git信息嗎? 我應該在進行git lfs clone之前git lfs install(ed) git lfs clone嗎?

使用git lfs importgit svn索引損壞的原因是,后者會重寫Git存儲庫歷史記錄(除非給出了--no-rewrite選項)。

如果使用--no-rewrite選項對您可行(也就是說:您可以處理將大文件保留在Git存儲庫歷史記錄中,僅從將來的提交中刪除它們),那么也許這是最簡單的方法。

另一方面,如果您必須將那些大的二進制文件完全遠離存儲庫存儲,那么在其歷史記錄中就不能有將這些文件直接添加到Git的提交。 因此,您必須繼續使用純git lfs import來重寫git svn clone/fetch創建的所有提交,並將這些文件重定向到LFS。 運行git lfs import ,您將需要重新生成git-svn rev_map ,以將重寫的Git歷史記錄中的新提交映射到它們鏡像的SVN修訂版。 我不知道是否有簡單的方法可以執行此操作,但是您可以看看https://github.com/Eloston/git-svn-lfs中的代碼以了解一個想法。

暫無
暫無

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

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