git-bash的alias别名设置
正常需要设置别名时,直接使用
1 | alias gs= "git status" |
输入上边的命令之后,就可以使用gs(命令)代替git status(命令),这是一种设置别名简化输入,提升效率的办法
可以根据自己日常的习惯,和自己的理解,按照自己是喜好特点定义自己的一组常用的别名缩写。
然后日常操作就会变得简单很多。
但是,如果只是如此操作,当我们关闭终端窗口的时候,重新启动之后会发现,这个别名消失了。原因是没有永久保存。
如果想永久保存,我们可以做如下操作:
1 | ls ~/.bash_profile |
查看用户目录的.bash_profile文件是否存在,如果存在直接修改,不存在这创建该文件,并编辑其内容
1 | vi ~/.bash_profile |
在该文件中写入最开始的alias 别名="命令"的信息,每行写一个。可以把所有想要设置别名的命令都列到这里。
然后保存该文件退出。此时,所有相关的别名设置基本完成。但是目前并么有马上生效,要不重启终端,要不通过命令
1 | source ~/.bash_profile |
命令执行以后,所有的别名就可以正常使用了,而且如果关掉终端再打开依然可以正常使用。
因为缩写确实是非常的方便,所以很多人都有这样的习惯。这里推荐一些人使用的zshell的一套别名
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | alias gpm= 'git push origin master' alias ...=../.. alias ....=../../.. alias .....=../../../.. alias ......=../../../../.. alias 1= 'cd -' alias 2= 'cd -2' alias 3= 'cd -3' alias 4= 'cd -4' alias 5= 'cd -5' alias 6= 'cd -6' alias 7= 'cd -7' alias 8= 'cd -8' alias 9= 'cd -9' alias _= sudo alias afind= 'ack -il' alias d= 'dirs -v | head -10' 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 gca= 'git commit -v -a' alias 'gca!' = 'git commit -v -a --amend' alias gcam= 'git commit -a -m' alias 'gcan!' = 'git commit -v -a --no-edit --amend' alias 'gcans!' = 'git commit -v -a -s --no-edit --amend' alias gcb= 'git checkout -b' alias gcd= 'git checkout develop' alias gcf= 'git config --list' alias gcl= 'git clone --recursive' alias gclean= 'git clean -fd' alias gcm= 'git checkout master' alias gcmsg= 'git commit -m' alias 'gcn!' = 'git commit -v --no-edit --amend' alias gco= 'git checkout' alias gcount= 'git shortlog -sn' alias gcp= 'git cherry-pick' alias gcpa= 'git cherry-pick --abort' alias gcpc= 'git cherry-pick --continue' alias gcs= 'git commit -S' alias gcsm= 'git commit -s -m' 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' alias gf= 'git fetch' alias gfa= 'git fetch --all --prune' alias gfo= 'git fetch origin' alias gg= 'git gui citool' alias gga= 'git gui citool --amend' alias ggpull= 'git pull origin $(git_current_branch)' alias ggpur=ggu alias ggpush= 'git push origin $(git_current_branch)' alias ggsup= 'git branch --set-upstream-to=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' alias gk= '\gitk --all --branches' alias gke= '\gitk --all $(git log -g --pretty=%h)' alias gl= 'git pull' alias glg= 'git log --stat' alias glgg= 'git log --graph' alias glgga= 'git log --graph --decorate --all' alias glgm= 'git log --graph --max-count=10' alias glgp= 'git log --stat -p' alias glo= 'git log --oneline --decorate' alias globurl= 'noglob urlglobber ' alias glog= 'git log --oneline --decorate --graph' alias gloga= 'git log --oneline --decorate --graph --all' 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 glp=_git_log_prettily alias glum= 'git pull upstream master' 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' alias gpristine= 'git reset --hard && git clean -dfx' alias gpsup= 'git push --set-upstream origin $(git_current_branch)' 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 grep = 'grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn}' 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 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]"' alias history = 'fc -l 1' alias l= 'ls -lah' alias la= 'ls -lAh' alias ll= 'ls -lh' alias ls = 'ls --color=tty' alias lsa= 'ls -lah' alias md= 'mkdir -p' alias please= sudo alias po= popd alias pu= pushd alias rd= rmdir alias which - command =whence |
这套别名还是很方便的。当然其中可能个别不习惯,可以自行修改。改成自己习惯喜欢的就好。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· [翻译] 为什么 Tracebit 用 C# 开发
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 刚刚!百度搜索“换脑”引爆AI圈,正式接入DeepSeek R1满血版