Git-NumberedAdd for PowerShellposted in productivity on • by Wouter Van Schandevijl
After copying file paths from
git status output and pasting them after a
git add quite a few times
by now, I’ve written a small PowerShell script
to stage the files by index.
Git-NumberedStatus (alias: gs)
Displays the output of
git status --short together with fabricated indexes like so
Working directory color codes:
- Yellow: Modified (file0 to file3)
- DarkMagenta: Deleted (file4)
- Blue: Added (file5)
Configure the colors by modifying
$global:gitStatusNumbers.includeNumstat is true, Git-NumberedStatus will also
git diff --numstat and add lines added/deleted to the output.
Git-NumberedAdd (alias: ga)
All set to stage some files!
PS> Git-NumberedAdd 0 1 2 add 'file0' add 'file1' add 'file2'
The same can be achieved with:
Git-NumberedAdd 012(but only if there is a max of 10 files in the git status)
Git-NumberedAdd +3 would add file4 and file5 in the above scenario.
Git-NumberedDiff (alias: gd)
Git-NumberedAdd but can also be called without arguments to
see the diff of all files. It will call
git add -N for all newly created
files so that they also show up in the diff.
git diff --cached is currently not implemented in this script.
Git-NumberedReset (alias: grs)
This only works for files already staged. Example output:
To, for example unstage file0 and file4
PS> Git-NumberedReset 02 Unstaged changes after reset: M file0 M file1 M file2 D file4
Sometime similar is actually built into Git itself
git add --interactive # or -i for short
Once in interactive mode:
And then use
2: Update to stage files.
Also, see below for similar implementations in Bash and Perl.