内容简介:前些月,写了一个关于 git 的表格,叫谁动了我的代码?谁的 bug 指到了我的头上?
前些月,写了一个关于 git 的表格,叫 Git Cheat Sheet ,现分享一些有用的小技巧,更多内容请移步,另有一个非常不错的关于 git 小技巧的项目 git-tips 。
是谁动了我的代码
谁动了我的代码?
谁的 bug 指到了我的头上?
团队合作时,经常会出现这样的问题。这时候可以使用 git blame <file>
来定位代码的最后一次修改。但是,有一个问题,这并不能看出本行代码以前的修改。比如项目组中某人对全部代码进行了格式化, git blame
就失去了作用。此时,可以与另一个有用的命令 git log -p <file>
结合使用,可以查看文件的更改历史与明细,最终找到这个锅究竟应该由谁来背。
git blame -L 10,12 package.json git log -p -L 10,12:package.json
快速切换合并分支
当你经常工作于 A 与 B 两个分支,需要来回切。这时命令应该是 git checkout A
,但这里有一个更简单的命令, git checkout -
,表示切到最近的一次分支。如果你需要把 B 分支的内容合并过来,可以使用 git merge -
。
题外话, cd -
代表进入最近目录,也相当实用。
git checkout - git merge -
统计项目
统计项目各个成员 commit 的情况,比如你可以查看你自己的项目的 commit 数以及他人对你项目的贡献数
git shortlog -sn git shortlog -sn --no-merges # 不包含 merge commit
快速定位提交
如果你的 commit message 比较规范,比如会关联 issuse 或者当前任务或者 bug 的编号,此时根据 commit message 快速定位: git log --grep "Add"
。
如果你的 commit message 不太规范,只记得改了哪几行代码,此时也可以根据每次提交的信息查找关键字,是 git log -S "setTimeout"
。
同时,也可以根据作者,时间来辅助快速定位。
git log --since="0 am" # 查看今日的提交 git log --author="shfshanyue" # 查看 shfshanyue 的提交 git log --grep="#12" # 查找提交信息中包换关键字的提交 git log -S "setTimeout" # 查看提交内容中包换关机子的提交
快速定位字符串
如何查找包换关键字的全部文件?
使用 VS Code
可以全局搜索,使用 grep
也可以通过 grep -rn <keyword>
来全局搜索。
不过,它们也会连带搜索忽略文件,比如前端著名的两个文件夹 node_modules
和 public(dist/build)
。虽然 grep 可以指定 --exclude
来忽略文件,不过 git
来的更方便一些。
这时,可以使用 git grep <keyword>
来解决这个问题,另外 ag 也可以解决这个问题。
grep -rn <keyword> grep -rn <keyword> --exclude config.js --exclude-dir node_modules git grep <keyword> ag <keyword>
<hr/>
欢迎关注我的公众号 山月行 ,在这里记录着我的技术成长,欢迎交流
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 渗透技巧之Powershell实战技巧
- 渗透技巧——快捷方式文件的参数隐藏技巧
- Python实用技巧,你不知道的7个好玩的Python技巧
- Python 技巧总结
- 监控OpenStack的技巧
- JNI技巧
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
计算机程序的构造和解释
Harold Abelson、Gerald Jay Sussman、Julie Sussman / 裘宗燕 / 机械工业出版社 / 2004-2 / 45.00元
《计算机程序的构造和解释(原书第2版)》1984年出版,成型于美国麻省理工学院(MIT)多年使用的一本教材,1996年修订为第2版。在过去的二十多年里,《计算机程序的构造和解释(原书第2版)》对于计算机科学的教育计划产生了深刻的影响。第2版中大部分重要程序设计系统都重新修改并做过测试,包括各种解释器和编译器。作者根据其后十余年的教学实践,还对其他许多细节做了相应的修改。 海报:一起来看看 《计算机程序的构造和解释》 这本书的介绍吧!