Bất kỳ lý do không sử dụng nhiều hệ thống kiểm soát phiên bản?


9

Tôi đang làm việc trên một dự án sử dụng GIT làm hệ thống kiểm soát phiên bản chính cho thân cây, các nhánh chính thức và hầu hết các dự án phụ / nhánh không chính thức. Do đó, tôi muốn làm cho chi nhánh của mình sử dụng GIT để cho phép phần còn lại của cộng đồng truy cập vào chi nhánh của tôi bằng hệ thống mà họ biết.

Tuy nhiên, tôi đang làm việc trên một phần của dự án chồng chéo cả hai nhánh chính thức và không chính thức, cùng với một số bản vá sẽ không bao giờ vào thân cây - vì vậy, tôi cần có thể giữ các bản vá của mình tách biệt, cho phép tất cả được sử dụng trong chi nhánh của tôi và các bản vá chọn lọc sẽ được sử dụng trong thân cây. Điều này tự nhiên dựa vào việc sử dụng hàng đợi đồng bóng.

Có bất kỳ lý do nào mà tôi không thể sử dụng mercurial cho kho lưu trữ cục bộ của riêng mình, nhưng đẩy toàn bộ vào kho lưu trữ của GIT và Mercurial không? Hay đúng hơn, có lý do chính đáng nào không, tôi chắc chắn là có thể.


2
Cách duy nhất tôi có thể thấy rằng làm việc là nếu một bản luôn là bản sao có thẩm quyền và bản còn lại luôn được tạo từ bản đầu tiên. Bằng cách này, không có sự nhầm lẫn có thể.
Joachim Sauer

Cảm ơn, đó là những gì tôi đã nghĩ - Git sẽ chỉ là nô lệ của Mercurial. Mercurial được sử dụng như bình thường đối với tôi, và sau đó chuyển từ đồng tính sang Git để cho phép người dùng Git truy cập vào chi nhánh của tôi (không có chuông và còi)
Jon Story

Câu trả lời:


8

Bạn không nên làm điều này vì lý do tương tự bạn không nên có một biến cố gắng theo dõi trạng thái của người khác - bạn có thể mất theo dõi phiên bản nào có thẩm quyền.


Một người sẽ luôn là một bản sao có thẩm quyền - Mercurial, trong trường hợp này, vì đó là bản sao tôi đang sử dụng để theo dõi các thay đổi, làm việc với nhiều bản vá, v.v. Git sẽ chỉ là một nô lệ, một bản sao của kho lưu trữ đồng bóng để cho phép các thành viên của cộng đồng quen thuộc với Git nhưng không phải Mercurial để lấy bản sao chi nhánh của tôi. Rõ ràng, những người quan tâm đến các bản vá riêng lẻ sẽ phải sử dụng đồng bóng, nhưng tôi đang cố gắng duy trì các quy ước của dự án trong khi làm cho cuộc sống trở nên dễ dàng cho chính mình.
Câu chuyện Jon

Cảm ơn vì bạn đã phản hồi. Hoàn toàn không phải vì lý do này (tôi cũng vừa quyết định tôi thích GIT và có thể sống mà không phải xếp hàng chờ đợi) nhưng câu trả lời của bạn khiến tôi nhận ra sự dư thừa là vô nghĩa nếu có thể tránh được, trong trường hợp này là có thể.
Câu chuyện Jon

2

Tôi hiện đang làm điều này bằng cách sử dụng git và svn. Trong khi có những lý do không để làm điều đó, không có quy luật chung. Git có thể làm những điều svn không thể, tôi đã quen với những tính năng đó nên quy trình làm việc của tôi do đó năng suất tăng lên khi tôi có thể sử dụng git. Nhìn vào những ưu và nhược điểm trong tình huống của tôi, tôi sẽ thật ngu ngốc khi không sử dụng cả hai. Bạn nên nhìn vào tình huống của bạn theo cùng một cách. (btw nhược điểm duy nhất đối với tôi là phải chạy một tập lệnh nhỏ duy nhất để đồng bộ hóa git với svn)


1

Bạn có thể giữ các bản vá riêng biệt trong Git: thực hiện từng bản trên nhánh riêng của mình, sau đó hợp nhất chúng một cách chọn lọc theo ý muốn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.