Khi làm việc với git-svn và một 'điển hình' svn repo/trunk,/branch/...,/tags/... Làm cách nào để đẩy chi nhánh địa phương đến một chi nhánh mới bên trong/chi nhánh?tạo một chi nhánh svn mới với git-svn
5
A
Trả lời
7
Giả sử chúng ta có một kho xương Subversion với trống trunk/
, branches/
, và tags/
:
/tmp$ git svn clone -s file:///tmp/svn-repo/ git-svn-repo Initialized empty Git repository in /tmp/git-svn-repo/.git/ r1 = 80bdcfc0cf248b74b914a1b5f99ab89fb4e31b6c (refs/remotes/trunk) Checked out HEAD: file:///tmp/svn-repo/trunk r1 /tmp$ cd git-svn-repo/ /tmp/git-svn-repo$ git svn branch my-branch Copying file:///tmp/svn-repo/trunk at r1 to file:///tmp/svn-repo/branches/my-branch... Found possible branch point: file:///tmp/svn-repo/trunk => file:///tmp/svn-repo/branches/my-branch, 1 Found branch parent: (refs/remotes/my-branch) 80bdcfc0cf248b74b914a1b5f99ab89fb4e31b6c Following parent with do_switch Successfully followed parent r2 = 56150bbd9d3aec94972ff46d030e30ec726595ab (refs/remotes/my-branch)
Lời giải thích dưới đây sẽ chuyển đổi qua lại-và-ra giữa hai quan điểm của kho cùng, một Subversion bản sao làm việc toàn bộ repo (không chỉ trunk
) và một bản sao git-svn
. Để rõ ràng, tiền tố của mỗi dấu nhắc trình bao sẽ chỉ ra thư mục hiện tại.
Về phía svn, bây giờ bạn sẽ thấy
/tmp/svn-repo-wc$ svn up A branches/my-branch Updated to revision 2.
Bạn cũng sẽ thấy các chi nhánh mới ở phía bên git:
/tmp/git-svn-repo$ git branch -r my-branch trunk
Để cam kết chi nhánh mới được tạo ra, đầu tiên chuyển sang nó:
/tmp/git-svn-repo$ git reset --hard remotes/my-branch HEAD is now at 2c9bef2 Create branch my-branch
Tiếp theo, chúng ta sẽ tạo một git giả cam kết
/tmp/git-svn-repo$ touch on-my-branch /tmp/git-svn-repo$ git add on-my-branch /tmp/git-svn-repo$ git commit -m 'First commit to my-branch' [master b94a0eb] First commit to my-branch 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 on-my-branch
và cuối cùng gửi cho Subversion:
/tmp/git-svn-repo$ git svn dcommit Committing to file:///tmp/svn-repo/branches/my-branch ... A on-my-branch Committed r3 A on-my-branch r3 = d3c5ba3e03e5cdee96f470ff4c9898eb7c523ed8 (refs/remotes/my-branch) No changes between current HEAD and refs/remotes/my-branch Resetting to the latest refs/remotes/my-branch
Subversion lao động bản sao cho chúng ta xác nhận:
/tmp/svn-repo-wc$ svn up A branches/my-branch/on-my-branch Updated to revision 3.
Các vấn đề liên quan
- 1. SVN chi nhánh của một chi nhánh
- 2. Git-svn: tạo và đẩy chi nhánh/thẻ mới?
- 3. Xóa chi nhánh SVN
- 4. Git: tạo ra chi nhánh mới từ một chi nhánh sai
- 5. git-svn không thể tạo chi nhánh để theo dõi phân nhánh SVN
- 6. TFS: Ghi đè chi nhánh với một chi nhánh khác
- 7. Xây dựng tự động các chi nhánh với SVN
- 8. Chèn chi nhánh mới giữa hai chi nhánh hiện tại
- 9. Tạo chi nhánh git dựa trên một chi nhánh khác
- 10. Tạo chi nhánh SVN từ các thay đổi trong thân
- 11. git svn và làm việc với các chi nhánh riêng?
- 12. Crystal Report + SVN sáp nhập chi nhánh
- 13. mercurial đặt chi nhánh làm chi nhánh mặc định mới
- 14. Cấp chi nhánh SVN cam kết quyền
- 15. bản sao git-svn | chi nhánh giả
- 16. Bạn phải làm gì với các chi nhánh SVN cũ?
- 17. git-svn hợp nhất 2 chi nhánh svn
- 18. Cách tạo chi nhánh mới (và trống!) "Root"?
- 19. Svn sáp nhập thân cây và các chi nhánh
- 20. Git: chi nhánh mới không bị đẩy
- 21. Dự án hoặc chi nhánh mới?
- 22. Tạo chi nhánh bên trong một nhánh trong git
- 23. Làm thế nào để tái hòa nhập một chi nhánh SVN vào thân cây với Netbeans?
- 24. Đầu từ xa mới khi đẩy chi nhánh mới
- 25. tái hòa nhập một chi nhánh với externals thất bại trong SVN
- 26. TFS - cách tạo chi nhánh
- 27. Công cụ để duy trì các chi nhánh trong SVN
- 28. Cách thanh toán chi nhánh svn từ xa?
- 29. Cách tốt nhất để xử lý các chi nhánh của chi nhánh nhà cung cấp trong SVN là gì?
- 30. Tạo chi nhánh SVN từ Thẻ cụ thể và hợp nhất vào thân
theo quy định trên http://stackoverflow.com/questions/266395/ git-svn-how-do-i-tạo-a-new-svn-chi nhánh-qua-git bây giờ bạn có thể chuyển sang nhánh svn thay vì thực hiện đặt lại --hard: 'git checkout -b my-local -nhập nhánh từ xa ’ ' # edit' 'git commit' 'git svn dcommit' ' git checkout master # để hoạt động lại trên thân cây' – jackbravo