* Rename the `squash` alias to `prepare` to repurpose it. * Change `squash` alias to `git commit --squash=<commit>`. * Add `fixup` alias to `git commit --fixup=<commit>`. * Set the `rebase.autoSquash` config option to `true`.
Git Configuration
Aliases
A set of Git aliases which follow the idea "say what you mean" rather than remembering the plumbing term of a specific command.
abandonabandons all local changes leave a clean repository.unstageunstage staged changes, shorthand forgit reset -q HEAD --.amendamends the last commit, shorthand forgit commit --amend.fixupprepare a fixup commit for use withgit rebase --autosquash, shorthand forgit commit --fixup=<commit>.squashprepare a squash commit for use withgit rebase --autosquash, shorthand forgit commit --squash=<commit>.prepareprepare a branch for merging into another, shorthand forgit rebase --interactive --fork-point.listlist local branches, a shorthand forgit branch.createcreates a new branch, shorthand forgit checkout -b.deletedeletes an existing branch, shorthand forgit branch -D.namethe name of the current branch.lastthe name of the last branch checked out before the current branch.checkout-lastcheckout the last branch, shorthand forgit checkout $(git last).publishpush and set the tracking branch of a local branch to origin, shorthand forgit push -u origin <branch>.unpublishdelete a remote branch, shorthand forgit push origin :<branch>.forceforce push local changes to the remote, shorthand forgit push --force-with-lease.changescompare the list of commits on the local branch to another branch, e.g. when on a feature branchgit changes masterlists the commits which are not present on the master branch.savelike pushing to the stash but attached to the current branch, shorthand forgit commit -am "temp!".loadlike popping from the stash but attached to the current branch, ifHEADhas the subjecttemp!thengit reset --mixed HEAD~is executed, otherwise the messageerror: commit subject is not: temp!is output.
Zsh Completions
The excellent Git completions provided by Zsh which can see through aliases however some aliases involve multiple commands or rely on the shell to function. The following aliases extend the default Git completions.
git changescompletions for the branch name to compare with are provided.git fixup/git squashcompletions for recent commits to fixup/squash are provided.
Description
Languages
Shell
100%