Hoàn tác là tốt đẹp để có trong Vim. Nhưng đôi khi, tại một điểm tốt đã biết, tôi muốn xóa lịch sử hoàn tác của mình - để có thể sử dụng u
để hoàn tác các thay đổi riêng lẻ, nhưng chỉ quay lại một điểm nhất định. (Ví dụ, điều này có thể là khi tôi cam kết lần cuối.)
Một cách để thực hiện điều này là đóng và mở lại tệp - lịch sử hoàn tác bắt đầu sạch sẽ tại thời điểm đó. Nhưng đó là một rắc rối.
Trong quá khứ, tôi đã hoàn thành điều này với :edit!
. Nhưng trong Vim 7.3, điều đó không loại bỏ lịch sử hoàn tác.
Có cách nào khác để làm điều này, ngoài việc đóng tệp?
u
để hoàn tác các thay đổi riêng lẻ, nhưng không vượt quá điểm mà tôi đã cam kết lần cuối. Chính xác như thể, mỗi lần tôi cam kết, tôi đóng tệp và mở lại. Đó là những gì đã :edit!
từng làm - nó giống như đóng tệp và mở lại nó. Điều này KHÔNG PHẢI được gắn với một điểm cam kết, đó chỉ là thời điểm tôi thường xuyên muốn nó nhất.
git checkout -f file
hayhg rollback file
?