git ignore设置_提高效率的 10 个 Git 小技巧

3bdfe2195335cac1b9f50e2621b538aa.png

1. 从某个分支检出单个文件

你是否有过破坏了某个文件,想要重新开始?

或者需要的文件在另一个分支中?

下面的命令让你直接从某个分支取到那个文件。

git checkout some-other-branch -- yarn.lock

你也可以从某个 commit 中取到 yarn.lock 文件

git checkout 9146467 -- yarn.lock

b2e5736ceb9fa1b32fcbacd54d764397.png

相比 cherry-pick 拿到某个 commit 的所有文件,这个技巧可以只拿到想要的那一个文件。

2. 查看日志时过滤掉 merge commits

使用 merge 合并时会产生一个新的提交,有时候这个提交很烦人。如果你想要查看日志时过滤掉这些合并的提交,可以使用以下命令:

git log --oneline --no-merges

af520e134f78cf2c2d60e0876648b4dc.png

3. 重写最后一次的 commit message

如果你最近的一次提交中,commit 信息写的不好或者有错别字,可以用以下命令修改:

git commit -v --amend

这里的 -v 是可选的,它可以提过一些额外信息来帮助你描述 commit message

4. 清除所有未跟踪的变更

首先来解释一个概念:

如果你创建了一个新文件,这个文件之前不存在于 git 历史中,那么这个文件就是一个未跟踪的变更。为了跟踪这个文件,你需要将它提交到 git 中。

55a1b0bb381c10df103d205dcbda935b.png

如果使用 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 <commit>..HEAD

上面的 <commit> 填写 commit 的 hash 值,就可以查出该 commit 和 HEAD 之间的变化,其中 .. 后面的 HEAD 也可以省略

6c0e069e0ab8299c9835abcfe0d18928.png

你也可以用 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 <concept> 即可在浏览器打开指定的教程网页,左边那一列即为 <concept> 名称

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 工作流概述

博客原文链接


欢迎关注我的公众号:码力全开(codingonfire)

d9a56bf04189e648e48bb3eade8f3767.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值