một vài tháng trước, tôi đã cấu hình một git với một kho svn. Cho đến bây giờ tôi chỉ sử dụng kho svn để cập nhật ứng dụng được cung cấp trên đó. Nhưng bây giờ tôi cũng muốn cam kết trở lại. Để thực hiện điều này, mọi tính năng tôi cam kết cần phải nằm trong một nhánh riêng biệt. Tôi đọc về cách bạn nên tạo ra một chi nhánh mới vv Nhưng tôi nghĩ rằng tôi mis-cấu hình git của tôi, tôi không có bất kỳ thông tin chi nhánh vv tôi nghĩ rằng tôi chỉ có thông tin thân cây. Đây là cách kho svn của tôi đã được thiết lập trong cấu hình git của tôi:git-svn branching: cách cấu hình git config
[remote "origin"]
url = url-of-git-repository
fetch = +refs/heads/*:refs/remotes/origin/*
[svn-remote "svn"]
url = url-of-svn-repository/trunk
fetch = :refs/remotes/git-svn
[branch "master"]
merge = refs/heads/master
remote = origin
... other branch information below (these are git branches)
Bây giờ như bạn có thể nhìn thấy url svn-xa tôi đi trực tiếp vào thân cây. Tôi đọc về việc thêm phần này:
branches = branches/*:refs/remotes/*
nhưng khi tôi tạo nhánh mới thì nó sẽ thêm nó vào thân cây/nhánh /. Khi tôi không thêm vào dòng thì nó không biết đích đến là gì của nhánh.
Bất kỳ ý tưởng nào về cách giải quyết điều này mà không vi phạm các chi nhánh, mã, v.v ... hiện tại?
Greets, Daan
Sẽ tốt hơn nếu bạn có nhiều nhánh svn được xử lý trong cùng phần '[svn-remote xxx]'. Sau đó, bạn không cần phải thực hiện 'git svn fetch' cho từng nhánh riêng biệt. Ngoài ra tôi nghĩ rằng các sửa đổi svn phổ biến được đại diện sau đó là cam kết chia sẻ duy nhất trong kho git phản chiếu. Bạn có thể có '*' trong định nghĩa 'branch' trong bất kỳ thành phần thư mục con nào của đường dẫn, mặc dù bạn cần chỉnh sửa' .git/config' theo cách thủ công để thực hiện việc này. – FooF