设为首页 收藏本站
查看: 1285|回复: 0

[经验分享] Oh-My-Zsh 操作 Git 的快捷键

[复制链接]
发表于 2018-9-16 13:02:49 | 显示全部楼层 |阅读模式

  本篇文章介绍 Oh-My-Zsh 安装,以及 git 快捷键。也许你已经烦透了每天 git add . git commit -m 'some fix' git push...
  如果操作变成这样 ga . gcmsg 'some fix' gp是不是很炫酷,好吧,对于已经使用的人没什么新鲜感。
  接下来针对好奇的 Program development engineer(程序猿),做详细介绍。
  相信 git 大家并不陌生,不熟悉 git 操作的可以看我转载的一篇阮一峰大神的 常用 Git 命令清单,重头戏 oh-my-zsh 大家可以看 oh-my-zsh官网。
Oh-My-Zsh
  Oh-My-Zsh is an open source, community-driven framework for managing your ZSH configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes, and a few things that make you shout...
  简单说就是集成插件的命令行工具。针对 Mac 用户和 Linux 用户有很好的支持,windows 的朋友先不要急(有彩蛋)。
安装
  Mac 用户和 Linux 用户通过在您的终端中运行以下命令之一来安装。可以安装通过 curl 或 wget 命令行。
  via curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"  via wget
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"  windows 我推荐一个集成 shell,git,oh-my-zsh 的命令行工具Babun。点击进入官网下载。当然官网还给出了其他炫酷功能大家可以详细阅读。
  oh-my-zsh 有许多插件和主题大家可以去 ~/.zshrc 配置
  更多功能可以去官网阅读,这里强烈建议大家使用,因为会提高工作效率,对于追求完美开发体验的人帮助很大。
快捷键实现原理
  这里只说 oh-my-zsh 针对 git 的改进。为什么支持缩写的形式。
  大家可能知道 git 的快捷键 alias,它允许我们自己配制快捷键。例如
alias gst='git status'alias gp='git push'alias gp='git push'  需要配置的快捷键过多,如果对 git 操作了解不够深入的人无法自行配置。那么 oh-my-zsh 是如何实现的呢?
  其实就是用的 alias ,这里是 Github 上的链接 https://github.com/robbyrusse... ,通过 url 便知这里的master分支下,plugins插件目录,git插件下的配置文件。
  喜欢阅读代码的直接点击链接查看所有快捷键实现。这里便于整理把平时工作常用的快捷键给大家,至于不常用的大家查看 Github 上的链接,可能记得多了这种对应关系容易弄混,建议大家只熟练记忆工作常有的快捷键,其它可以按着 git 官方文档去做。减少出错和不必要的麻烦。
常用快捷键
g - git  
gst - git status
  
gl - git pull
  
gup - git pull --rebasegp - git push
  
gd - git diff
  
gdc - git diff --cachedgdv - git diff -w "$@" | view
  
gc - git commit -v
  
gc! - git commit -v --amendgca - git commit -v -a
  
gca! - git commit -v -a --amendgcmsg - git commit -m
  
gco - git checkout
  
gcm - git checkout mastergr - git remote
  
grv - git remote -v
  
grmv - git remote renamegrrm - git remote remove
  
gsetr - git remote set-urlgrup - git remote updategrbi - git rebase -i
  
grbc - git rebase --continuegrba - git rebase --abortgb - git branch
  
gba - git branch -a
  
gcount - git shortlog -sn
  
gcl - git config --listgcp - git cherry-pick
  
glg - git log --stat --max-count=10glgg - git log --graph --max-count=10glgga - git log --graph --decorate --allglo - git log --oneline --decorate --colorglog - git log --oneline --decorate --color --graphgss - git status -s
  
ga - git addgm - git mergegrh - git reset HEADgrhh - git reset HEAD --hardgclean - git reset --hard && git clean -dfxgwc - git whatchanged -p --abbrev-commit --pretty=mediumgsts - git stash show --textgsta - git stash
  
gstp - git stash pop
  
gstd - git stash dropggpull - git pull origin $(current_branch)
  
ggpur - git pull --rebase origin $(current_branch)ggpush - git push origin $(current_branch)
  
ggpnp - git pull origin $(current_branch) && git push origin $(current_branch)
  
glp - _git_log_prettily
  就我而言已经足够了,当然也已经包括了 Github 上大部分快捷键。
总结
  好的开发工具可以大大提升工作效率,应用适当即可,过多依赖快捷键自动补全之类的工具时间久了基础知识退化,导致没有好用的工具无法编程,建议新人熟记原始命令后再尝试快捷键,避免错误的发生(毕竟这是管理代码工具,操作不当很可能删除了最近 add之前或者 commit 之前的代码快照,因为某些操作是不可逆的),亲身踩过坑删除了一天的工作,虽然重写两个小时就完成,但十分不爽。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-584570-1-1.html 上篇帖子: centos7上使用git命令把代码放到github上 下篇帖子: 如何创建一个 Git 仓库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表