Tôi đã làm việc để di chuyển 9 dự án của chúng tôi trong một repo SVN trên 9 repo git riêng biệt, được quản lý trên máy chủ bởi gitolite rồi tắt SVN. Bảy trong số họ đã dễ dàng như họ không có chi nhánh hoặc thẻ vân vân trạm làm việc của tôi, tôi đã có thể làm một cách đơn giản:Di chuyển từ Subversion sang git, sao chép tất cả các nhánh và đẩy qua gitolit?
git svn clone --stdlayout --no-metadata -A svnauthors.txt svn+ssh://[email protected]/var/subversion/project tempProject
Sau đó đẩy từ máy trạm của tôi vào gitolite cắt đứt qua:
git remote add origin ssh://[email protected]/project
git push -u origin master
và tất cả họ đều làm việc tuyệt vời. Bây giờ hai dự án cuối cùng khó khăn hơn, mỗi thẻ có khoảng 30 thẻ/nhánh. Sau khi chạy 'git svn bản sao' như trên trên một trong những dự án tôi thấy:
$ git branch -a
* master
remotes/BatchUpload
remotes/clarify_breadcrumb
remotes/contact_type
remotes/contact_upload_improvements
remotes/file_cabinet
remotes/mobile
remotes/summary_tiles
remotes/summary_updates
remotes/tags/release-2.1.2
remotes/tags/release-3.0.1
remotes/tags/release-3.0.2
remotes/tags/release-3.0.2c
remotes/tags/release-3.1.1
remotes/tags/release-3.1.3
remotes/tags/release-3.1.4
remotes/tags/release-3.1.5
remotes/tags/release-3.1.5.UPDT
remotes/tags/release-3.2
remotes/tags/release-3.2.1
remotes/tags/release-3.2.2.1
remotes/tags/release-3.2.3
remotes/tags/release-3.2.4
remotes/tags/release-3.2.6
remotes/tags/release-3.2.7
remotes/tags/release-3.2.7.1
remotes/trunk
remotes/user_man_batch_upload
remotes/user_management
Bây giờ làm thế nào để đi về nhận được tất cả những thẻ/cành tải về máy trạm địa phương của tôi để tôi có thể đẩy họ thông qua gitolite và tắt máy chủ SVN vĩnh viễn? Là những gì tôi cần làm trong this guide, thực hiện 'git checkout -b' cho từng chi nhánh và thẻ? Tôi có nên sử dụng svn2git hoặc một số công cụ khác cho việc này không?
ý nghĩa của lệnh chạy là gì? –
Oh sản lượng của nó là một lệnh .. cảm ơn tôi đã có rất nhiều chi nhánh mà làm cho tôi bối rối ... –
Nó làm việc cho tôi. Nhưng tại sao không có lệnh ootb git cho nó? Hoặc, tại sao git push --all không thành công cho các nhánh git svn? – Christian