专栏首页AI算法与图像处理关于 Git 和 GitHub,你所不知道的十件事

关于 Git 和 GitHub,你所不知道的十件事

作者:张伯函 segmentfault.com/a/1190000003830252

Git 和 GitHub 都是非常强大的工具。即使你已经使用他们很长时间,你也很有可能不知道每个细节。

我整理了 Git 和 GitHub 可能提高日常效率的 10 个常用技巧。

GitHub

1. 快捷键: t 和 w

在你的源码浏览页面,按 t 可以快速进入模糊文件名搜索模式:

在你仓库主页,按 w 可以快速进行分支过滤:

在任意 GitHub 页面中,按 ? 展示当前页面可用的快捷键:

2. 忽略空格: ?w=1

在任意的 diff URL 添加 ?w=1 用来整理缩进:

3. 按范围过滤提交记录: master@{time}..master

你可以创建一个对比页面通过使用 URL github.com/user/repo/compare/{range}。范围 (range) 可以是两个 SHA 例如 sha1…sha2 或者两个分支名称例如 master…my-branch。范围同时也非常智能的支持使用时间作为关注点。你可以通过 master@{1.day.ago}…master 过滤从昨天开始的提交。例如:链接,https://github.com/rails/rails/compare/master@{1.day.ago}…master 显示 Rails 项目中全部昨天开始的提交记录和变化:

4. 按作者过滤提交记录: ?author=github_handle

你可以通过在对比页面 URL 中增加 ?author=github_handle 来按作者过滤提交记录。例如:链接 https://github.com/dynjs/dynjs/commits/master?author=jingweno 显示 jingweno 对 Dynjs 的提交记录:

5. .diff 和 .patch

在比较页面、合并请求页面或者评论页面的 URL 后增加 .diff 或者 .patch,可以得到 diff 或者 patch 的文本格式。例如:链接 https://github.com/rails/rails/compare/master@{1.day.ago}…master.patch 显示 Rails 项目中全部昨天开始的提交记录和变化的文本格式:

6. 邮件回复

你可以直接在收到的 GitHub 通知邮件进行评论,不必在网站页面中评论。GitHub 会正确的处理你的评论:

7. 链接行

在文件展示页面,点击某行或者通过按 SHIFT 选择多行,URL 会有相应的改变。如果你要给你的队友分享一段代码是非常方便的:

8. 关注用户

在合并请求、问题或者任何评论中中提到用户会使用户关注全部的后续通知:

9. 自动链接

在合并请求、问题、或者任何评论中,sha 和问题码 (例如:#1) 会被自动链接。并且,你也可以链接其它仓库的 sha 或者问题码,格式:user/repo@sha1 或者 user/repo#1。下面是一个评论中通过 sha 自动链接的例子:

10. hub

Hub 是 GitHub 的命令行。它提供了 Git 和 Github 之间的集成。一个最有用的命令就是在命令行输入 hub pull-request 创建 pull request。详见 readme.(https://github.com/defunkt/hub#commands)。

Git

1. git log -p FILE

查看 README.md 的修改历史,例如:

> git log -p README.md

2. git log -S’PATTERN’

例如,搜索修改符合 stupid 的历史:

> git log -S'stupid'

3. git add -p

交互式的保存和取消保存变化,使用:

> git add -p

4. git rm –cached FILE

这个命令只删除远程文件,例如:

> git rm --cached database.yml

删除 database.yml 被保存的记录,但是不影响本地文件。这对删除已经推送过的忽略文件记录而且不影响本地文件是非常的方便的。

5. git log ..BRANCH

这个命令返回某个非 HEAD 分支的提交记录。假如你在一个功能分支,输入:

> git log ..master

返回全部 master 分支的历史记录,包括未被合并到当前分支的提交记录。

6. git branch –merged & git branch –no-merged

这个命令返回已合并分支列表或未合并的分支列表。这个命令对合并前检查非常有用。例如,在一个功能分支,输入

> git branch --no-merged

返回未合并到该分支的分支列表。

7. git branch –contains SHA

返回包含某个指定 sha 的分支列表。例如:

> git branch --contains 2f8e2b

显示全部包含提交 2f832b 的分支。这个命令对于验证 git cherry-pick 完成非常有帮助。

8. git status -s

返回一个简单版的 git status。我设置这个命令为默认 git status 来减少噪音。

9. git reflog

显示你在本地已完成的操作列表。

10. git shortlog -sn

显示提交记录的参与者列表。和 GitHub 的参与者列表相同。

总结

Git 是一个设计良好的工具。Git 操作常用的命令都在这里了。了解它可以直接让你更有效率并成为一个更有才华的程序员。GitHub,在另一个方面,在 Git 基础上提供便利的团队合作特性。有能力使用 GitHub 也会提高你日常效率。

---

以上,便是今日分享~

本文分享自微信公众号 - AI算法与图像处理(AI_study)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 源码来了 | 秒杀 DeepLabV3+ 和 Unet 的 缺陷检测网络

    上次写了一篇文章介绍CVPR 2019最新提交的工业缺陷检测新思路基于图像语义分割网络实现缺陷检测,当时我们的一位读者看到非常感兴趣,关键是还很厉害,直接实现了...

    AI算法与图像处理
  • 你的涂鸦活了,CMU中国本科生让画成真丨有代码有Demo

    给它取个名,再轻轻一点——拥有姓名的独角兽,就从纸面进入一个三维世界,开始不知疲倦的翻越,一座座山丘……

    AI算法与图像处理
  • 小数据集同样重要!掌握处理它的7种方法

    在现实生活中,通常只能使用一个小数据集。基于少量观测数据所训练出的模型往往会过度拟合,产生不准确的结果。所以即使可用的数据是极其有限的,也需要了解如何避免过度拟...

    AI算法与图像处理
  • 用 Git 和 Github 提高效率的 10 个技巧!

    Git 和 GitHub 都是非常强大的工具。即使你已经使用他们很长时间,你也很有可能不知道每个细节。

    良月柒
  • 关于Git和Github你不知道的十件事

    Git 和 GitHub 都是非常强大的工具。即使你已经使用他们很长时间,你也很有可能不知道每个细节。

    Rookie
  • 关于 Git 和 GitHub,你所不知道的十件事

    作者:张伯函 segmentfault.com/a/1190000003830252

    GitHubDaily
  • 用 Git 和 Github 提高效率的 10 个技巧!

    作者:张伯函 来源:segmentfault.com/a/1190000003830252

    好好学java
  • 用 Git 和 Github 提高效率的 10 个技巧!

    Git 和 GitHub 都是非常强大的工具。即使你已经使用他们很长时间,你也很有可能不知道每个细节。

    Java技术栈
  • 学到了!用 Git 和 Github 提高效率的 10 个技巧

    你可以创建一个对比页面通过使用URL github.com/user/repo/compare/{range}。范围(range)可以是两个SHA例如sha1…...

    用户2769421
  • Git常用命令、分支管理

    代码托管中心的任务:维护远程库 局域网环境下:GitLab服务器 外网环境下:码云

    桑鱼

扫码关注云+社区

领取腾讯云代金券