全文共1800字,预计学习时长4分钟

图片来源: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相关文档。

留言 点赞 关注

我们一起分享AI学习与发展的干货

编译组:柳玥、温媛相关链接:https://dev.to/jacobherrington/10-git-tricks-to-save-your-time-and-sanity-289h

如需转载,请后台留言,遵守转载规范

日志查看技巧_10种Git技巧,让你省时省力又省心!相关推荐

  1. 10种Git技巧,让你省时省力又省心!

    图片来源:unsplash.com/@sam_truong 1. 从另一分支切换单个文件 大家是否曾销毁文件只为能重新开始? 或需要在另一分支的某文件中进行更改?而git指令可以实现从另一分支切换文件 ...

  2. 【工具篇】Unity运行期间日志查看的两种方式

    目录 方式一:ShowConsole工具脚本 使用方法 打开方式1:PC端指定按键打开界面

  3. git常用命令(克隆、分支、tag标签、推送、日志查看,常用命令总结)、将本地代码第一次提交到远程git仓库、过滤掉不提交的内容

    1.1 克隆Git代码 $ git clone http://xxxx.git --branch master 为自己的写新项目添加git版本控制,进入项目目录执行以下命令: git init . 2 ...

  4. git 清空log_[译] 我个人的 Git 技巧备忘录

    原文地址:My Personal Git Tricks Cheatsheet 原文作者:Antonin Januska 译文出自:掘金翻译计划 本文永久链接:https://github.com/xi ...

  5. 使用tab键分割的文章能快速转换成表格。( )_EXCEL的163种使用技巧集锦-42~62

    本文主要讲述了EXCEL的163种使用技巧其中20条技巧,待163种使用技巧全部讲述完成后,如有需要,各位看官可在评论中留下邮箱,小编会将整理的WORD版发给大家. 42. 快速查找工作簿 你可以利用 ...

  6. css hack技巧_5种减少Hack的编码技巧

    css hack技巧 在本文中,我们将探讨五种方法,这些方法可以使用有效的编码来帮助垃圾回收器花费更少的CPU时间分配和释放内存,并减少GC开销. 较长的GC通常会导致我们的代码在回收内存时停止(也称 ...

  7. git ssh配置文件 服务器_【GIT】日常开发中的这些Git技巧你知道吗?

    Git是目前世界上最先进的分布式版本控制系统 0 git安装 1)在github下载git的release版本 git-release 2)安装git的依赖文件 sudo apt-get instal ...

  8. 苹果电子邮件怎么注册_外贸技巧 | 6种简单的电子邮件营销技巧,你知道几个?...

    原标题:外贸技巧 | 6种简单的电子邮件营销技巧,你知道几个? 通过电子邮件销售给他们的产品的消费者比电子邮件营销活动外的消费者高出138%.有了这样的数字,电子邮件是您不能忽视的一个渠道. 为什么要 ...

  9. 成为优秀程序员需要具备的15种编程技巧

    来源 | https://www.linuxmi.com/chengxuyuan-15-jiqiao.htm 编程是一个告诉计算机如何工作的术语.通过编程,我们可以轻松操作任何技术.就像所有人在特定地 ...

最新文章

  1. 我的 Atom 插件,有图
  2. 数据结构二:排序(快速排序和堆排序)
  3. python123电脑登录不了_Python-用户登陆,密码失败3次,账户将被锁住(login)
  4. 2017 Material design 第二章第六节《富有创造性的定制方案》
  5. mysql timestamp _mysql之TIMESTAMP(时间戳)用法详解
  6. 提升KVM异构虚拟机启动效率:透传(pass-through)、DMA映射(VFIO、PCI、IOMMU)、virtio-balloon、异步DMA映射、预处理
  7. 为了在简历上写掌握【Java中IO流】,做了该篇总结
  8. 【正在直播】:CSDN直播间专属福利!1399买Airpods Pro
  9. 二十二、K8s集群设置4-网络策略与校验和
  10. 485有时候从机接收指令没反应_多动症儿童反应慢好几拍?神经递质释放速度太慢就会出现这种问题!科学训练高效提升孩子反应力!...
  11. 小米id锁状态查询_怎么通过序列号查询苹果手机真伪
  12. 如何使用Xposed+JustTrustMe来突破SSL Pinning
  13. Centos7做回收站功能,防止误删除
  14. 暴力解题之公务员行测资料分析技巧
  15. 海洋cms index.php被修改,海洋CMS(SEACMS)新版本V6.55补丁仍可被绕过执行任意代码...
  16. 强化学习与Deep Q-Network(DQN)
  17. Switch上gamemaker,6.11发售,可不写代码创造游戏
  18. 2013年国模 B题 碎纸片拼接
  19. Android系列之Navigation的目的地(Destination)
  20. aspectj框架切入点表达式

热门文章

  1. PyCharm2019.1.1安装(Win10)
  2. 荷兰国旗问题(分三块)
  3. MongoDB数据查询
  4. 一年5篇EI,一篇一级学报,经验略谈
  5. python爬虫反爬-python爬虫--爬虫与反爬
  6. leetcode - 673. 最长递增子序列的个数
  7. leetcode - 764. 最大加号标志
  8. WAMP下解决localhost可以访问但IP地址无法访问的问题
  9. 计算机桌面文件夹排序,电脑桌面文件整理前后对照
  10. Shell脚本基本规则