我要尋找一個簡單的方法來進口一些繼承SVN代碼(儘管是在SVN的文件夾結構中含有分支/標籤和軀幹,沒有任何.svn目錄因此不包含任何歷史記錄或SVN用戶等)。我們只有整個傳統SVN代碼,沒有.svn文件夾,並且無法訪問原始SVN回購。導入SVN文件夾結構,Git的回購沒有歷史和用戶
3
A
回答
1
好吧,如果你只是擁有最新版本的沒有歷史,你能做的就是簡單地將它導入Git作爲新代碼的最佳。
你不知道的分支和標籤之間的關係,所以你可以簡單地導入每個作爲單獨的根,或者您也可以嘗試從重建像每一個版本明顯性的關係是基於以前的。
所以,你只需要創建一個空的Git倉庫,然後每個分支/標籤您:
準備適當的分支。
- 新存儲庫以分支
master
開頭,沒有父分支。這就是您導入trunk
的地方,但在此之前,您需要導入您知道之前的任何標籤。 - 您使用
git checkout -b
新名稱創建從已知基的新分支基。例如,如果你知道某個分支是基於特定版本的。 - 您創建一個新的分支使用
git checkout --orphan
新名稱沒有父。對於你不知道分支是基於什麼的情況。請參閱git-checkout。
- 新存儲庫以分支
刪除了以前的內容:
git rm -rf .
複製在SVN分支/標籤的內容。
添加一切
git add .
提交:
git commit -m
消息。沖洗並重復,直到完成。
如果你不關心關係,你可以很容易地編寫腳本。如果你想重建一些歷史,例如該主服務器成功發佈3,然後成功發佈2和發佈1,則必須手動排序並選擇分支。
你也可以在每個目錄只是git init
+ git add .
+ git commit
,推動各下適當的名稱相同的中央回購,但不會讓你重建任何歷史。
1
的.svn
目錄包含在你的項目中的文件的最後簽出的版本。從概念上講,它是類似的含量HEAD
上的Git提交指向。 Subversion使用這些信息來知道哪些文件被修改了(並顯示出不同之處)並將文件恢復到上次更新(檢出)版本。
既然你沒有訪問Subversion版本庫中,.svn
目錄的內容幾乎是無用的。
刪除.svn
目錄,那麼,在你的項目運行的根目錄:
git init
git add .
git commit -m "the initial import"
與任何你想要的提交信息替換文本「初始導入」。
瞭解更多關於Git命令:https://git-scm.com/docs
相關問題
- 1. 將一個SVN的SVN複製文件夾回覆到另一個SVN回購沒有刪除歷史記錄
- 2. 獲取只有沒有文件的回購文件夾結構
- 3. 將SVN回購作爲分支導入已有的Git回購
- 4. 複製文件夾結構沒有.svn文件夾
- 5. 替換SVN文件夾結構與非SVN文件夾結構
- 6. 結合SVN和Git存儲庫的所有歷史
- 7. 直接導入文件到SVN回購沒有先檢出
- 8. Git - 從提交歷史中刪除種子回購的歷史
- 9. 查找SVN工作文件夾的結帳歷史
- 10. 沒有歷史的Git pull
- 11. 的Git回購之間移動文件,同時保留歷史
- 12. 推git回購(具有.git孩子的文件夾)具有也是git回購的子文件夾
- 13. SVN文件夾結構
- 14. 將svn導出到沒有文件夾的git
- 15. 將SVN附加到現有的回購文件結構中
- 16. 移動歷史SVN提交到現有的Github回購?
- 17. 將SVN回購的子文件夾遷移到git
- 18. 顛覆:從雲SVN回購遷移到本地SVN回購...失去了歷史?
- 19. Eclipse和SVN導入已經SVN簽出的現有文件夾
- 20. 將回購文件夾移動到硬盤驅動器並從.git文件保存git歷史
- 21. TortoiseSVN導入.svn文件夾
- 22. Git和二進制文件的歷史
- 23. 使用git-svn與現有的回購缺乏.git/svn/
- 24. Subversion項目歷史記錄沒有正確導入到Git
- 25. 使用git-svn忽略僅在svn回購中的文件?
- 26. 同步SVN文件夾善變回購
- 27. 將github文件夾移動到所有分支機構和歷史記錄的新回購庫中
- 28. Android Studio中Git->添加現有文件,失去了歷史上回購
- 29. 將異國情調的回購結構從SVN移植到Git
- 30. 的Git,SVN - 進口全部歷史
請注意,'.svn'目錄在沒有實際存儲庫的情況下完全沒有價值,因爲它們只包含足夠的數據來檢測本地更改。其他任何東西只在存儲庫中(但如果你知道URL,也許你會知道它)。 –
謝謝Jan.我的選擇是使用這個現有的文件夾結構創建本地SVN回購,然後嘗試將svn-git實用程序導入到Git中?無論如何,我並不擔心歷史/用戶等。 – dchucks
顛覆不會幫你一點點!就像你開始一個新項目一樣在git中導入。我會在答案中寫下命令。 –