Trong git, tôi có thể làm như sau:Tương đương Mercurial cho hiển thị các cam kết trong một chi nhánh là gì nhưng không phải ở một nhánh khác?
git log foo ^bar
để hiển thị changesets trong ngành foo
nhưng không phải trong ngành bar
. Có cách nào để làm điều đó trong Mercurial không?
Chỉnh sửa: Để giải thích thêm một chút về trường hợp sử dụng. Giả sử tôi có một chi nhánh trong Mercurial (gọi là foo
) được phân nhánh theo số default
. Những gì tôi muốn biết là những gì cam kết là trong chi nhánh foo
, và do đó chưa được sáp nhập vào default
. Có lẽ tôi đang nghĩ về điều này sai, nhưng trong git, tôi có thể bắt đầu làm việc trên foo
, hợp nhất với master
và sau đó làm việc thêm một số chi tiết trên foo
và sử dụng lệnh ở trên để xem cam kết nào chưa được hợp nhất.
Vì vậy, một trường hợp sử dụng cụ thể là biết liệu chi nhánh đã được hoàn thành hợp nhất vào mặc định hay chưa. Từ việc sử dụng Mercurial, nếu tôi bắt đầu một chi nhánh foo
tắt default
để làm việc trên một đối tượng địa lý, hãy để nó ở đó để hợp nhất và tách ra khỏi foo
để tạo ra bar
, có chứa một tính năng khác được xây dựng trên mọi thứ trong foo
, foo
kết thúc không hoạt động bởi vì bar
chứa tất cả các thay đổi trong foo, nhưng tôi có thể chỉ muốn hợp nhất các thay đổi trong foo
vì tôi biết chúng là tốt trong khi bar
vẫn đang được phát triển. Hy vọng rằng đó là hữu ích.
Vì vậy, về cơ bản bạn muốn xem tất cả tổ tiên của 'foo' mà không phải là một phần của tổ tiên của' default'. Đó thực sự là phần thứ hai của câu trả lời của tôi. –
Nếu bạn chỉ muốn xem các cam kết trong một nhánh, chỉ cần sử dụng 'hg log -b'. Nếu '' là nhánh hiện tại của bạn, bạn có thể sử dụng 'hg log -b .'. –
weberc2