git命令行的别名缩写

风格格 发布于 2015/11/30 13:56
阅读 3K+
收藏 0
Git

开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>

程序员都是"懒惰"的,哪怕是执行一个命令的时候少敲了一个字母也感觉特舒坦。Git就允许为命令设置别名。

有些程序员可能会有某几个单词敲的特别不习惯,比如总把push敲成psuh,那索性就可以把 psuh 作为 push 的一个别名加到配置文件中,多省事。


这是查找git 别名的设置时的一段文字

我只想问,怎么在git命令行中把 "git status" 这个命令的“git ” 去掉, 直接敲status就行。

可以把git status  写出 git st , 却不可以写成 st。 这让我很不舒坦啊。 既然把git说的这么好这么方便, 为什么不把git也去掉





加载中
0
__JM_Joy__
__JM_Joy__
alias st='git status'
风格格
风格格
试了下 并不能行,反而会导致git st都用不了 $ st sh.exe": st: command not found $ git st Expansion of alias 'st' failed; 'git' is not a git command
0
风格格
风格格

引用来自“__JM_Joy__”的评论

alias st='git status'

试了下 并不能行,反而会导致git st都用不了

 $ st

 sh.exe": st: command not found

 $ git st

 Expansion of alias 'st' failed; 'git' is not a git command 

wuyiw
wuyiw
回复 @风格格 : 你想去掉"git", 就必须要用bash的alias, 先 git config --unset alias.st 删掉git配置的alias. 然后在bash里面 alias st='git status'
风格格
风格格
回复 @wuyiw : 对的 应该配置到哪个地方呢
wuyiw
wuyiw
你是不是把这个alias配置到git里面了. (比如git config alias.st 'git status')
0
wuyiw
wuyiw

为什么不把git也去掉

因为会冲突啊, 比如help

风格格
风格格
我的理解是 进入到一个git的操作环境下, 这个时候所有命令相当于带有git前缀, help 就是git help。 退出这种环境后 help就是原来的help。 有点类似于mysql 的命令列。 cmd里面 select会报错,mysql命令列可以直接 select 。
0
小红书
小红书
alias g='git'


alias ga='git add'
alias gaa='git add --all'
alias gapa='git add --patch'


alias gb='git branch'
alias gba='git branch -a'
alias gbda='git branch --merged | command grep -vE "^(\*|\s*master\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 gcan!='git commit -v -a -s --no-edit --amend'
alias gcam='git commit -a -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 gcmsg='git commit -m'
alias gco='git checkout'
alias gcount='git shortlog -sn'
alias gcp='git cherry-pick'
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'


alias gf='git fetch'
alias gfa='git fetch --all --prune'
alias gg='git gui citool'
alias gga='git gui citool --amend'
小红书
小红书
@风格格 zsh自带的alias
风格格
风格格
这些要配置到哪个地方
0
万里谁能驯
万里谁能驯
该评论暂时无法显示,详情咨询 QQ 群:点此入群
风格格
风格格
回复 @万里谁能驯 : 非常感谢
万里谁能驯
万里谁能驯
这个我就不知道了,你找找git-bash的配置文件在哪。你要做git别名可以参考这个:https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/git/git.plugin.zsh
风格格
风格格
我用的是windows版, 鼠标右键的 git bash 操作
0
leo108
leo108

你都没有调用git,git再牛逼也没用

你举的那个mysql例子不成立,因为在windows下mysql那个黑框框本身就是mysql程序,而gitbash打开的黑框框本质上是一个shell而非git

风格格
风格格
回复 @leo108 : 唔 好的 跟cmd类似的一个东西咯
风格格
风格格
回复 @wuyiw : 嘿嘿 了解了 非常感谢哈
wuyiw
wuyiw
回复 @风格格 : 简单点你可以用 @kass 的方法, 如果想深入点, 可以去了解linux shell, 那样你可以自己写一个git shell来实现你的需求.
leo108
leo108
回复 @风格格 : sh.exe算shell(windows里的cmd)
风格格
风格格
shell 是平常用的cmd 的意思吗。 我看git命令行运行的应该是git安装目录的bin\sh.exe 。这个可以算git的程序吗
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部