git实用小技巧有哪些
这篇文章主要讲解了“git实用小技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“git实用小技巧有哪些”吧!
在网站建设、网站设计过程中,需要针对客户的行业特点、产品特性、目标受众和市场情况进行定位分析,以确定网站的风格、色彩、版式、交互等方面的设计方向。创新互联公司还需要根据客户的需求进行功能模块的开发和设计,包括内容管理、前台展示、用户权限管理、数据统计和安全保护等功能。
是谁动了我的代码
谁动了我的代码?
谁的 bug 指到了我的头上?
团队合作时,经常会出现这样的问题。这时候可以使用 git blame
来定位代码的最后一次修改。但是,有一个问题,这并不能看出本行代码以前的修改。比如项目组中某人对全部代码进行了格式化,git blame
就失去了作用。此时,可以与另一个有用的命令 git log -p
结合使用,可以查看文件的更改历史与明细,最终找到这个锅究竟应该由谁来背。
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
来全局搜索。
不过,它们也会连带搜索忽略文件,比如前端著名的两个文件夹 node_modules
和 public(dist/build)
。虽然 grep 可以指定 --exclude
来忽略文件,不过 git
来的更方便一些。
这时,可以使用 git grep
来解决这个问题,另外 ag 也可以解决这个问题。
grep -rn
grep -rn --exclude config.js --exclude-dir node_modules
git grep
ag
感谢各位的阅读,以上就是“git实用小技巧有哪些”的内容了,经过本文的学习后,相信大家对git实用小技巧有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
标题名称:git实用小技巧有哪些
本文URL:http://pwwzsj.com/article/gsjios.html