|   |  ||
|---|---|---|
| .gitignore | ||
| git-timemachine.el | ||
| LICENSE | ||
| README.md | ||
| timemachine.gif | ||
Git time machine
Installation
Installation alternatives:
- Download git-timemachine.el and drop it somewhere in your 
load-path. - If you use 
el-get, simply addgit-timemachineto your packages list. - If you have melpa configured it's available through 
package-install. 
Usage
Visit a git-controlled file and issue M-x git-timemachine (or bind it to a keybinding of your choice). If you just need to toggle the time machine you can use M-x git-timemachine-toggle.
Use the following keys to navigate historic version of the file
pVisit previous historic versionnVisit next historic versionwCopy the abbreviated hash of the current historic versionWCopy the full hash of the current historic versiongGoto nth revisiontGoto revision by selected commit messageiShow revision introducing textqExit the time machine.bRunmagit-blameon the currently visited revision (if magit available).cShow current commit using magit (if magit available).
Customize
Set git-timemachine-abbreviation-length (default 12) to your preferred length for abbreviated commit hashes.
Set git-timemachine-show-minibuffer-details (default t) to control whether details of the commit are shown in the minibuffer.
Also M-x customize [git-timemachine].
FAQ
How do I "rollback" to the currently visited revision?
Just use your normal write-file and supply the file name of your choice. Be aware that you might be throwing away local uncommitted changes to the file in question. If you don't want to use you muscle memory to write the file you can map write-file to something short and sweet in git-timemachine-mode-map.
Native compilation
If you're having trouble using git-timemachine with native compilation turned on, possible together with a treesit enhanched mode such as python-ts-mode and get an error, try disabling native compilation for git-timemachine as it might help.
