{"repo":"tkellogg/dura","free":true,"listed":false,"github":"https://github.com/tkellogg/dura","clone":"git clone https://github.com/tkellogg/dura.git","description":"You shouldn't ever lose your work if you're using Git","language":"Rust","stars":4431,"topics":["rust","git"],"license":null,"category":"dev-tools","readme_excerpt":"Dura [![Build][build badge]][build action] Dura is a background process that watches your Git repositories and commits your uncommitted changes without impacting HEAD, the current branch, or the Git index (staged files). If you ever get into an \"oh snap!\" situation where you think you just lost days of work, checkout a dura branch and recover. Without dura , you use Ctrl-Z in your editor to get back to a good state. That's so 2021. Computers crash and Ctrl-Z only works on files independently. Dura snapshots changes across the entire repository as-you-go, so you can revert to \"4 hours ago\" instead of \"hit Ctrl-Z like 40 times or whatever\". Finally, some sanity. How to use Run it in the background: The serve can happen in any directory. The & is Unix shell syntax to run the process in the background, meaning that you can start dura and then keep using the same terminal window while dura keeps running. You could also run dura serve in a window that you keep open. Let dura know which repositories to watch: Right now, you have to cd into each repo that you want to watch, one at a time. If you have thoughts on how to do this better, share them here. Until that's sorted, you can run something like find -type d -name .git -prune xargs -I= sh -c \"cd =/..; dura watch\" to get started on your existing repos. Make some changes. No need to commit or even stage them. Use any Git tool to see the dura branches: dura produces a branch for every real commit you make and makes commits to that br","default_branch":null,"files":null,"tree":[],"storefront":"/r/tkellogg","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/tkellogg/dura/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}