Safely amend Git commits after applying auto-fixing tools
git-exec-and-restage
executes a command for you on a set of files. This
command may modify the files (imagine a linter in auto-fix mode, like prettier --write
or eslint --fix
). If the files were fully staged before the command
ran, the changes will be automatically added to the Git index; if they were
partially changed the Git index will remain untouched.
npm install git-exec-and-restage
Manually e.g. with prettier
:
git-exec-and-restage prettier --write -- file1.js file2.js
Automatically e.g. with lint-staged
:
{
"scripts": {
"precommit": "lint-staged"
},
"lint-staged": {
"*.js": ["git-exec-and-restage eslint --fix --"]
}
}
PRs welcome.
This package owes a great deal to Matthew Chase Whittemore's
staged-git-files
.
MIT © Moti Zilberman