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 <[email protected]>
# hemanth.hm <[email protected]>
# Jonhnny Weslley <[email protected]>
# nickl- <[email protected]>
# Leila Muhtasib <[email protected]>
# 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