2012-05-03 28 views
8

Tôi mới sử dụng Mercurial và tôi đang sử dụng hệ thống phân nhánh Ổn định/Mặc định. Chúng ta đều trên Windows ở đây, và tôi đang cố gắng để mọi người khác làm việc trong hệ thống này. Chúng ta đều đang sử dụng TortoiseHg. Tôi đang cố gắng ghi lại cách kết hợp các thay đổi thành các bản phát hành ổn định và thẻ, nhưng tôi đã chỉ sử dụng Mercurial trong khoảng ba tuần, vì vậy tôi thậm chí không chắc chắn tôi đang làm điều này một cách chính xác. Ngoài ra, TortoiseHg dường như thiếu một vài tùy chọn có sẵn từ dòng lệnh. Nhưng, tôi cần phải thực hiện công việc này từ vỏ Windows, hoặc nó sẽ không được chấp nhận ở đây.Điều này có đúng không? Hợp nhất giữa các nhánh ổn định và mặc định trong Mercurial bằng TortoiseHg

Tất cả công việc lập trình của chúng tôi được thực hiện theo mặc định và nhánh ổn định chỉ được sử dụng cho các bản phát hành của phần mềm. Một điều khiến tôi tin rằng tôi đang làm điều gì đó sai trái là sau mỗi lần hợp nhất, tôi phải tái tạo nhánh ổn định. Điều đó có bình thường không? Dường như phản trực giác.

Dưới đây là quy trình tôi đã viết. Xin vui lòng chỉ ra sự ngu ngốc của tôi hoặc hỏi bất kỳ câu hỏi nào. Và cảm ơn bạn trước cho bất kỳ ý kiến.

Trên máy tính xách tay của tôi, có hai thư mục cho mỗi dự án. Thư mục devel lưu một bản sao của chi nhánh mặc định,

===============

Kết hợp các ngành và tạo ra một phiên bản ổn định, TortoiseHg

- Cam kết trong kho lưu trữ devel.

- Mở thư mục cục bộ devel.

- Bắt đầu HgWorkbench.

- Nhấp vào phiên bản ổn định mới nhất của nhánh ổn định.

- Chọn Hợp nhất với địa phương ...

- Đồng bộ hóa và đẩy các thay đổi vào kho lưu trữ từ xa.

- Chuyển đến kho lưu trữ ổn định địa phương.

- Đồng bộ hóa và kéo từ kho lưu trữ từ xa.

- Cập nhật lên nhánh mặc định mới nhất. Chọn "cập nhật mẹo" sẽ là tốt nhất.

- TortoiseHg -> cam kết. Cam kết với nhánh "ổn định". Bạn sẽ cần phải tạo lại một chi nhánh mới. Khi được hỏi, chọn "Khởi động lại nhánh".

- Mở HgWorkbench và thêm thẻ cho phiên bản ổn định mới nhất. Ví dụ "Phiên bản X.X"

- Đồng bộ hóa và đẩy tới kho lưu trữ từ xa. Sử dụng nút Tùy chọn trong hộp thoại Đồng bộ hóa để hiển thị hộp thoại "tùy chọn đồng bộ hóa". Trong trường dưới cùng có nhãn "Chi nhánh", nhập "ổn định"

- Quay lại kho lưu trữ "devel" cục bộ.

- Đồng bộ hóa và kéo từ kho lưu trữ từ xa. Sử dụng nút Tùy chọn trong hộp thoại Đồng bộ hóa để hiển thị hộp thoại "tùy chọn đồng bộ hóa". Trong trường dưới cùng có nhãn "Chi nhánh", hãy đảm bảo trường này trống. Nếu không, nó sẽ mặc định là nhánh "ổn định".

Trả lời

6

Không cần bản sao thứ hai để đạt được những gì bạn muốn và tôi nghĩ rằng nó làm tăng tính phức tạp khi không cần thiết.

Đây là những gì tôi muốn làm:

  1. Có một bản sao duy nhất của kho
  2. Commit trong ngành default
  3. Bắt đầu HgWorkbench
  4. Nhấp chuột phải vào changeset mới nhất về chi nhánh stable
  5. Chọn Update... trong menu bật lên và nhấn nút Update trong cửa sổ bật lên (chúng tôi e các tùy chọn mặc định)
  6. Nhấp chuột phải vào changeset mới nhất trong ngành default
  7. Chọn Merge with local...
  8. Nếu tình trạng thư mục làm việc được chứng minh là sạch (nó phải) sau đó nhấn nút Next
  9. Nếu có không có xung đột nhập (một lần nữa, không nên có nếu bạn làm không phát triển trong stable) nhấp vào nút Next lại
  10. Nhập tin nhắn cam kết và nhấp vào nút Commit và báo chí Finish về bước tiếp theo
  11. Nhấp chuột phải vào changeset cuối cùng trong chi nhánh stable và chọn Tag..., nhập tên thẻ và nhấn nút Add.
  12. Nhấp chuột phải vào changeset cuối cùng trong chi nhánh default và chọn Update... sử dụng các tùy chọn mặc định một lần nữa

Bây giờ bạn đã có một tagged stable chi nhánh và đang trở lại trên cành default để tiếp tục phát triển. Khi bạn đã sẵn sàng phát hành phiên bản stable mới, hãy lặp lại các bước ở trên từ bước 3.

+0

Điều đó nghe có vẻ sạch hơn nhiều. Tôi sẽ thử nó vào buổi sáng. Cảm ơn bạn rất nhiều! – user1372617

+0

Theo dõi: nó hoạt động hoàn hảo. Cảm ơn nhiều! – user1372617