10个提高效率的 Git 小技巧
发布时间 - 2019-11-30 00:00:00 点击率:次1. 从某个分支检出单个文件
你是否有过破坏了某个文件,想要重新开始?
或者需要的文件在另一个分支中?
下面的命令让你直接从某个分支取到那个文件。
git checkout some-other-branch -- yarn.lock
你也可以从某个 commit 中取到 yarn.lock 文件
git checkout 9146467 -- yarn.lock
相比 cherry-pick 拿到某个 commit 的所有文件,这个技巧可以只拿到想要的那一个文件。
2. 查看日志时过滤掉 merge commits
使用 merge 合并时会产生一个新的提交,有时候这个提交很烦人。如果你想要查看日志时过滤掉这些合并的提交,可以使用以下命令:
git log --oneline --no-merges
3. 重写最后一次的 commit message
如果你最近的一次提交中,commit 信息写的不好或者有错别字,可以用以下命令修改:
git commit -v --amend
这里的 -v 是可选的,它可以提过一些额
外信息来帮助你描述 commit message
4. 清除所有未跟踪的变更
首先来解释一个概念:
如果你创建了一个新文件,这个文件之前不存在于 git 历史中,那么这个文件就是一个未跟踪的变更。为了跟踪这个文件,你需要将它提交到 git 中。
如果使用 git checkout . 则会清除所有已经跟踪的变更。而使用以下命令可以清除所有未跟踪的变更:
git clean -f -d
5. 打印一个可视化的 log
使用以下命令可以打印出可视化的 log
git log --pretty=oneline --graph --decorate --all
(译者注:凑合看,跟 sourcetree 的还是不能比~)
6. 向 Git 查询 changelog
此命令可以向 Git 查询在两个 commit 之间,都有谁做了哪些变更,看起来就像一个 changelog 一样
git shortlog..HEAD
上面的 填写 commit 的 hash 值,就可以查出该 commit 和 HEAD 之间的变化,其中 .. 后面的 HEAD 也可以省略
你也可以用 git shortlog HEAD~20.. 取最近 20 个 commit 的记录
7. 查询指定日期的 log
你可能需要查询某两天之间的 git log,这时可以用 git log 命令配合 --since 与 --util 标识符
假如你想要查询 2016年2月10日 至 2016年2月19日 之间的日志,你可以运行:
git log --since='FEB 10 2016' --until='FEB 19 2016'
8. 列出所有 git aliases
有时候你可能忘记了之前设置的 git 别名,下面的命令虽不是 git 的功能,但是却能帮你找到所有的 git 别名
git config -l | grep alias | sed 's/^alias\.//g'
9. 查询包含某个关键字的 commits
如果你知道要找的代码具体写的是什么,或者知道某个特别的关键字,你就可以用它来搜索。
git log -S"config.menu_items"
本例中会查找所有包含 config.menu_items 的提交
10. 终极技能
git help -g
可以看到类似下面的 git 教程列表,通过 git help 即可在浏览器打开指定的教程网页,左边那一列即为 名称
The common Git guides are: attributes 定义 Git 路径的属性 everyday 每天学点有用的 Git 命令 glossary 一个 Git 词汇表 ignore 指定 Git 忽略文件 modules 定义 Git 子模块 revisions 指定 Git 的修订版和范围 tutorial Git 的教程介绍 (for version 1.5.1 or newer) workflows 一个推荐的 Git 工作流概述
本文来自 git教程 栏目,欢迎学习!
# git
# yarn
# 标识符
# 可以用
# 如果你
# 你想要
# 的是
# 过滤掉
# 让你
# 就像
# 词汇表
# 你可以
# 你就
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Python正则表达式进阶教程_复杂匹配与分组替换解析
如何在阿里云完成域名注册与建站?
如何在云主机上快速搭建多站点网站?
Android自定义listview布局实现上拉加载下拉刷新功能
如何在云服务器上快速搭建个人网站?
如何在腾讯云服务器快速搭建个人网站?
香港服务器租用费用高吗?如何避免常见误区?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
如何在万网利用已有域名快速建站?
如何在阿里云虚拟服务器快速搭建网站?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
进行网站优化必须要坚持的四大原则
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
如何快速生成凡客建站的专业级图册?
如何用低价快速搭建高质量网站?
简单实现jsp分页
免费视频制作网站,更新又快又好的免费电影网站?
黑客如何利用漏洞与弱口令入侵网站服务器?
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
Laravel如何集成Inertia.js与Vue/React?(安装配置)
三星网站视频制作教程下载,三星w23网页如何全屏?
教你用AI润色文章,让你的文字表达更专业
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
Swift中switch语句区间和元组模式匹配
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
Laravel如何使用Blade模板引擎?(完整语法和示例)
深圳网站制作的公司有哪些,dido官方网站?
如何彻底卸载建站之星软件?
英语简历制作免费网站推荐,如何将简历翻译成英文?
EditPlus 正则表达式 实战(3)
Laravel怎么调用外部API_Laravel Http Client客户端使用
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
如何在建站之星绑定自定义域名?
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
Android GridView 滑动条设置一直显示状态(推荐)
Laravel如何使用Telescope进行调试?(安装和使用教程)
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
独立制作一个网站多少钱,建立网站需要花多少钱?
JavaScript如何实现错误处理_try...catch如何捕获异常?
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】

