{"repo":"meribold/git-snap","free":true,"listed":false,"github":"https://github.com/meribold/git-snap","clone":"git clone https://github.com/meribold/git-snap.git","description":"Create snapshot commits on a not checked-out branch without touching the working tree or losing staged changes","language":"Shell","stars":17,"topics":["git","bash","workflow","git-addons"],"license":null,"category":"workflow-automation","readme_excerpt":"Running git snap creates a commit that includes most local changes on a user- and machine-specific snapshots branch. It doesn't ask for a commit message. It also doesn't touch the working tree, saves and restores the index, and switches back to the branch that was checked out before running git snap . In other words, everything looks the same as before after running git snap , but your changes are safely stored by Git and can be pushed to a remote for redundancy or sharing. How is this different from git stash ? This tool solves a different problem and doesn't have too much in common with git stash . In particular, it doesn't change the working tree. It also makes it easier to push the recorded changes to a remote. Why not just create throwaway commits with something like git commit -am Throwaway ? That is indeed pretty similar to what git snap does. The main difference is that git snap creates its commits on a different branch than the one that's checked out. I find this useful because git diff and my editor (or IDE) continue to show/highlight the work-in-progress changes. Usage git snap This creates a commit with most local changes on a branch named snapshots- - . There are no options or parameters. Take a look at the [ snapshots-meribold-smial ][1] branch of this repository to see some commits created using git snap . Installation Save git-snap to some directory in your $PATH and make it executable. E.g.: curl -Of https://raw.githubusercontent.com/meribold/git-snap/v2.1.0/","default_branch":null,"files":null,"tree":[],"storefront":"/r/meribold","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/meribold/git-snap/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."}