社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

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

Java后端技术 • 5 年前 • 621 次点击  

点击上方Java之间”,选择“置顶或者星标”

你关注的就是我关心的!

来源:segmentfault.com/a/1190000003830252


上一篇:警惕,MyBatis的size()方法竟然有坑!


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 也会提高你日常效率。


热门内容:
1、历史文章分类导读列表!精选优秀博文都在这里了!
2、警惕,MyBatis的size()方法竟然有坑!
3、面试官:线程顺序执行,这么多答案你都答不上来?
4、手把手教你重构乱糟糟的代码
5、互联网大厂公司月饼大比拼!羡慕啊!
6、8种方案解决重复提交问题!
7、教你设计一个通用分布式事务框架!
8、不敢相信?System.currentTimeMillis()存在性能问题
9、日均5亿查询量的京东订单中心,为什么舍MySQL用ES?
10、分布式 RPC 框架性能大比拼,Dubbo最差?
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43457
 
621 次点击