Để giữ những thay đổi hiện tại của bạn
Bạn có thể giữ công việc của mình được cất đi mà không cần phải cam kết với git stash
. Bạn sẽ sử dụng git stash pop
để lấy lại. Hoặc bạn có thể (như carleeto đã nói)git commit
nó đến một chi nhánh riêng.
Thanh toán theo ngày bằng cách sử dụng rev-parse
Bạn có thể kiểm tra một cam kết trước một ngày cụ thể bằng cách sử dụng rev-parse
như thế này:
git checkout 'master@{1979-02-26 18:30:00}'
Thông tin chi tiết về các tùy chọn có sẵn có thể được tìm thấy trong git-rev-parse
.
Như đã lưu ý trong các bình luận, phương pháp này sử dụng reflog để tìm cam kết trong lịch sử của bạn. Theo mặc định, các mục này hết hạn sau 90 ngày . Mặc dù cú pháp sử dụng reflog ít dài dòng hơn nhưng bạn chỉ có thể quay lại 90 ngày.
Thanh toán theo ngày bằng cách sử dụng danh sách rev
Tùy chọn khác, không sử dụng reflog, là sử dụng rev-list
để nhận được cam kết tại một thời điểm cụ thể với:
git checkout `git rev-list -n 1 --first-parent --before="2009-07-27 13:37" master`
Lưu ý --first-Parent nếu bạn chỉ muốn lịch sử của mình chứ không phải các phiên bản do hợp nhất mang lại. Đó là những gì bạn thường muốn.
git bisect good
điểm ban đầu của bạn .