Common utility commands for Git repositories.
📦 NPM,
🖥️ Shell,
📜 Files,
📘 Wiki.
This is an extension of "git-extras" and "git-extra-commands", including
some additional commonly used git tools; cpush, apush, and xclone.
You can install this with npm install -g extra-git.sh.
Stability: Experimental.
# Commit current changes and push (inc. submodules)
$ egit cpush "message"
# Amend current changes and push (inc. submodules)
$ egit apush
# Clone repository to local (inc. submodules)
$ egit xclone openstack/openstack
# Do a hard reset and delete all untracked files
$ egit clear
# List authors
$ egit authors --list
$ egit authors --list --no-email
# TJ Holowaychuk <tj@vision-media.ca>
# hemanth.hm <hemanth.hm@gmail.com>
# Jonhnny Weslley <jw@jonhnnyweslley.net>
# nickl- <github@jigsoft.co.za>
# Leila Muhtasib <muhtasib@gmail.com>
# Merge commits from src-branch into the current branch as a single commit
$ egit squash fixed-cursor-styling
$ egit squash fixed-cursor-styling "Fixed cursor styling"
$ egit squash 95b7c52
$ egit squash HEAD~3
$ egit squash HEAD~3 "Work on a feature"
# Current branch name in automation-friendly format
$ egit branch-name
# main
# Delete all local branches that have been merged into HEAD
$ egit delete-local-merged
# Show files being ignored by git in the repo
$ egit ignored| Command | Action | 
|---|---|
| abort | Abort current git operation. | 
| add-submodule | Add submodule to repository. | 
| add-username-remote | Adds a remote for the current repository for the given GitHu ... | 
| age | A git-blame viewer, written using PyGTK. | 
| ahead-of-master | Show commits that haven't made it to master yet. | 
| alias | Define, search and show aliases. | 
| amend-push | Amend current changes and push (inc. submodules). | 
| amend-push-submodules | Amend current changes and push all submodules. | 
| apush | Amend current changes and push (inc. submodules). | 
| apush-submodules | Amend current changes and push all submodules. | 
| archive-file | Export the current HEAD of the git repository to an archive. | 
| attic | Displays a list of deleted files in your repository. The out ... | 
| authors | Generate authors report. | 
| authors | Generate authors report. | 
| basename | Get name of repository from URL. | 
| big-file | Show files in the repository larger than a threshold size. | 
| branch-name | Prints the current branch name in automation-friendly format. | 
| branch-rebaser | Kicks off an interactive rebase of all the commits on your b ... | 
| branches-that-touch | Shows which branches touch files under a path that are remot ... | 
| browse | View the web page for the current repository. | 
| brv | List branches sorted by their last commit date. | 
| bulk | Run git commands on multiple repositories. | 
| change-author | Change one author/email in the history to another. | 
| change-log | Transform git log output into a complete Changelog for proje ... | 
| changelog | Generate a changelog report. | 
| changes | Symlink to git-authors. List authors in the repository in de ... | 
| checkout-by-date | Lets you checkout several files at once at the version speci ... | 
| checkout-commit | Uses fzf(https//github.com/junegunn/fzf) to checkout a commi ... | 
| checkout-default-branch | Checks out the default branch of the origin remote so you do ... | 
| checkout-pr | Check out a PR locally. | 
| checkout-preview | Uses fzf(https//github.com/junegunn/fzf) to checkout a branc ... | 
| children-of | Shows the children of a given git commit. | 
| churn | Show which files are getting changed most often in the repos ... | 
| clear | Rigorously clean up a repository. | 
| clear-soft | Soft clean up a repository. | 
| clone-init-submodules | Clone repository to local (inc. submodules). | 
| clone-subset | Uses git clone and git filter-branch to remove from the clon ... | 
| coauthor | Add a co-author to the last commit. | 
| comma | Adds and commits a file in one command. | 
| commit-browser | Uses fzf(https//github.com/junegunn/fzf) to browse commit hi ... | 
| commit-push | Commit current changes and push (inc. submodules). | 
| commit-push-submodules | Commit current changes and push all submodules. | 
| commits-since | Show commit logs since some date. | 
| conflicts | Show files with conflicts. | 
| contrib | Show user's contributions. | 
| copy-branch-name | Copy the current branch's name to the clipboard (macOS Only). | 
| count | Show commit count. | 
| cp | Copy a file keeping its history. | 
| cpush | Commit current changes and push (inc. submodules). | 
| cpush-submodules | Commit current changes and push all submodules. | 
| create-branch | Create branches. | 
| credit | Quicker way to assign credit to another author on the latest ... | 
| current-branch | Prints the name of the current branch with no odd characters ... | 
| cut-branch | Create a new branch pointed at HEAD and reset the curren ... | 
| default-branch | Get default branch (local) of repository. | 
| delete-branch | Delete branches. | 
| delete-dangling-commits | Clean up dangling commits that are not on any branch. | 
| delete-local-merged | Delete all local branches that have been merged into HEAD. | 
| delete-merged-branches | Delete merged branches. | 
| delete-merged-branches | Delete merged branches. | 
| delete-squashed-and-merged-branches | Purges all branches that have been squashed and merged to a ... | 
| delete-squashed-branches | Delete branches that were squashed. | 
| delete-submodule | Delete submodules. | 
| delete-tag | Delete tags. | 
| delete-tag | Delete tags. | 
| delta | Lists changed files. | 
| diff-last | Show the last change made to a file in the repository. | 
| divergence | Shows differences between local branch and its tracking branch. | 
| edit-conflicts | Edit the files that are marked as conflicted during a merge/ ... | 
| effort | Show effort statistics on file(s). | 
| feature | Create/Merge feature branch. | 
| fetch-prs | Get all Pull Request branches as local remote branches by re ... | 
| fetch-pull-requests | Fetch pull requests from GitHub so you can git checkout pull ... | 
| files | List the files different between the current branch and REVI ... | 
| find-dirty | . | 
| flush | Compact your repository by dropping all reflogs, stashes, an ... | 
| force-clone | overwrite local repositories with clone. | 
| force-mtimes | Sets modification times of all files in the repository their ... | 
| forest | Prints a text-based tree visualisation of your repository. R ... | 
| fork | Fork a repo on github. | 
| fresh-branch | Create fresh branches. | 
| fullurl | Get full URL of repository from partial. | 
| functionlog | Allows you to get a git log of a particular function, not a ... | 
| fzf-add | Use fzf(https//github.com/junegunn/fzf) to select files to a ... | 
| fzf-log-browser | Use fzf(https//github.com/junegunn/fzf) to browse the reposi ... | 
| fzf-pickaxe-browser | Use fzf(https//github.com/junegunn/fzf) to display a git log ... | 
| fzf-reflog-browser | Use fzf(https//github.com/junegunn/fzf) to browse the reposi ... | 
| gh-pages | Create the GitHub Pages branch. | 
| git | Typing git git foo will make git do a git foo instead of com ... | 
| github-open | . | 
| gitlab-mr | Open a merge request on GitLab. | 
| graft | Merge and destroy a given branch. | 
| guilt | calculate change between two revisions. | 
| help | Print usage details of a command. | 
| history-graph | Pretty git log, single line per commit, with branch graphing. | 
| ignore | Add .gitignore patterns. | 
| ignore-io | Get sample gitignore file. | 
| ignored | Show files being ignored by git in the repository. | 
| improved-merge | Sophisticated git merge with integrated CI check and automat ... | 
| incoming | Show commits in the tracking branch that are not in the loca ... | 
| info | Returns information on current repository. | 
| init-submodules | Initialize all submodules. | 
| lines | Gives you a list of author names with the number of lines la ... | 
| local-commits | List local commits. | 
| lock | Lock a file excluded from version control. | 
| locked | ls files that have been locked. | 
| ls-branch-files | List files changed between a specifed branch and the current ... | 
| ls-object-refs | Find references to an object with SHA1 in refs, commits, and ... | 
| magic | Automate add/commit/push routines. | 
| maildiff | A simple git command to email diff in color to reviewer/ co- ... | 
| maxpack | Compress a repository's pack files as much as possible. | 
| merge-into | Merge one branch into another. | 
| merge-repo | Merge two repo histories. | 
| missing | Show commits missing from another branch. | 
| move-commits | git move-commits num-commits correct-branch moves the last n ... | 
| mr | Checks out a merge request locally. | 
| name | Get name of repository from URL. | 
| neck | Show commits from the HEAD until the first branching point. ... | 
| nuke | Nukes a branch locally and on the origin remote. | 
| object-deflate | Deflate an loose object file and write to standard output. | 
| obliterate | rewrite past commits to remove some files. | 
| oldest-common-ancestor | Finds the oldest common ancestor commit between two branches. | 
| origin-head | Prints the name of the origin remote's default branch. Not e ... | 
| outgoing | Show commits that are on the local branch that have not been ... | 
| overwritten | Aggregates git blame information about original owners of li ... | 
| paste | Send patches to pastebin for chat conversations. | 
| pie-ify | git pie-ify pattern replacement. | 
| plotrepo | Uses dot to draw a graph of the repository. | 
| pr | Checks out a pull request locally. | 
| promote | Promotes a local topic branch to a remote tracking branch of ... | 
| prune-branches | Deletes each fully merged branch after prompting for confirm ... | 
| pruneall | Prune branches from specified remotes, or all remotes when n ... | 
| psykorebase | Rebase a branch with a merge commit. | 
| publish | git publish remote remote-branch. | 
| pull-request | Create pull request for GitHub project. | 
| purge-from-history | Permanently delete files or folders from your git repository. | 
| pylint | Runs pylint on any .py files modified or added in the git st ... | 
| rank-contributors | Rummages through the changelog and orders contributors by th ... | 
| reauthor | Rewrite history to change author's identity. | 
| rebase-authors | Adds authorship info to interactive git rebase output. | 
| rebase-patch | Rebases a patch. | 
| rebase-theirs | Resolve rebase conflicts by favoring 'theirs' version. | 
| recent | Shows information about most recent commit on all local bran ... | 
| recently-checkedout-branches | Shows timestamp and name of recently checked-out branches in ... | 
| ref-recent | Shows the date, branch name, commit hash, and commit subject ... | 
| rel | Shows the relationship between the current branch and ref. ... | 
| related | Show other files that often get changed in commits that touc ... | 
| release | Commit, tag and push changes to the repository. | 
| remote-default-branch | Shows the default branch for a specified remote, defaults to ... | 
| rename-branch | rename local branch and push to remote. | 
| rename-branches | Rename multiple branches that start with a given name. | 
| rename-remote | Rename a remote. | 
| rename-tag | Rename a tag. | 
| repl | git read-eval-print-loop. | 
| reset-file | Reset one file. | 
| reset-with-fire | Hard reset the working directory, then zap any files not kno ... | 
| restore-mtime | Change mtime of files based on commit date of last change. | 
| reup | Like git pull but show a short and sexy log of changes after ... | 
| rm-deleted-from-repo | Removes files you deleted with rm from the repository for you. | 
| root | show path of root. | 
| root-directory | Prints the path to the root of the git repository you're in. | 
| roots | Show the root commits. | 
| run-command-on-revisions | Runs a given command over a range of git revisions. | 
| scp | Copy files to SSH compatible git-remote. | 
| sed | replace patterns in git-controlled files. | 
| setup | Set up a git repository. | 
| shamend | Amends your staged changes as a fixup (keeping the pre-exist ... | 
| show-merged-branches | Show merged branches. | 
| show-overwritten | Aggregates git blame information about the original owners o ... | 
| show-tree | show branch tree of commit history. | 
| show-unmerged-branches | Show unmerged branches. | 
| shrink-repo | Shrinks your clone of a git repository. | 
| sp | Simple push, single short command to commit, and push. Use - ... | 
| squash | squash N last changes up to a ref'ed commit. | 
| sr | Use fzf to switch to a different git ref. | 
| stamp | Stamp the last commit message. | 
| standup | Recall the commit history. | 
| stats | Displays stats for the files different between the current b ... | 
| submodule-rm | Allows you to remove a submodule easily with git submodule-r ... | 
| summary | Show repository summary. | 
| switch-branch | Make it easier to switch to a branch by a substring of its n ... | 
| sync | Sync local branch with remote branch. | 
| tag-and-sign | Create and sign a new tag. | 
| tag-diff | Show the differences between local tags and ones on the remo ... | 
| thanks | List the contributors to a repository in descending commit o ... | 
| touch | Touch and add file to the index. | 
| track | Sets up your branch to track a remote branch. Assumes you me ... | 
| trail | Show all branching points in the repository's git history so ... | 
| undelete | Undeletes a file. | 
| undo | Remove latest commits. | 
| undo | Remove latest commits. | 
| undo-push | Undoes your last push to branch 1 of origin. | 
| unlock | Unlock a file excluded from version control. | 
| unpushed | Show which commits have not been pushed to the tracking bran ... | 
| unreleased | Shows git commits since the last tagged version. | 
| up | Like git pull but show a short and sexy log of changes after ... | 
| upstream-sync | Fetches upstream/yourforkname and rebases it into your loc ... | 
| url | Get full URL of repository from partial. | 
| utimes | Change files modification time to their last commit date. | 
| what-the-hell-just-happened | Show what just happened. | 
| when-merged | Find when a commit was merged into one or more branches. | 
| where | Shows where a particular commit falls between releases. | 
| whoami | Shows what username email you have configured for the repos ... | 
| winner | Shows what authors have made the most commits, both by numbe ... | 
| wordiness | Shows how wordy people's commit messages are. Useful for sha ... | 
| work-in-progress | Starts an interactive rebase of all the commits you haven't ... | 
| wtf | git-wtf displays the state of your repository in a readable, ... | 
| xclone | Clone repository to local (inc. submodules). | 
- git-extras package by TJ Holowaychuk
- git-extra-commands package by Joe Block
- gitly package by Takeshi
- commitizen package by Jim Cummins and others
- git-up package by Ionică Bizău (Johnny B.)
- gitlog package by Dom Harrington
- git-utils package by Kevin Sawicki and others
- isomorphic-git package by Billie Hilton and others
- git-url-parse package by Ionică Bizău (Johnny B.)
- git-rev-sync package by Kurt Ericson
- hosted-git-info package by Rebecca Turner and others
- husky package by @typicode
- simple-git package by Steve King
- git package by Christian Amor Kvalheim
- git-extras package by @akunchen
- @johnls/git-extra package by John Lyon-Smith
- git-multi-profile package by Adaptable Bytes LLC
- dugite-extra package by Akos Kitta and others
- Get path of current script when executed through a symlink
