Nếu tôi có nhiều phiên bản bộ bản vá cho một thay đổi trong Gerrit, có vẻ như tôi chỉ có thể gửi phiên bản bộ vá mới nhất (vì chỉ có một phiên bản có nút cần thiết). Có cách nào dễ dàng để thay thế gửi một trong các phiên bản bộ vá lỗi cũ của cùng một thay đổi, chỉ sử dụng trình duyệt web của tôi trên phiên bản Gerrit đó?Hoàn nguyên về phiên bản bộ vá lỗi cũ hơn thông qua giao diện người dùng Gerrit?
Tôi biết rằng tôi có thể tìm nạp phiên bản mong muốn của bản vá được đặt từ ứng dụng khách git của tôi và đẩy nó như một phiên bản bộ vá mới khác ở trên cùng, nhưng tôi muốn tránh các phiên bản bộ vá giống hệt nhau nhiều lần trong bài đánh giá và thảo luận xung quanh nó.
Điều này không hoạt động: Khi đẩy cam kết của một tập bản vá cũ, tôi nhận được lỗi "không có thay đổi mới". – oberlies
Đó là một chút phức tạp. Bạn cần phải thực sự hoàn nguyên các thay đổi được giới thiệu bởi các bản vá lỗi sau bản cập nhật mà bạn muốn, sau đó sửa đổi những sửa đổi đó thành bài đánh giá và gửi lại. Điều đó sẽ đưa bạn trở lại trạng thái được thể hiện bằng bản vá mà bạn muốn. Bạn có thể có thể thực hiện điều này với các reflog, nếu bạn biết những gì bạn đang tìm kiếm, nhưng tôi sẽ phải để lại cho các thuật sĩ git đúng. – geekofalltrades
Đây là thứ hoạt động, mặc dù nó có thể là một chút hack: tìm trong trạng thái HEAD của bản vá mới nhất, gọi nó là X và trạng thái HEAD của bản vá mà bạn muốn hoàn nguyên, gọi nó là Y. Do 'git diff HEAD @ {X} HEAD @ {Y} | git áp dụng - index'. Bây giờ bạn có các thay đổi được tổ chức để hoàn tác tất cả các thay đổi được thực hiện ở giữa Y và X. Thực hiện 'git commit --amend', sau đó gửi lại đánh giá. Bây giờ bạn có một bản vá mới sẽ đưa bạn trở lại trạng thái của bản vá mong muốn. – geekofalltrades