git/README.md

2.3 KiB

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.

  • abandon abandons all local changes leave a clean repository.
  • unstage unstage staged changes, shorthand for git reset -q HEAD --.
  • amend amends the last commit, shorthand for git commit --amend.
  • unamend applies a negative diff of the last git commit --amend.
  • fixup prepare to fixup a commit, shorthand for git commit --fixup.
  • squash prepare to squash a commit, shorthand for git commit --squash.
  • prepare prepare a branch for merging into another, shorthand for git rebase --interactive --fork-point.
  • list list local branches, a shorthand for git branch.
  • local list local branches which don't have remote tracking branches.
  • create creates a new branch, shorthand for git checkout -b.
  • delete deletes an existing branch, shorthand for git branch -D.
  • refname the name of the current branch.
  • publish push and set the tracking branch of a local branch to origin, shorthand for git push -u origin <branch>.
  • unpublish delete a remote branch, shorthand for git push origin :<branch>.
  • force force push local changes to the remote, shorthand for git push --force-with-lease.
  • changes compare the list of commits on the local branch to another branch, e.g. when on a feature branch git changes master lists the commits which are not present on the master branch.
  • touched lists the files which were touched by a selected commit.
  • save like pushing to the stash but attached to the current branch, shorthand for git commit -am "temp!".
  • load like popping from the stash but attached to the current branch, if HEAD has the subject temp! then git reset --mixed HEAD~ is executed, otherwise the message error: 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 changes completions for the branch name to compare with are provided.