2012-03-13 35 views
29

Tôi muốn quay lại lịch sử chợ của tôi (thay đổi cây làm việc) để tìm ra cam kết giới thiệu một lỗi nhất định.Quay lại phiên bản cũ ở Bazaar

Tôi không muốn xóa bất kỳ cam kết nào, chỉ cần thay đổi cây làm việc của mình cho đến khi tôi tìm thấy lỗi và sau đó tôi muốn quay lại bản sửa đổi mới nhất để thực hiện.

hai lệnh cho điều đó là gì (sẽ trở lại một trước đó cam kết và sau đó kiểm tra ra các sửa đổi lại mới nhất)?

Xin cảm ơn trước.

+0

Tôi chưa bao giờ sử dụng Bazaar, nhưng trong SVN các thao tác bạn tham chiếu là "cập nhật lên phiên bản" và "cập nhật lên đầu". fyi trong trường hợp các lệnh liên quan trong Bazaar sử dụng ngôn ngữ tương tự. – jhocking

Trả lời

21

Để hoàn nguyên cây đang hoạt động trở lại bản sửa đổi cụ thể N:

bzr revert -rN 

Để phục hồi các cây làm việc với phiên bản mới nhất trong ngành:

bzr revert 
+0

Điều này làm cho bzr xem xét cây làm việc của bạn để có những thay đổi cục bộ, và 'bzr đổ lỗi' sau đó không làm những gì tôi mong đợi. 'bzr update -r ' từ câu trả lời của Don đã làm những gì tôi muốn tốt hơn, đó là khảo cổ học thuần túy dưới dạng "tìm ra cam kết giới thiệu một lỗi nhất định". Sử dụng 'bzr update -r ' và theo dõi lại bằng cách sử dụng 'bzr blame' sau đây hoạt động tốt hơn để làm theo thông qua đổi tên và tái cấu trúc. –

4

Để thay đổi cây làm việc để trạng thái mà nó đã có trong một phiên bản trước đó N

bzr revert -r N 

Để cập nhật bản sao làm việc của bạn về trạng thái có trong phiên bản mới nhất:

bzr up 

Bazaar Quick Reference Card

13

Có hai cách để tận dụng cây làm việc của bạn trở lại trong thời gian để xem xét lại N. Đầu tiên đã được đề cập bởi câu trả lời khác ở đây :

bzr revert -rN 

Điều đó sẽ thay đổi tất cả các file cần thiết để làm cho cây làm việc của bạn phù hợp với nội dung của phiên bản N. Nếu bạn chạy bzr status nó sẽ hiển thị tất cả các tập tin như đã thay đổi. Nếu bạn chạy bzr commit sau đó tất cả những thay đổi đó lạc hậu sẽ nhận được cam kết và sửa đổi TRỤ của bạn bây giờ sẽ trông giống như phiên bản N.

Để quay trở lại với phiên bản mới nhất trong ngành của bạn:

bzr revert 

Bạn cũng có thể chạy bzr update , nhưng điều đó có thể nhận được một số sửa đổi mới hơn nếu chi nhánh của bạn là thanh toán.

Các tùy chọn khác để đi ngược thời gian là thế này:

bzr update -rN 

Sự khác biệt giữa hai là bzr update làm cho nó trông như thể không có thay đổi đã được thực hiện. Chỉ là cây làm việc của bạn đã lỗi thời.

Để quay trở lại với phiên bản mới nhất trong ngành của bạn:

bzr update 
+0

'bzr update' là chính xác những gì tôi đang tìm kiếm –

4

bình luận khác người đã trả lời với bzr revert -rN chắc chắn đúng theo nghĩa rằng đó là câu trả lời trực tiếp cho câu hỏi vì nó được yêu cầu, tuy nhiên nếu bạn có một số lượng lớn các cam kết để kiểm tra thông qua để kiểm tra sự hiện diện của một lỗi, nó là hiệu quả hơn nhiều để sử dụng bisection.Một lần tôi đã được trình bày với một lỗi mà cam kết được biết đến gần đây nhất là 300 cam kết trước đây, và bisection tìm thấy cam kết có tội chỉ 8 pass (ý tôi là, tôi chỉ phải kiểm tra 8 cam kết trong số 300 để tìm đã giới thiệu lỗi này).

http://doc.bazaar.canonical.com/plugins/en/bisect-plugin.html

Nếu bạn đang cảm thấy choáng ngợp bởi số lượng có thể cam kết bạn cần phải kiểm tra, điều này sẽ làm giảm lượng nỗ lực tham gia đáng kể!

0

bạn có thể sử dụng bzr đăng nhập --forward để xem phiên bản trước đó của bạn với DESC sắp xếp

và bạn có thể sử dụng bzr trở -r cho sự thay đổi phiên bản của bạn vào

nếu bạn muốn trở lại cuối cùng phiên bản chỉ cần làm bzr revert

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