Tôi đã kiểm tra kho lưu trữ svn bằng git svn. Bây giờ tôi cần kiểm tra một trong những chi nhánh và theo dõi nó. Đó là cách tốt nhất để làm điều đó?
Tôi đã kiểm tra kho lưu trữ svn bằng git svn. Bây giờ tôi cần kiểm tra một trong những chi nhánh và theo dõi nó. Đó là cách tốt nhất để làm điều đó?
Câu trả lời:
Tạo một bản sao git bao gồm thân Subversion, thẻ và các nhánh với
git svn clone http://svn.example.com/project -T thân cây -b thẻ -t thẻ
Các --stdlayout
tùy chọn là một shortcut đẹp nếu kho Subversion của bạn sử dụng cấu trúc tiêu biểu:
git svn clone http://svn.example.com/project --stdlayout
Làm cho kho git của bạn bỏ qua mọi thứ mà repo lật đổ làm:
git svn hiển thị-bỏ qua >> .git / thông tin / loại trừ
Bây giờ bạn có thể thấy tất cả các nhánh Subversion ở phía git:
chi nhánh git -r
Nói tên của nhánh trong Subversion là waldo
. Về phía git, bạn sẽ chạy
kiểm tra git -b waldo-svn điều khiển từ xa / waldo
Hậu tố -svn là để tránh các cảnh báo về hình thức
cảnh báo: tên gọi 'waldo' là mơ hồ.
Để cập nhật nhánh git waldo-svn
, hãy chạy
kiểm tra git waldo-svn git svn rebase
Để thêm một nhánh Subversion vào một bản sao chỉ thân cây, hãy sửa đổi kho git của bạn .git/config
để chứa
[svn-remote "svn-mybranch"] url = http://svn.example.com/project/branches/mybranch tìm nạp =: refs / điều khiển từ xa / mybranch
Bạn sẽ cần phát triển thói quen chạy bộ
git svn tìm nạp - tìm nạp tất cả
để cập nhật tất cả những gì git svn
nghĩ là từ xa riêng biệt. Tại thời điểm này, bạn có thể tạo và theo dõi các nhánh như trên. Ví dụ: để tạo một nhánh git tương ứng với mybranch, hãy chạy
kiểm tra git -b mybranch-svn điều khiển từ xa / mybranch
Đối với các nhánh mà bạn dự định git svn dcommit
, hãy giữ lịch sử của họ tuyến tính!
Bạn cũng có thể quan tâm đến việc đọc một câu trả lời cho một câu hỏi liên quan .
--prefix=svn/
khi thực hiện git-svn init
hoặc git-svn clone
) Điều này sẽ loại bỏ sự cần thiết phải thêm hậu tố vào các nhánh cục bộ của bạn.
show-ignore
xảy ra lỗi, hãy thửgit svn show-ignore -i trunk