点击上方“方志朋”,选择“设为星标”

回复”666“获取新整理的面试资料

来源: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操作常用的命令都在这里了,点击这里查看。这个命令返回已合并分支列表或未合并的分支列表。这个命令对合并前检查非常有用。例如,在一个功能分支,输入

> 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的参与者列表相同。

Summary

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

热门内容:   

  

  • 请停止学习框架

  • IntelliJ IDEA 2019.3这回真的要飞起来了,新特性抢先看!

  • 想不到!面试官问我:Redis 内存满了怎么办?

  • 用了这么久 IDEA,你竟然不知道有个功能叫自动补全!

  • 5 门可能衰落的编程语言

  • 优秀的 Java 项目代码都是如何分层的?

最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

明天见(。・ω・。)ノ♡

用 Git 和 Github 提高效率的 10 个技巧!相关推荐

  1. 提高效率的Python编程技巧

    参考B站UP啥都会一点的研究生 整理了十个100%提高效率的Python编程技巧,更上一层楼 1.遍历列表,且要用到其索引位置进行相应的数据操作 遍历列表,且要用到其索引位置进行相应的数据操作 ''' ...

  2. 有效提高效率的PDF小技巧,你确定不了解下嘛?

    有效提高效率的PDF小技巧,你确定不了解下嘛? 当今是快节奏的时代,时间如此宝贵,不论是学习或是办公,掌握些提高效率的小技巧必不可少. PDF文档可以说是学生党和办公党都不陌生甚至经常接触的文档类型了 ...

  3. Git学习总结(18)——让你成为Git和GitHub大神的20个技巧

    Git不仅是编程世界最流行的分布式版本控制系统,而且你还可以用它查找,分享以及优化你的代码.接下来就来看看怎样让Git和GitHub更好地为你服务吧. 尽管现在网上有很多Git的初学者教程,而且Git ...

  4. 【干货】用Axure做原型,一秒钟提高效率的必知技巧总结

    前言:在产品经理工作中,特别是初级产品经理,制作原型是主要工作之一.Axure是用的最顺手的原型制作软件,虽然制作移动端在效果上并不是很好,但作为不需要做高保真原型的情况下已经基本足够了. 下面总结一 ...

  5. python 编程提高效率_15 个提高效率的 Python 编程技巧

    作者:George Seif 翻译:马可薇 来源:InfoQ 每次写 Python 都会忘记该怎么写,最后只能去 Stack Overflow 查?我也一样.时间一长,这让人厌倦. 这 15 个 Py ...

  6. 信息 按顺序打印commit_提高效率的 10 个 Git 小技巧

    1. 从某个分支检出单个文件 你是否有过破坏了某个文件,想要重新开始? 或者需要的文件在另一个分支中? 下面的命令让你直接从某个分支取到那个文件. git checkout some-other-br ...

  7. 提高效率:10款好用的谷歌chrome浏览器插件、扩展程序

    Awesome Chrome Plugins 盘点那些好用的Chrome插件 1. CrxMouse Chrome™ Gestures 作用:高度可自定义的鼠标手势.超级拖拽.鼠标滚轮手势.遥感手势, ...

  8. 《无尽之刃》中采用的提高效率的美术制作技巧

    <无尽之刃>使用的是虚幻引擎进行的开发.该游戏在IOS上的性能表现非常好.这样一款拥有次时代PC游戏品质的游戏,在高水准的美术表现下,关卡的平均总面数只有190000三角面,58个draw ...

  9. 马克!程序员必须收藏的 10 类工具库,助你提高效率变大神

    对程序员和IT专业10个有用的工具和库 橙色的扩音器挂在橙色的墙上"Oleg Laptev在Unsplash网站上写道. 每一个行业都有它自己的一些工具.软件行业也不例外.一个好的程序员比其 ...

最新文章

  1. 又发现一个关于R文件丢失的问题
  2. android 双 webview,Android webview加载页面
  3. 深度学习之卷积神经网络(1)什么是卷积
  4. 保存页面供以后使用Firefox的阅读列表扩展
  5. CodeCraft-21 and Codeforces Round #711 (Div. 2)
  6. Unity3D之Mecanim动画系统学习笔记(五):Animator Controller
  7. 【论文阅读】Fully Convolutional Networks for Semantic Segmentation
  8. 保持最佳MacBook温度的方法!快来get吧
  9. 【观点】失败应聘的五大原因
  10. 计算机网络题库与答案西电,西电计算机网络期末试题.doc
  11. 开发一个app的周期是多长
  12. IDEA运行jsp文件变成源码详细解决方案
  13. Word——加了项目符号后,第二行就与第一行对不齐的一种解决方法
  14. 各类编程语言教程合集
  15. 如何制作一个横版格斗过关游戏_地下城与勇士M电脑版,如何在模拟器上使用键鼠操作...
  16. python中iter是什么意思,python中iter的用途是什么?
  17. 【JavaBigDecimal练习】利用BigDecimal精确计算欧拉数
  18. SWF文件格式说明书--SWF文件头
  19. jupyter notebook第三章numpy库的一些案例分析加相关函数的解析
  20. 京东书籍信息及评论内容爬取

热门文章

  1. LESS 的 operation 是 特性
  2. 步步为营-44-窗体之间传值--观察者模式
  3. 分布式技术一周技术动态 2016-11-27
  4. UITableView
  5. StarlingMVC简介,原理解说及示例源码
  6. 怎样去掉 CSDN-Markdown 上传图片中的水印
  7. Matlab数据的可视化 -- 三维网格图形
  8. 图神经网络快速爆发,最新进展都在这里了
  9. “刚毕业1年,做Python能挣多少?”网友:吹的不多..
  10. 攀登数据科学家和数据工程师之间的隔墙