Tôi đã có thành công lớn với git-hg
từ https://github.com/cosmin/git-hg (cũng yêu cầu cài đặt làm việc hg
). Nó hỗ trợ tìm nạp, kéo và đẩy và ổn định hơn đối với tôi hg-git
(các tính năng tương tự từ hg
git).
Xem https://github.com/cosmin/git-hg#usage để biết ví dụ sử dụng. Giao diện người dùng rất giống với git-svn
.
Yêu git-hg
cầu thêm không gian đĩa cho mỗi repo hg nhân bản. Việc thực hiện sử dụng bản sao đầy đủ đồng bóng, một bản sao trần git phụ và repo git thực tế. Dung lượng đĩa yêu cầu gấp khoảng 3 lần chỉ sử dụng git bình thường. Các bản sao bổ sung được lưu trữ bên dưới .git
thư mục của thư mục làm việc của bạn (hoặc vị trí được chỉ ra GIT_DIR
như bình thường).
Lưu ý: Vấn đề cơ bản git-hg
cố gắng giải quyết là không có ánh xạ 1: 1 giữa git
và hg
các tính năng. Vấn đề lớn nhất là không phù hợp trở kháng giữa các chi nhánh git và chi nhánh giấu tên hg và chi nhánh hg tên và bookmark hg (tất cả những cái nhìn rất giống các chi nhánh để git
người dùng). Một vấn đề liên quan là hg
cố gắng lưu tên chi nhánh có tên gốc trong lịch sử phiên bản trái ngược với git trong đó tên chi nhánh chỉ được thêm vào thông báo cam kết mẫu theo mặc định.
Bất kỳ công cụ nào tuyên bố sẽ tạo cầu nối có thể tương tác giữa git
và hg
nên giải thích cách nó sẽ đối phó với kết hợp trở kháng này. Sau đó, bạn có thể quyết định xem giải pháp được chọn có phù hợp với nhu cầu của bạn không.
Giải pháp git-hg
sử dụng là loại bỏ tất cả các dấu hg và chuyển đổi các nhánh được đặt tên thành các nhánh git. Ngoài ra, nó đặt nhánh git master thành nhánh hg không tên.