For those looking for multiple staging areas in Git, git-cl
provides this functionality.
Instead of repeatedly cycling through git add -p
, you can organise changes by intent at the file level:
git cl add bugfixes solver.py utils.py # Bug fixes
git cl add features analysis.py plotting.py # New features
git cl status # See organised changes
git cl commit bugfixes -m "Fix convergence issues"
For scenarios involving many smaller commits from a large changeset, you can organise changes as you work (git cl add hotfix equations.py
) then commit each logical group when ready. This solves the multiple staging area problem while working with Git's existing staging model