Possible new commands
arxanas opened this issue · 1 comments
arxanas commented
-
git top
/git bottom
to traverse an entire series of commits. (Names need to be revised, since the ordering may be reverse of what's expected.) - Interactive
git checkout
, operating on nodes on the smartlog graph. Could include fuzzy-filtering or EasyMotion-style commit selection. -
git move
as a replacement forgit rebase
, to move entire subtrees. Proposal:--dest
,--base
,--restack
, and--main
flags. -
git sync XXX
to rebase in-progress work onto main branch (orgit sync --all
, orgit sync --onto
). -
git stage
to interactively stage a commit. Should see whattig
does for this. -
git split
to split the current commit (or a provided commit) using repeatedgit stage
s. Splitting should not check out to a different commit, since it shouldn't affect the working copy. -
git absorb
(there's already an implementation ofgit absorb
out there, but it doesn't work unless you have a branch checked out). Absorbing should not check out to a different commit, since it shouldn't affect the working copy. -
git amend
to amend the current commit contents, but not its message. May automatically restack, or have an option to automatically restack? -
git reword
to amend the current commit message, but not its contents. Should be able to safely automatically restack, since it doesn't touch the working copy. -
git uncommit
as a replacement forgit reset --soft HEAD^
, since the latter is unergonomic, and it doesn't hide the given commit from the smartlog. It may be desirable to unstage the previously-committed changes as well; I've never personally wanted to keep them staged after agit reset --soft HEAD^
.
krobelus commented
git absorb (there's already an implementation of git absorb out there, but it doesn't work unless you have a branch checked out).
https://github.com/torbiak/git-autofixup/ should do the job