post-git-alias provides Git aliases as PowerShell functions for use with posh-git.
They are the PowerShell counterpart to the Git aliases from OhMyZsh.
Based on Alex Zeitler's repo.
Just clone this repository and source the posh-git-alias.ps1
in your PowerShell Profile:
git clone [email protected]:yoyosan/posh-git-alias.git
Find your PowerShell Profile:
$PROFILE
# returns:
# C:\Users\yoyosan\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Edit this file:
C:\Notepad $PROFILE
Add this line at the end of your Microsoft.PowerShell_profile.ps1
file:
. <ABSOLUTE-PATH-TO-THE-FILE>\posh-git-alias.ps1
Re-run PowerShell or reload your Profile:
C:\. $PROFILE
Note: Some of the aliases might not work since this is a WIP and I'm not using some of them frequently.
If you find any bugs, please file an issue or send me a PR.
Alias | Command |
---|---|
g | git |
ga | git add |
gau | git add -u |
gaa | git add --all |
gapa | git add --patch |
gb | git branch |
gba | git branch -a |
gbd | git branch -d |
gbl | git blame -b -w |
gbnm | git branch --no-merged |
gbr | git branch --remote |
gbs | git bisect |
gbsb | git bisect bad |
gbsg | git bisect good |
gbsr | git bisect reset |
gbss | git bisect start |
gc- | git commit -v |
gc! | git commit -v --amend |
gca | git commit -v -a |
gca! | git commit -v -a --amend |
gcan! | git commit -v -a --no-edit --amend |
gcans! | git commit -v -a -s --no-edit --amend |
gcam | git commit -a -m |
gcsm | git commit -s -m |
gcb | git checkout -b |
gcf | git config --list |
gcl | git clone --recursive |
gclean | git clean -id |
gpristine | git reset --hard && git clean -dfx |
gcm | git checkout master |
gcd | git checkout develop |
gcmsg | git commit -m |
gco | git checkout |
gcount | git shortlog -sn |
gcp | git cherry-pick |
gcpa | git cherry-pick --abort |
gcpc | git cherry-pick --continue |
gcs | git commit -S |
gd | git diff |
gdca | git diff --cached |
gdct | git describe --tags `git rev-list --tags --max-count=1` |
gds | git diff --staged |
gdt | git diff-tree --no-commit-id --name-only -r |
gdw | git diff --word-diff |
gf | git fetch |
gfa | git fetch --all --prune |
gfo | git fetch origin |
gg | git gui citool |
gga | git gui citool --amend |
ggpnp | git pull origin |
ggpull | git pull origin $(current_branch) |
ggl | git pull origin $(current_branch) |
ggpur | git pull --rebase origin $(current_branch) |
glum | git pull upstream master |
ggpush | git push origin $(current_branch) |
ggp | git push origin $(current_branch) |
ggfl | git push --force-with-lease origin <your_argument>/$(current_branch) |
ggsup | git branch --set-upstream-to=origin/$(current_branch) |
gpsup | git push --set-upstream origin |
gignore | git update-index --assume-unchanged |
gignored | git ls-files -v | grep "^[[:lower:]]" |
git-svn-dcommit-push | git svn dcommit && git push github master:svntrunk |
gk | gitk --all --branches |
gl- | git pull |
glg | git log --stat --max-count = 10 |
glgg | git log --graph --max-count = 10 |
glgga | git log --graph --decorate --all |
glo | git log --oneline --decorate --color |
glog | git log --oneline --decorate --color --graph |
glp | _git_log_prettily (git log --pretty=$1) |
gm | git merge |
gma | git merge --abort |
gmt | git mergetool --no-prompt |
gp- | git push |
gpoat | git push origin --all && git push origin --tags |
gr | git remote |
grb | git rebase |
grba | git rebase --abort |
grbc | git rebase --continue |
grbd | git rebase develop |
grbm | git rebase master |
grbs | git rebase --skip |
grbi | git rebase -i |
grh | git reset HEAD |
grhh | git reset HEAD --hard |
grmv | git remote rename |
grrm | git remote remove |
grs | git restore |
grset | git remote set-url |
grt | cd $(git rev-parse --show-toplevel || echo ".") |
grup | git remote update |
grv | git remote -v |
gsd | git svn dcommit |
gsps | git show --pretty = short --show-signature |
gsr | git svn rebase |
gss | git status -s |
gst | git status |
gsta | git stash save |
gstaa | git stash apply |
gstd | git stash drop |
gstl | git stash list |
gstp | git stash pop |
gsts | git stash show --text |
gsu | git submodule update |
gts | git tag -s |
gunignore | git update-index --no-assume-unchanged |
gunwip | git log -n 1 | grep -q -c "--wip--" && git reset HEAD~1 |
gup | git pull --rebase |
gvt | git verify-tag |
gwch | git whatchanged -p --abbrev-commit --pretty = medium |
gwip | git add -A; git ls-files --deleted -z | xargs -r0 git rm; git commit -m "--wip--" |