资讯专栏INFORMATION COLUMN

oh-my-zsh git 命令缩写 以及macbook使用感受

刘明 / 2000人阅读

摘要:最近切换到上开发自然就用上了。本来在上使用时,我有自定义的一套缩写。既然提供很多强大的缩写,那么我也没必要自己再搞一套。本来我还纠结买好,还是买好最终买了想看使用体会的。可以看文章最后。对比我十几年的使用体会,谈谈使用三天的感受。

最近切换到mac上开发,自然就用上了oh-my-zsh。本来在windows上使用git时,我有自定义的一套缩写。既然ohmyzsh提供很多强大的缩写,那么我也没必要自己再搞一套。

本来我还纠结买x1carbon好,还是买macbook pro好?最终买了macbook, 想看使用体会的。可以看文章最后。

1 常用的配置
alias ga="git add"
alias gb="git branch"
alias gba="git branch -a"
alias gbd="git branch -d"
alias gcam="git commit -a -m"
alias gcb="git checkout -b"
alias gco="git checkout"
alias gcp="git cherry-pick"
alias gd="git diff"
alias gfo="git fetch origin"
alias ggpush="git push origin $(git_current_branch)"
alias ggsup="git branch --set-upstream-to=origin/$(git_current_branch)"
alias glgp="git log --stat -p"
alias gm="git merge"
alias gp="git push"
alias gst="git status"
alias gsta="git stash save"
alias gstp="git stash pop"
2 所有的配置

参考: https://github.com/robbyrusse...

alias g="git"

alias ga="git add"
alias gaa="git add --all"
alias gapa="git add --patch"
alias gau="git add --update"

alias gb="git branch"
alias gba="git branch -a"
alias gbd="git branch -d"
alias gbda="git branch --no-color --merged | command grep -vE "^(*|s*(master|develop|dev)s*$)" | command xargs -n 1 git branch -d"
alias gbl="git blame -b -w"
alias gbnm="git branch --no-merged"
alias gbr="git branch --remote"
alias gbs="git bisect"
alias gbsb="git bisect bad"
alias gbsg="git bisect good"
alias gbsr="git bisect reset"
alias gbss="git bisect start"

alias gc="git commit -v"
alias gc!="git commit -v --amend"
alias gcn!="git commit -v --no-edit --amend"
alias gca="git commit -v -a"
alias gca!="git commit -v -a --amend"
alias gcan!="git commit -v -a --no-edit --amend"
alias gcans!="git commit -v -a -s --no-edit --amend"
alias gcam="git commit -a -m"
alias gcsm="git commit -s -m"
alias gcb="git checkout -b"
alias gcf="git config --list"
alias gcl="git clone --recursive"
alias gclean="git clean -fd"
alias gpristine="git reset --hard && git clean -dfx"
alias gcm="git checkout master"
alias gcd="git checkout develop"
alias gcmsg="git commit -m"
alias gco="git checkout"
alias gcount="git shortlog -sn"
compdef _git gcount
alias gcp="git cherry-pick"
alias gcpa="git cherry-pick --abort"
alias gcpc="git cherry-pick --continue"
alias gcs="git commit -S"

alias gd="git diff"
alias gdca="git diff --cached"
alias gdct="git describe --tags `git rev-list --tags --max-count=1`"
alias gdt="git diff-tree --no-commit-id --name-only -r"
alias gdw="git diff --word-diff"

gdv() { git diff -w "$@" | view - }
compdef _git gdv=git-diff

alias gf="git fetch"
alias gfa="git fetch --all --prune"
alias gfo="git fetch origin"

function gfg() { git ls-files | grep $@ }
compdef _grep gfg

alias gg="git gui citool"
alias gga="git gui citool --amend"

ggf() {
  [[ "$#" != 1 ]] && local b="$(git_current_branch)"
  git push --force origin "${b:=$1}"
}
compdef _git ggf=git-checkout

ggl() {
  if [[ "$#" != 0 ]] && [[ "$#" != 1 ]]; then
    git pull origin "${*}"
  else
    [[ "$#" == 0 ]] && local b="$(git_current_branch)"
    git pull origin "${b:=$1}"
  fi
}
compdef _git ggl=git-checkout

ggp() {
  if [[ "$#" != 0 ]] && [[ "$#" != 1 ]]; then
    git push origin "${*}"
  else
    [[ "$#" == 0 ]] && local b="$(git_current_branch)"
    git push origin "${b:=$1}"
  fi
}
compdef _git ggp=git-checkout

ggpnp() {
  if [[ "$#" == 0 ]]; then
    ggl && ggp
  else
    ggl "${*}" && ggp "${*}"
  fi
}
compdef _git ggpnp=git-checkout

ggu() {
  [[ "$#" != 1 ]] && local b="$(git_current_branch)"
  git pull --rebase origin "${b:=$1}"
}
compdef _git ggu=git-checkout

alias ggpur="ggu"
compdef _git ggpur=git-checkout

alias ggpull="git pull origin $(git_current_branch)"
compdef _git ggpull=git-checkout

alias ggpush="git push origin $(git_current_branch)"
compdef _git ggpush=git-checkout

alias ggsup="git branch --set-upstream-to=origin/$(git_current_branch)"
alias gpsup="git push --set-upstream origin $(git_current_branch)"

alias ghh="git help"

alias gignore="git update-index --assume-unchanged"
alias gignored="git ls-files -v | grep "^[[:lower:]]""
alias git-svn-dcommit-push="git svn dcommit && git push github master:svntrunk"
compdef _git git-svn-dcommit-push=git

alias gk="gitk --all --branches"
compdef _git gk="gitk"
alias gke="gitk --all $(git log -g --pretty=%h)"
compdef _git gke="gitk"

alias gl="git pull"
alias glg="git log --stat"
alias glgp="git log --stat -p"
alias glgg="git log --graph"
alias glgga="git log --graph --decorate --all"
alias glgm="git log --graph --max-count=10"
alias glo="git log --oneline --decorate"
alias glol="git log --graph --pretty="%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit"
alias glola="git log --graph --pretty="%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --all"
alias glog="git log --oneline --decorate --graph"
alias gloga="git log --oneline --decorate --graph --all"
alias glp="_git_log_prettily"
compdef _git glp=git-log

alias gm="git merge"
alias gmom="git merge origin/master"
alias gmt="git mergetool --no-prompt"
alias gmtvim="git mergetool --no-prompt --tool=vimdiff"
alias gmum="git merge upstream/master"

alias gp="git push"
alias gpd="git push --dry-run"
alias gpoat="git push origin --all && git push origin --tags"
compdef _git gpoat=git-push
alias gpu="git push upstream"
alias gpv="git push -v"

alias gr="git remote"
alias gra="git remote add"
alias grb="git rebase"
alias grba="git rebase --abort"
alias grbc="git rebase --continue"
alias grbi="git rebase -i"
alias grbm="git rebase master"
alias grbs="git rebase --skip"
alias grh="git reset HEAD"
alias grhh="git reset HEAD --hard"
alias grmv="git remote rename"
alias grrm="git remote remove"
alias grset="git remote set-url"
alias grt="cd $(git rev-parse --show-toplevel || echo ".")"
alias gru="git reset --"
alias grup="git remote update"
alias grv="git remote -v"

alias gsb="git status -sb"
alias gsd="git svn dcommit"
alias gsi="git submodule init"
alias gsps="git show --pretty=short --show-signature"
alias gsr="git svn rebase"
alias gss="git status -s"
alias gst="git status"
alias gsta="git stash save"
alias gstaa="git stash apply"
alias gstc="git stash clear"
alias gstd="git stash drop"
alias gstl="git stash list"
alias gstp="git stash pop"
alias gsts="git stash show --text"
alias gsu="git submodule update"

alias gts="git tag -s"
alias gtv="git tag | sort -V"

alias gunignore="git update-index --no-assume-unchanged"
alias gunwip="git log -n 1 | grep -q -c "--wip--" && git reset HEAD~1"
alias gup="git pull --rebase"
alias gupv="git pull --rebase -v"
alias glum="git pull upstream master"

alias gwch="git whatchanged -p --abbrev-commit --pretty=medium"
alias gwip="git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify -m "--wip-- [skip ci]""
3 最后

macbook是让我又舒服又难受的产品。对比我十几年的windows使用体会,谈谈使用三天macbook的感受。

舒服的理由如下

视网膜屏幕写代码真的很舒服

oh-my-zsh,alfred等mac上的神器用起来真舒服

触摸板真的用起来很舒服,基本上不用鼠标

偶尔想起一件事情,打开电脑就能用,很舒服

背在包里感觉不到重量,很舒服

QQ不会弹出烦人的广告,很舒服

软件的界面颜值都很高,字体舒服

难受的理由如下

接口真少的可怜,只有两个雷电接口,一个耳机借口。插个usb还要买转接线,转接线都不便宜。

各种window软件使用不舒服,要在虚拟机里面搞,难受

不知道为什么,mac版的谷歌浏览器最近崩溃频率有点高,难受

结论:如果你无法接受我最坏的一面,你也不配拥有我最好的一面。——玛丽莲·梦露

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/91864.html

相关文章

  • 入手阿里云新服务器的部署NODE

    摘要:入手后先用来升级一下设置非用户新增用户为你的服务器新增一个用户用户名密码设置新增用户之后就设置为非登录的,新用户可以登录修改这样就可以禁止用户登录了。 入手后先用 yum -y update 来升级一下 1 设置非root用户 1.1 新增用户 为你的服务器新增一个用户 useradd 用户名 passwd 密码 1.2 设置ssh 新增用户之后就设置root为非ssh登录的,新用户可...

    oogh 评论0 收藏0

发表评论

0条评论

刘明

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<