Đây là bảng cheat trên các lệnh:
hg update
thay đổi bản sửa đổi bản sao làm việc của bạn và cũng thay đổi nội dung tệp để phù hợp với bản sửa đổi phụ huynh mới này. Điều này có nghĩa là các cam kết mới sẽ được thực hiện từ bản sửa đổi mà bạn cập nhật.
hg revert
chỉ thay đổi nội dung tệp và để lại bản sửa đổi cha mẹ bản sao làm việc. Bạn thường sử dụng hg revert
khi bạn quyết định rằng bạn không muốn giữ những thay đổi không được cam kết mà bạn đã thực hiện đối với một tệp trong bản sao làm việc của mình.
hg branch
bắt đầu một chi nhánh mới được đặt tên. Hãy nghĩ về một nhánh được đặt tên như là một nhãn bạn gán cho các bộ thay đổi. Vì vậy, nếu bạn làm như vậy hg branch red
, thì các thay đổi sau đây sẽ được đánh dấu là thuộc về nhánh "đỏ". Đây có thể là một cách hay để tổ chức các bộ thay đổi, đặc biệt là khi những người khác nhau làm việc trên các nhánh khác nhau và sau này bạn muốn xem một bộ thay đổi bắt nguồn từ đâu. Nhưng bạn không muốn sử dụng nó trong tình huống của bạn.
Nếu bạn sử dụng hg update --rev 38
, thì bộ thay đổi 39 Pha45 sẽ bị bỏ lại như một ngõ cụt - một cái đầu lơ lửng như chúng ta gọi. Bạn sẽ nhận được cảnh báo khi bạn đẩy vì bạn sẽ tạo "nhiều đầu" trong kho lưu trữ mà bạn đẩy tới. Cảnh báo là có vì nó là bất lịch sự khi để những người như vậy xung quanh vì họ đề nghị ai đó cần phải hợp nhất. Nhưng trong trường hợp của bạn, bạn chỉ có thể đi trước và hg push --force
vì bạn thực sự muốn để nó treo.
Nếu bạn chưa đẩy bản sửa đổi 39-45 ở một nơi khác, thì bạn có thể giữ chúng ở chế độ riêng tư. Điều đó rất đơn giản: với hg clone --rev 38 foo foo-38
bạn sẽ có một bản sao cục bộ mới chỉ chứa tối đa phiên bản 38. Bạn có thể tiếp tục làm việc foo-38
và đẩy các thay đổi mới (tốt) mà bạn tạo. Bạn vẫn sẽ có bản sửa đổi cũ (xấu) trong foo
bản sao của mình . (Bạn có thể tự do đổi tên các bản sao theo cách bạn muốn, ví dụ, foo
thành foo-bad
và foo-38
sang foo
.)
Cuối cùng, bạn cũng có thể sử dụng hg revert --all --rev 38
và sau đó cam kết. Điều này sẽ tạo ra một bản sửa đổi 46 trông giống hệt với bản sửa đổi 38. Sau đó, bạn sẽ tiếp tục làm việc từ bản sửa đổi 46. Điều này sẽ không tạo ra một ngã ba trong lịch sử theo cách rõ ràng như hg update
đã làm, nhưng mặt khác bạn sẽ không phàn nàn về việc có nhiều đầu. Tôi sẽ sử dụng hg revert
nếu tôi cộng tác với những người khác đã thực hiện công việc của họ dựa trên phiên bản 45. Mặt khác, hg update
rõ ràng hơn.