aliases.ps1
. $PSScriptRoot\utils.ps1 # Prevent conflict with built-in aliases Remove-Alias gc -Force -ErrorAction SilentlyContinue Remove-Alias gcb -Force -ErrorAction SilentlyContinue Remove-Alias gcm -Force -ErrorAction SilentlyContinue Remove-Alias gcs -Force -ErrorAction SilentlyContinue Remove-Alias gl -Force -ErrorAction SilentlyContinue Remove-Alias gm -Force -ErrorAction SilentlyContinue Remove-Alias gp -Force -ErrorAction SilentlyContinue Remove-Alias gpv -Force -ErrorAction SilentlyContinue function g { git $args } function ga { git add $args } function gaa { git add --all $args } function gapa { git add --patch $args } function gau { git add --update $args } function gav { git add --verbose $args } function gap { git apply $args } function gapt { git apply --3way $args } function gb { git branch $args } function gba { git branch --all $args } function gbd { git branch --delete $args } function gbda { $MainBranch = Get-Git-MainBranch $MergedBranchs = $(git branch --merged | Select-String "^(\*|\s*($MainBranch|develop|dev)\s*$)" -NotMatch).Line $MergedBranchs | ForEach-Object { if ([string]::IsNullOrEmpty($_)) { return } git branch -d $_.Trim() } } function gbD { git branch --delete --force $args } # TODO gbg 'git branch -vv | grep ": gone\]"' # TODO gbgd 'local res=$(gbg | awk '"'"'{print $1}'"'"') && [[ $res ]] && echo $res | xargs git branch -d' # TODO gbgD 'local res=$(gbg | awk '"'"'{print $1}'"'"') && [[ $res ]] && echo $res | xargs git branch -D' function gbl { git blame -b -w $args } function gbnm { git branch --no-merged $args } function gbr { git branch --remote $args } function gbs { git bisect $args } function gbsb { git bisect bad $args } function gbsg { git bisect good $args } function gbsr { git bisect reset $args } function gbss { git bisect start $args } function gc { git commit -v $args } function gc! { git commit -v --amend $args } function gcn! { git commit -v --no-edit --amend $args } function gca { git commit -v -a $args } function gca! { git commit -v -a --amend $args } function gcan! { git commit -v -a --no-edit --amend $args } function gcans! { git commit -v -a -s --no-edit --amend $args } function gcam { git commit -a -m $args } function gcsm { git commit --signoff --message $args } function gcas { git commit -a --signoff $args } function gcasm { git commit --all --signoff --message $args } function gcb { git checkout -b $args } function gcf { git config --list $args } # TODO gccd function gcl { git clone --recursive $args } function gclean { git clean -df $args } function gpristine { git reset --hard git clean -dfx } function gcm { $MainBranch = Get-Git-MainBranch git checkout $MainBranch $args } function gcd { git checkout develop $args } function gcmsg { git commit -m $args } function gco { git checkout $args } function gcor { git checkout --recurse-submodules $args } function gcount { git shortlog -sn $args } function gcp { git cherry-pick $args } function gcpa { git cherry-pick --abort $args } function gcpc { git cherry-pick --continue $args } function gcs { git commit -S $args } function gcss { git commit --gpg-sign --signoff $args } function gcssm { git commit --gpg-sign --signoff --message $args } function gd { git diff $args } function gdca { git diff --cached $args } function gdcw { git diff --cached --word-diff $args } # todo gdct 'git describe --tags $(git rev-list --tags --max-count=1)' function gds { git diff --staged $args } function gdt { git diff-tree --no-commit-id --name-only -r $args } # todo gdup 'git diff @{upstream}' function gdw { git diff --word-diff $args } # todo gdnolock # todo gdv function gf { git fetch $args } function gfa { # todo --jobs git fetch --all --prune $args } function gfo { git fetch origin $args } # todo gfg 'git ls-files | grep' function gg { git gui citool $args } function gga { git gui citool --amend $args } function ggf { $CurrentBranch = Get-Git-CurrentBranch git push --force origin $CurrentBranch } function ggfl { $CurrentBranch = Get-Git-CurrentBranch git push --force-with-lease origin $CurrentBranch } function ggl { $CurrentBranch = Get-Git-CurrentBranch git pull origin $CurrentBranch } function ggp { $CurrentBranch = Get-Git-CurrentBranch git push origin $CurrentBranch } # todo ggpnp # todo ggu function ggsup { $CurrentBranch = Get-Git-CurrentBranch git branch --set-upstream-to=origin/$CurrentBranch } function gpsup { $CurrentBranch = Get-Git-CurrentBranch git push --set-upstream origin $CurrentBranch } function ghh { git help $args } function gignore { git update-index --assume-unchanged $args } function gignored { git ls-files -v | Select-String "^[a-z]" -CaseSensitive } # todo git-svn-dcommit-push function gl { git pull $args } function glg { git log --stat --color $args } function glgp { git log --stat --patch $args } function glgg { git log --graph --color $args } function glgga { git log --graph --decorate --all $args } function glgm { git log --graph --max-count=10 $args } function glo { git log --oneline --decorate --color $args } function glol { git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit $args } # todo glols # todo glod # todo glods function glola { git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all $args } function glog { git log --oneline --decorate --color --graph $args } function gloga { git log --oneline --decorate --color --graph --all $args } # todo glp function gm { git merge $args } function gmom { $MainBranch = Get-Git-MainBranch git merge origin/$MainBranch $args } function gmtl { git mergetool --no-prompt $args } function gmtlvim { git mergetool --no-prompt --tool=vimdiff $args } function gmum { $MainBranch = Get-Git-MainBranch git merge upstream/$MainBranch $args } function gma { git merge --abort } function gp { git push $args } function gpd { git push --dry-run $args } function gpf { # todo --force-if-includes git push --force-with-lease $args } function gpf! { git push --force $args } function gpoat { git push origin --all git push origin --tags } function gpod { git push origin --delete $args } function gpr { git pull --rebase $args } function gpu { git push upstream $args } function gpv { git push -v $args } function gr { git remote $args } function gra { git remote add $args } function grb { git rebase $args } function grba { git rebase --abort $args } function grbc { git rebase --continue $args } # todo grbd 'git rebase $(git_develop_branch)' function grbi { git rebase -i $args } function grbm { $MainBranch = Get-Git-MainBranch git rebase $MainBranch $args } function grbom { $MainBranch = Get-Git-MainBranch git rebase origin/$MainBranch $args } function grbo { git rebase --onto $args } function grbs { git rebase --skip $args } function grev { git revert } function grh { git reset $args } function grhh { git reset --hard $args } function groh { $CurrentBranch = Get-Git-CurrentBranch git reset origin/$CurrentBranch --hard $args } function grm { git rm $args } function grmc { git rm --cached $args } function grmv { git remote rename $args } function grrm { git remote remove $args } function grs { git restore $args } function grset { git remote set-url $args } function grss { git restore --source $args } function grst { git restore --staged $args } function grt { try { $RootPath = git rev-parse --show-toplevel } catch { $RootPath = "." } Set-Location $RootPath } function gru { git reset -- $args } function grup { git remote update $args } function grv { git remote -v $args } function gsb { git status -sb $args } function gsd { git svn dcommit $args } function gsh { git show $args } function gsi { git submodule init $args } function gsps { git show --pretty=short --show-signature $args } function gsr { git svn rebase $args } function gss { git status -s $args } function gst { git status $args } function gsta { # todo git stash push git stash save $args } function gstaa { git stash apply $args } function gstc { git stash clear $args } function gstd { git stash drop $args } function gstl { git stash list $args } function gstp { git stash pop $args } function gsts { git stash show --text $args } function gstu { gsta --include-untracked $args } function gstall { git stash --all $args } function gsu { git submodule update $args } function gsw { git switch $args } function gswc { git switch --create $args } function gwsm { $MainBranch = Get-Git-MainBranch git switch $MainBranch $args } # todo gswd 'git switch $(git_develop_branch)' function gts { git tag -s $args } # todo gtv 'git tag | sort -V' # todo gtl 'gtl(){ git tag --sort=-v:refname -n --list "${1}*" }; noglob gtl' function gunignore { git update-index --no-assume-unchanged $args } function gunwip { Write-Output $(git log -n 1 | Select-String "--wip--" -Quiet).Count git reset HEAD~1 } function gup { git pull --rebase $args } function gupv { git pull --rebase -v $args } function gupa { git pull --rebase --autostash $args } function gupav { git pull --rebase --autostash --verbose $args } function gupom { $MainBranch = Get-Git-MainBranch git pull --rebase origin $MainBranch $args } function gupomi { $MainBranch = Get-Git-MainBranch git pull --rebase=interactive origin $MainBranch $args } function glum { $MainBranch = Get-Git-MainBranch git pull upstream $MainBranch $args } function gluc { $CurrentBranch = Get-Git-CurrentBranch git pull upstream $CurrentBranch $args } function gwch { git whatchanged -p --abbrev-commit --pretty=medium $args } function gwip { git add -A git rm $(git ls-files --deleted) 2> $null git commit --no-verify -m "--wip-- [skip ci]" } function gwt { git worktree $args } function gwta { git worktree add $args } function gwtls { git worktree list $args } function gwtmw { git worktree move $args } function gwtrm { git worktree remove $args } function gam { git am $args } function gamc { git am --continue $args } function gams { git am --skip $args } function gama { git am --abort $args } function gamscp { git am --show-current-patch $args } # todo grename |