Tôi biết câu hỏi này đã được trả lời cách đây một thời gian, nhưng sau khi đọc nó, tôi có thể giúp thêm các ví dụ về lệnh nhánh git svn cụ thể và liên hệ nó với một quy trình công việc điển hình.
Thích kch trả lời, dùng git svn branch
. Dưới đây là một ví dụ đầy đủ, (lưu ý -n
chạy thử để chạy thử):
git svn branch -n -m "Branch for authentication bug" auth_bug
Nếu điều này diễn ra tốt đẹp, máy chủ trả lời với câu trả lời như thế này:
Sao chép https://scm-server.com/svn/portal/trunk tại r8914 sang https://scm-server.com/svn/portal/branches/auth_orms ...
Và không có -n
chuyển đổi, máy chủ có thể thêm một cái gì đó như:
Tìm thấy điểm nhánh có thể: https://scm-server.com/svn/portal/trunk => https://scm-server.com/portal/branches/auth_orms , 8914
Tìm thấy nhánh cha: (refs / điều khiển từ xa / auth_orms)
d731b1fa028d30d685fe260f5bb912cbf59e1971
Theo dõi phụ huynh với do_switch
Đã theo dõi thành công cha mẹ r8915 = 6ed10c57afcec62e9077fbeed74a326eaa4863b8
(refs / điều khiển từ xa / auth_orms)
Phần tốt nhất của nó, bây giờ bạn có thể tạo một nhánh cục bộ dựa trên nhánh từ xa của mình như vậy:
git checkout -b local/auth_bug auth_bug
Có nghĩa là "kiểm tra và tạo nhánh cục bộ có tên auth_bug
và làm cho nó đi theo nhánh từ xa (tham số cuối cùng)auth_bug
Kiểm tra xem nhánh cục bộ của bạn có hoạt động trên nhánh từ xa đó bằng cách sử dụng dcommit
với --dry-run
( -n
):
git svn dcommit -n
Và máy chủ SVN sẽ trả lời với tên chi nhánh mới:
Cam kết https://scm-server.com/svn/portal/branches/auth_orms ...