图片来源:unsplash.com/@sam_truong

1. 从另一分支切换单个文件
大家是否曾销毁文件只为能重新开始? 或需要在另一分支的某文件中进行更改?而git指令可以实现从另一分支切换文件。
git checkout some-other-branch -- yarn.lock
同时,也可以使用相同的技巧从特定提交项切换出某个文件。
git checkout 9146367 -- yarn.lock
若cherry-pick能够筛选出不需要的文件,那么这就是十分有效的技巧了。
2. 查看日志时无需合并提交
合并提交常常令人头疼。事实上,有些人宁可不用合并指令,因为合并提交真是太讨厌了。
就个人而言,笔者认为合并指令是项目历史记录的重要组成部分,不应该在工作流中唯恐避之不及。
也就是说,可以使用此标记来过滤合并提交以查看项目的历史记录。
git log --oneline --no-merges
3. 改写上一个提交信息
若不小心提交了带有拼写错误或误导性提交信息的内容时,这个方法就派上用场了。
git commit -v --amend
-v是可选项,但由于其展示了许多更改相关的信息,笔者还是比较喜欢这个的,,有助于编写更具描述性的提交消息。
4. 移除所有未跟踪更改
尽管不言而喻,但以防有人对该概念不熟悉:
如果创建一个新的文件,且该文件在git历史中并不存在,那么就相当于进行了一个未跟踪更改。需要提交回购协议才能开始追踪该文件。
如果提交过程中改变了主意,随后又想撤销先前的更改,此时,git checkout可用于移除先前所有的追踪更改,但是未跟踪更改却仍然会四处浮动。为解决这个问题, git clean应运而生。
git clean -f –d
5. 输出酷炫的可视化日志
虽然这点只会让日志看起来很酷,但就可视化所有长期分支而言,这点还是十分有用的。
git log --pretty=oneline --graph --decorate --all
试试吧。
6. 向git请求一个变更日志
如果想知道更改内容和更改者的相关简要说明,可以向git申请变更日志类似的文件。
git shortlog <commit>..HEAD
本例中,应将<commit>替换为希望在日志开始时执行的提交。大体上,用git shortlog eafbc3c.. HEAD的意思是,“让我看看从提交eafbc3c到现在发生了什么变化。”
按提交作者将短日志分组并显示每个提交消息的首行内容。若提交消息编写完善,则可很清楚地了解每个提交的实际操作。
利用一些巧妙的技巧,如git shortlog HEAD~20..,以此来获取最近20次提交的短日志。
7. 查看特定日期范围的日志
类似地,可能需要查看两天内回购的变化情况。
幸运的是,git可以实现这点。git log提交接受——以-since和-until作为标记。
所以若想知道2016年2月10日至2016年2月19日期间Solidus发生了什么,即可运行:
git log --since= FEB 10 2016  --until= FEB 19 2016
现在,就可以看到墨菲在二月中旬非常活跃。
8. 列出所有git别名
有时可能需要为一些指令添加别名,随后就忘记了,或者使用的共享配置就已经定义了一些别名。
这是笔者无意中发现的一个技巧,尽管这不是git独有的特性,但是git config指令确实发挥着它的功效,为我们所利用。
git config -l | grep alias | sed  s/^alias.//g
试试吧,看是不是有忘记的别名!
9. 搜索包含关键字的提交
如果确切地知道要查找的是哪段代码,或者确切地知道需要在哪些关键字上查找更改,则可以按代码搜索日志。
此时git会提供一个提交列表,而该列表以某种方式影响了包含搜索字符串的代码或文本。
git log -S"config.menu_items"
在本例中,笔者找到一个提交列表,而该提交列表以某种方式操纵了字符串config.menu_items。
10. git教程超级机密列表
不是秘密,而是超级机密:
git help -g
Git是一个十分强大的工具,充满许多巧妙的技巧。这个列表不够全面,所以大家可多做一些研究并阅读git相关文档。 
推荐阅读

10种Git技巧,让你省时省力又省心!相关推荐

  1. 日志查看技巧_10种Git技巧,让你省时省力又省心!

    全文共1800字,预计学习时长4分钟 图片来源:unsplash.com/@sam_truong 1. 从另一分支切换单个文件 大家是否曾销毁文件只为能重新开始? 或需要在另一分支的某文件中进行更改? ...

  2. 提高记忆力的 10 种记忆技巧和工具

    人工智能的迅速发展,让人不禁猜想是否有一天我们也能靠AI来提高自己的记忆力?哈哈也许真的可行

  3. 您认为不可能的10个SQL技巧

    这样的列表确实有用-它们不仅吸引了人们的注意,如果内容也很有价值(在这种情况下,请相信我),则文章格式可能会非常有趣. 本文将为您带来10条SQL技巧,其中许多人可能都认为不可能. 这篇文章是我在会议 ...

  4. sql技巧_您认为不可能的10个SQL技巧

    sql技巧 这样的列表确实有用-它们不仅吸引了人们的注意,如果内容也很有价值(在这种情况下,请相信我),则文章格式可能会非常有趣. 本文将为您带来10条SQL技巧,其中许多人可能都认为不可能. 这篇文 ...

  5. 10种可提升Android应用程序运行效果的技巧

    技巧1:从优秀的编程开始 要采用已为用户所接受的运算法则和标准的设计样式,这些被人们长期使用的编程法则也同样适用于Android应用,尤其当这些应用使用内在设备服务时. 比如,假设你编写的应用需要以地 ...

  6. react 代码编写原则_如何编写易读的React代码— 10种编码风格技巧

    react 代码编写原则 by Nirmalya Ghosh 由Nirmalya Ghosh 如何编写易读的React代码- 10种编码风格技巧 (How to write highly readab ...

  7. [其他] 10种技巧可提升Android应用运行效果

    随着手机平台的发展和所提供应用的提升,质量成为应用成功的最重要因素.如果那些应用无法提供强大的功能和稳定的用户体验,那就会很快被用户卸载.开发者需要记住的是,虽然Android智能手机和平板电脑的速度 ...

  8. 视频号该如何涨粉引流,分享10种涨粉技巧+5种引流方法丨国仁网络

    微信的视频号是一个人人可以记录和创作的平台,也是一个了解他人.了解世界的窗口. 当你开通了微信视频号,准备发视频的时候,你得想清楚你发给谁看?是自娱自乐那当然无所谓. 但是如果你是想通过玩微信视频号涨 ...

  9. 10种技巧可提升Android应用运行效果

    http://topic.csdn.net/u/20120327/15/d9641da3-8e55-441c-a575-886f46f68411.html 随着手机平台的发展和所提供应用的提升,质量成 ...

最新文章

  1. Spring管理Strust的Action
  2. 读书笔记:php_tizag_tutorial
  3. golang中字符串内置函数整理
  4. 移动架构-数据库分库和全版本升级
  5. 作者:谢华美(1976-),男,中国人民银行征信中心数据部副总经理
  6. sql server 性能_如何在SQL Server中收集性能和系统信息
  7. html改变游戏速度变慢,游戏不顺畅,卡顿的显卡设置方法
  8. java设计模式之用王者荣耀打开观察者模式(附代码实例)每天一学设计模式
  9. 线性系统和非线性系统——《应用非线性动力学》读书笔记
  10. “编程不规范 亲人泪两行”
  11. 安装CAD显示计算机丢失SETUPUI,彻底解决CAD2012不能安装问题.docx
  12. 西安电子科技大学计算机水平,“两电一邮”的西安电子科技大学,在国内高校中,到底什么水平?...
  13. 内网渗透系列:内网隧道之icmp_tran
  14. 船讯网|爬虫COOKIE重定向反爬处理
  15. css表格文字超数量就竖排_CSS奇特技巧:控制文字竖排
  16. golang_微信头像过期失效
  17. 不定高垂直居中的三种方法
  18. MyISAM与InnoDB存储引擎
  19. 计算机组成原理学习笔记第5章指令系统 5.6——MIPS指令详解
  20. 领导回复下属微信“收到”,这个动作加分,不懂礼仪吃暗亏

热门文章

  1. 【HDU】1305 Immediate Decodability(字典树:结构体数组,二维数组,链表/指针)
  2. 数字化探索:建立学习型组织,HR 也能驱动业务营收?
  3. 有的放矢,远程操控中实时音视频的优化之道
  4. ONNX 浅析:如何加速深度学习算法工程化?
  5. 就在今晚 | 港科大李世玮教授问诊未来,开辟大湾区新航路
  6. 教你如何编写第一个爬虫
  7. 实战:手把手教你实现用语音智能控制电脑 | 附完整代码
  8. 初学者的机器学习入门实战教程!
  9. 一个小小的AI训练营竟然卧虎藏龙
  10. SQL 查询总是先执行SELECT语句吗?你们都错了!