Tôi đang di chuyển một quá trình xây dựng để sử dụng mercurial và muốn để có được các thư mục làm việc trở lại trạng thái của bản sửa đổi tip. Các tiến trình xây dựng trước đó sẽ sửa đổi một số tệp và thêm một số tệp mà tôi không muốn cam kết, vì vậy tôi có các thay đổi cục bộ và các tệp không được thêm vào kho lưu trữ.Mercurial - Làm thế nào để loại bỏ tất cả các thay đổi địa phương bao gồm cả các tập tin không phiên bản?
Cách dễ nhất để loại bỏ tất cả những gì và nhận thư mục làm việc sạch sẽ có bản sửa đổi mới nhất?
Hiện nay tôi đang làm điều này:
hg revert --all
<build command here to delete the contents of the working directory, except the .hg folder.>
hg pull
hg update -r MY_BRANCH
nhưng nó có vẻ như cần có một cách đơn giản hơn.
Tôi muốn thực hiện tương đương việc xóa repo, tạo bản sao mới và cập nhật. Nhưng repo quá lớn để đủ nhanh.
Là "(xóa nội dung ...)" nhận xét cho lệnh "hoàn nguyên - tất cả" hoặc bước bạn thực hiện? Tôi hỏi vì "cập nhật hg" sẽ chỉ cập nhật các tệp đã thay đổi. Nếu bạn xóa các tệp khác trước khi cập nhật, bạn sẽ không lấy lại các tệp đó trừ khi bạn cập nhật trở lại bản sửa đổi null ('hg update 00') và sau đó sao lưu vào đầu. Tại sao không phải 'hg revert --all' đủ để trở lại trạng thái thư mục làm việc phù hợp trước khi kéo và cập nhật? –
đó là một bước riêng biệt được thực hiện với phần mềm xây dựng của tôi. (Tôi có thể vừa mới xóa một dòng lệnh, nhưng không.) – Rory
Bạn có thể thấy lệnh 'archive' có ích trong tương lai. Ví dụ, bạn có thể 'hg archive ../ newbuild' và ảnh chụp nhanh kho lưu trữ của bạn ở' hg update' cuối cùng sẽ được đặt ở đó. Tôi thường làm điều đó để xây dựng hàng đêm chỉ vì vậy tôi không có nguy cơ làm lộn xộn repo của tôi. Chỉ cần xóa thư mục build khi bạn không còn cần đến nó nữa. –