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

2年前 (2022) 程序员胖胖胖虎阿
220 0 0

点击上方Java后端,选择“设为星标

优质文章,及时送达
学到了!用 Git 和 Github 提高效率的 10 个技巧

上一篇 | 刷屏了!请给我一面国旗@微信官方

作    者 | 张伯函 

链    接 |  segmentfault.com/a/1190000003830252

Git 和 GitHub都是非常强大的工具。
即使你已经使用他们很长时间,你也很有可能不知道每个细节。
我整理了Git和GitHub可能提高日常效率的10个常用技巧。


GitHub

快捷键: t 和 w

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

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

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

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

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

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

忽略空格: ?w=1

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

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

按范围过滤提交记录: 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项目中全部昨天开始的提交记录和变化:

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

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

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

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

.diff 和 .patch

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

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

邮件回复

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

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

链接行

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

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

关注用户

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

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

自动链接

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

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

hub

Hub 是 GitHub的命令行。它提供了Git和Github之间的集成。一个最有用的命令就是在命令行输入hub pull-request创建pull request。详见readme.

Git

git log -p FILE

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

git log -p README.mdgit log -S’PATTERN’

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

git log -S'stupid'git add -p

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

git add -pgit rm –cached FILE

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

git rm --cached database.yml

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

git log ..BRANCH

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

 git log ..master

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

git branch –merged & git branch –no-merged

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

git branch --no-merged

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

git branch –contains SHA

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

git branch --contains 2f8e2b

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

git status -s

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

git reflog

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

git shortlog -sn

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

Summary

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

为了更好的加深你对的Git和Github了解,我推荐一些资料:

  • ProGit, 最好的Git指南
  • Advanced Git
  • Git and GitHub Secrets
                  

-END-
如果看到这里,说明你喜欢这篇文章,帮忙转发一下吧,感谢。微信搜索「web_resource」,关注后回复「进群」即可进入无广告交流群。



扫描二维码进群↓
学到了!用 Git 和 Github 提高效率的 10 个技巧




读 
1.  Java后端优质文章整理
2.  全网最牛掰的12306抢票神器
3.  面试官:说一说 Spring Boot 自动配置原理
4. 
 在浏览器输入 URL 回车之后发生了什么?
5.
 
接私活必备的 10 个开源项目

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








在看
 学到了!用 Git 和 Github 提高效率的 10 个技巧

本文分享自微信公众号 - Java后端(web_resource)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

相关文章

暂无评论

暂无评论...