🔫  `git unstage` as a service: a Git plugin for the shell that automagically remembers all the different commands there are to remove files from staging and when to use each
✅ add the ability to unstage all files: gunstage --all
✅ more elegant variable-value deletion
✅ POSIX-conformant Bourne shell scripts of the /bin/sh
variety only for maximum portability.
✅ treat arguments as an array rather than a string, restoring the ability to unstage files and directories, even when their names have spaces (fix #37)
✅ adopt @gggritso’s git reset -q HEAD --
(source (via)), which works in modern and ancient Git, even in new repositories without commits (fix #41)
✅ git unstage
now functions like any other git
command (big thanks to Joe Block (@unixorn) on #32
✅ gunstage
retains identical functionality
✅ restore BusyBox compatibility (grep --quiet
doesn’t port, but grep -q
does; #27, #29)
✅ expand gunstage
to work with --version
s of git
before mid‑2019’s 2.23 (#7)
✅ behind-the-scenes fixes for better automated testing ✅ repaired link to Super-Linter workflow results
✅ restore the ability to git unstage
multiple files gunstage file1.txt file2.txt
✅ retain memory-leak control introduced in v1.1.1
✅ protect the content of the $unstage
variable by unset
ting when it’s used
✅ make file name @ohmyzsh‑ready
✅ expand failure message
✅ use a programmatically set return
status