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



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


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


GitHub



1、快捷键: t 和 w


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


640?


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


640?


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


640?


2、忽略空格: ?w=1


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


640?


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


640?


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


你可以通过在对比页面URL中增加 ?author=github_handle 来按作者过滤提交记录。


例如:

https://github.com/dynjs/dynjs/commits/master?author=jingweno 显示 jingweno 对 Dynjs 的提交记录:


640?


5、.diff 和 .patch


在比较页面、合并请求页面或者评论页面的URL后增加 .diff 或者 .patch,可以得到 diff 或者 patch 的文本格式。


例如:

https://github.com/rails/rails/compare/master@{1.day.ago}…master.patch 


显示Rails项目中全部昨天开始的提交记录和变化的文本格式:


640?


6、邮件回复


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


640?


7、链接行


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


640?


8、关注用户


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


640?


9、自动链接


在合并请求、问题、或者任何评论中,sha和问题码(例如:#1)会被自动链接。并且,你也可以链接其它仓库的 sha 或者问题码,


格式:user/repo@sha1 或者 user/repo#1。


下面是一个评论中通过sha自动链接的例子:


640?


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker显示镜像的摘要信息

显示镜像的摘要信息 docker images --digests

docker搜索镜像

docker search 要下载的 OFFICIAL 为ok的表示是官方镜像

C#操作HttpClient工具类库

using System; using System.Collections.Generic; using System.Net.Http; using System.Windows.Forms; using System.Configuration; using System.IO; using Newtonsoft.Json; namespace Dcflow { public class HttpHelper { //获取Configuration对象 public static string…

docker从仓库找镜像

docker search -s 数量 要下载的 数量表示仓库start数

bzoj 1911: [Apio2010]特别行动队 2011-12-26

1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 892 Solved: 359[Submit][Status][Discuss] DescriptionInputOutputSample Input4 -1 10 -20 2 2 3 4 Sample Output9HINT Source _________________________________________ 很简单的动规方程&a…

docker pull 从仓库拉取镜像

docker pull 要拉取的镜像名 等价于 docker pull 要拉取的镜像名:lastest 拉取固定的镜像:docker pull 要拉取的镜像名:版本号 省略lastest表设计就是拉取的最新的

C#抓取网页HTML内容

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Net; using System.Text; using System.IO; using System.Text.RegularExpressions; namespace Web { /// <summary> /// 公共方法类 /// </summary> p…

docker删除本地所有镜像

docker rmi -f ${docker images -qa}

WiFi避障小车

硬件清单&#xff1a; Wemos D1&#xff08;支持AP模式也就是路由模式和STA模式也就是上网设备&#xff09;、超声波模块、小车、L9110s步进电机控制器 软件&#xff1a; eclipse、arduino IDE WiFi配置参考博文 ESP8266WiFi库: 从上图中可以看出ESP8266WiFi库主要包含Stati…

yum常用命令整理

yum命令的形式一般如下。要说明的是以下演示中所使用到的PACKAGE、GROUP都是变量&#xff0c;需要保证运行yum命令的主机能连接外网&#xff0c;否则大部分命令将由于没有网络连接而不能输出结果。yum [options] [command] [package]#以下演示中大写的单词是变量1.安装操作yum …

CSS3 2D 转换

CSS3 2D 转换 先看兼容性 transform属性向应用元素应用2d 或者 3d装换&#xff1b;该属性允许我们进行旋转&#xff0c;缩放&#xff0c;移动或者倾斜&#xff1b; 基本语法&#xff1a; transform: none|transform-functions;transform-function&#xff1a;这东东有n的函数可…

程序猿最喜欢说的30句话

虽然代码总会有这个那个问题&#xff0c;但程序猿却总有谜一般的从容和自信。上图来自&#xff1a;《当程序出问题时程序员最喜欢说的30句话》来看看程序猿经常说的话&#xff1a;1、在我的电脑上是正常的啊。。。2、不可能出现这种情况的3、快了&#xff0c;已经完成了90%。4、…

linux环境下Ncurses实现贪吃蛇游戏

游戏说明&#xff1a; linux环境下基于Ncurses图形库的C语言小游戏。 Ncurses介绍&#xff1a; Ncurses(new curses)是一套编程库&#xff0c;它提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面。 Ncurses是一个能提供功能键定义(快捷键),屏幕绘制以及基于文本…

C#实现简体繁体转换代码示例

//简体转繁体 public static string _ConvertChinTrad(string strInput) { EncodeRobert edControl new EncodeRobert(); string strResult ""; if (strInput null) return strResult; if (strInput.ToString().Length > 1) strResult edControl.SCTCConvert(…

java基础JDK的安装和环境变量的配置

JRE和JDK&#xff1a; JRE是java程序运行时环境&#xff0c;包含JVM&#xff08;相当于java在不同操作系统上运行时java和操作系统之间的翻译&#xff0c;保证java程序的跨平台&#xff09;和运行时所需要的核心库。所以我们想要运行一个已有的java程序&#xff0c;那么只需要…

C#通过SMTP发送邮件代码示例

1、新建SMTP.cs类库文件 public class SMTP { /// <summary> /// SMTP服务器 /// </summary> public string smtp { get; set; } /// <summary> /// SMTP服务器端口 /// </summary> public int port { get; set; } /// <summary> /// 发件人 ///…

docker下载tomact

docker run -it -p 8080:8080 tomcat 比如下载tomcat,你现在去访问&#xff0c;先访问docker里面的tomcat, 左边的8080是对外暴露的服务端口&#xff0c;对应着右边的8080是tomact的实际端口 下载tomcat 启动tomcat docker run -it -p 8080:8080 tomcat

Wijmo 2016年蓝图

2015年很快就过去了&#xff0c;这是 Wijmo 重要的一年&#xff0c;尤其是对 Wijmo5。脱离传统的小部件&#xff0c;重新写一套 JS 控件&#xff0c;现在看来这个决定是正确的。用 TypeScript 写 Wijmo5&#xff0c;意味着我们没有任何依赖&#xff0c;不再需要 jQuery&#xf…