ITPub博客

首页 > > > 用 Git 和 Github 提高效率的 10 个技巧!

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

作者:孤独键客 时间:2020-05-14 15:27:59 0 删除 编辑
程序员的成长之路
互联网/程序员/成长/职场 
关注


阅读本文大概需要 5.6 分钟。


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


Summary


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


往期精彩回顾

有个程序员爸爸,到底是种什么样的体验?

云服务器建站+域名+备案超详细全套完整图文教程!菜鸟必看!

位运算符与(&)、或(|)、异或(^)、非(~)、左移(<<)、右移(>>)、右移补零(>>>)如何选择?

同事没正确使用redis,把我害苦了...

消息队列 ActiveMQ 、RocketMQ 、RabbitMQ 和 Kafka 如何选择?

dubbo天天用,你不会连SPI都不知道吧?

单点登录的实现原理

写留言

朕已阅 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69902700/viewspace-3156055/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
一个不羁的码农,终身学习者。公众号「程序员的成长之路」。目前就职于一家游戏公司,主要负责服务器端,以及web系统的开发工作,对Java相关知识比较擅长。

注册时间:2018-12-14

  • 博文量
    793
  • 访问量
    119788