Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
66 lines (44 sloc) 1.74 KB


git-stashd is an autostashing daemon for Git.

Table of Contents


By utilizing the stashing functionality built into Git, git-stashd stores the modified contents of a dirty worktree in a stash, which you can checkout, commit, or discard at a later point.


You can install git-stashd via Homebrew or manually.


brew tap nickolasburr/pfa
brew install git-stashd


By default, git-stashd is installed to /usr/local/bin. You can set the prefix variable when running make to specify an alternate install location.

make install


  • --foreground, -F: Run daemon in foreground. Helpful for debugging.
  • --interval, -I: Interval (in seconds) to check for changes. Defaults to 600 (10 minutes).
  • --log-file, -L: Path to alternate log file. Default location is $HOME/git-stashd.log.
  • --max-entries, -M: Maximum number of entries a stash should hold. Once the threshold has been met, the daemon will exit.
  • --path, -P: Path to Git repository. Defaults to cwd.


Start daemon for repository ~/projects/example

# You can omit --path ~/projects/example, if currently in the ~/projects/example directory.
git stashd --path ~/projects/example

Start daemon for repository ~/projects/example with an interval of 30 seconds

git stashd --path ~/projects/example --interval 30

Start daemon in foreground for repository ~/projects/example with an interval of 5 minutes

git stashd --foreground --path ~/projects/example --interval 300