簡體   English   中英

將本地svn存儲庫轉換為git

[英]convert local svn repo to git

我有什么應該是svn回購。 在我計算機的本地文件夾中。 我不知道是否可能,但我想將其轉換為僅使用git。 我不再可以訪問svn服務器,.svn文件夾中的所有內容都是

all-wcprops
entries
format
prop-base
props
text-base
tmp

我曾嘗試做svn log但它開始要求提供憑據。 我還嘗試通過執行svnadmin verify /folder類的操作來svnadmin verify /folder它是否為svn存儲庫,但它表示的只是svnadmin: Can't open file 'format': No such file or directory 我需要的只是提交歷史記錄。

如果這是存儲庫 (而不是本地工作空間),請使用git svn clone將其插入到新創建的git存儲庫中。 在周日之前以5種方式檢查結果,將SVN拋棄到漂亮舒適的CD / DVD中以進行保管。

請注意, git svn clone可能會花費長時間,因為它順序要求SVN重新創建曾經存在的每個sigle修訂,然后將其集成為提交。 SVN在挖掘舊內容時效率低下,並且git svn的處理也不是很出色。 對於不太大的遠程SVN存儲庫,可能需要一兩天的時間。 由於連接中斷,我不得不重新啟動幾次。 我不記得正確的咒語是git svn clone還是git svn rebase或其他(是的,看到空的克隆存儲庫很可怕,但是有下載的東西)。

如果您不介意丟失歷史記錄(如我在評論中所述,如果您無權訪問中央服務器,則無權訪問歷史記錄),則可以在同一文件夾中創建一個git repo,添加.gitignore文件,除了.svn/行以外,還要包含您通常在SVN中忽略的所有文件/文件夾,以忽略.svn文件夾,然后添加/提交所有內容。

使用命令行git時,它將類似於:

cd path/to/repo
git init
touch .gitignore
#EDIT THE .gitignore FILE HERE
git add .
git commit -m "Initial commit"

如果以后要清理.svn文件夾,則可以使用werd答案中的鏈接,也可以將倉庫克隆到另一個文件夾

1)取下的.svn /文件夾- http://www.anyexample.com/linux_bsd/bash/recursively_delete__svn_directories.xml

2)將其添加到GIT倉庫

暫無
暫無

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

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