Tôi đã gặp khó khăn trong công việc (như được trình bày trong bản phác thảo đơn giản dưới đây). Trong quá trình tạo nhánh, mặc định vì một lý do nào đó đã bị mắc kẹt với tư cách là cha mẹ với một nhánh, nhưng vẫn giữ một nhánh mặc định riêng biệt (đó là nhánh mặc định mà chúng ta đang sử dụng trong tương lai). Điều này đã để lại cho chúng tôi hai nhánh mặc định.Bị kẹt với hai nhánh mặc định trong Mercurial sau khi chi nhánh bị hỏng cam kết
Ai đó nhầm lẫn cách thực hiện thay đổi trước khi phân nhánh, vì vậy, chúng tôi đã kết hợp các thay đổi được thực hiện trong branch1 vào branch2.
Tôi đã xem xét Mercurial: the definitive guide để xem đây có phải là sự cố có thể giải quyết hay không, nhưng không thể tìm ra lệnh nào liên quan đến việc hoàn tác hoặc đóng sẽ giúp ích. Cách dễ nhất là nếu nó bằng cách nào đó có thể đổi tên nhánh mặc định còn lại.
Cách tốt nhất và/hoặc dễ nhất để giải quyết vấn đề này là gì?
Tôi đang chuẩn bị hợp nhất các chi nhánh phát triển vào nhánh mặc định chính xác và muốn khắc phục vấn đề này trước khi bắt đầu bất kỳ sự hợp nhất nào có thể gây khó khăn hơn trong việc khắc phục điều này trong tương lai.
Tôi nghĩ nó đã được sắp xếp. Bạn có kinh nghiệm với 'hg rebase' và/hoặc' hg strip'? Điều gì là tốt đẹp là có branch1 và branch2 là một nhánh. branch2 về cơ bản là những thay đổi được thực hiện trong branch1 nhưng không có sự bao gồm của nhánh mặc định. – Patrick
Tôi thấy bây giờ, sau khi đọc tài liệu về rebase và dải, rằng những người thường chỉ được sử dụng trên các cam kết không được đẩy hoặc chia sẻ với kho lưu trữ. – Patrick
@ Patrick: bạn chính xác về việc rebase và strip: nếu bạn đã đẩy các thay đổi ở một nơi khác, thì cả hai lệnh sẽ không hiệu quả. Không có gì sẽ phá vỡ, nhưng bạn sẽ thấy rằng bạn nhận được các changesets ban đầu khi bạn kéo từ máy chủ. Điều đó phủ nhận hiệu ứng của lệnh (đối với 'hg strip') hoặc trông lộn xộn (đối với' hg rebase'). –