2010-07-01 39 views
5

Tôi đã đính kèm vài lần với sự bảo hộ và đẩy các cam kết của tôi. Không ai khác kéo họ. Làm thế nào tôi có thể "vứt bỏ" những cam kết này để khôi phục lại repo địa phương và từ xa của tôi (cả repo và làm việc dir) cho một cam kết quy định? Cảm ơn bạn.Vứt bỏ một loạt các cam kết trong Mercurial

Trả lời

3

Cách nhanh nhất là sao chép bản ghi cục bộ của bạn đến bản sửa đổi 'tốt' cuối cùng và loại bỏ bản cũ.

Điều này chỉ hoạt động nếu các bản sửa đổi đó là n cuối cùng trong lịch sử.

Bạn có thể sao chép phần [paths] của tệp .hg/hgrc cũ của repo sang tệp mới nếu bạn muốn tiếp tục đẩy tới repo 'chính' thứ ba.

1

Bạn có thể sử dụng $hg revert để hoàn nguyên mã của mình về bản sửa đổi trước đó.

Nếu bạn nhập $hg help revert vào dòng lệnh của mình, bạn sẽ nhận được danh sách các cách bạn có thể hoàn nguyên.

Các tùy chọn này bao gồm:

--all 

--date 

--rev 

--rev khả năng sẽ là một trong những bạn muốn vì nó quay ngược lại cung một phiên bản cụ thể.

Nếu bản sửa đổi bạn muốn hoàn nguyên giống với một repo khác hoặc giống như mẹo hiện tại, cách dễ nhất có thể là chỉ sao chép lại bản ghi nhớ đó.

+0

hg hoàn nguyên chỉ thay đổi thư mục làm việc. Nó không ảnh hưởng đến lịch sử của kho lưu trữ, ngay cả với --rev. Trong thực tế, hg revert --rev REV giống với hg up -C REV. – tghw

+0

Cảm ơn các bạn đã lên @tghw. Tôi học một cái gì đó mới mỗi ngày :) –

Các vấn đề liên quan