本文为翻译文章。原文连接:Ten Things You Didn't Know Git And GitHub Could Dohtml
Git 和 GitHub都是很是强大的工具。即便你已经使用他们很长时间,你也颇有可能不知道每一个细节。我整理了Git和GitHub可能提升平常效率的10个经常使用技巧。git
在你的源码浏览页面,按t
能够快速进入模糊文件名搜索模式:程序员
在你仓库主页,按w
能够快速进行分支过滤:github
在任意GitHub页面中,按?
展现当前页面可用的快捷键:工具
在任意的diff URL添加?w=1用来整理缩进:网站
你能够建立一个对比页面经过使用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项目中所有昨天开始的提交记录和变化:spa
你能够经过在对比页面URL中增长?author=github_handle
来按做者过滤提交记录。例如:连接https://github.com/dynjs/dynjs/commits/master?author=jingweno
显示jingweno对Dynjs 的提交记录:命令行
在比较页面、合并请求页面或者评论页面的URL后增长.diff
或者.patch
,能够获得diff或者patch的文本格式。例如:连接https://github.com/rails/rails/compare/master@{1.day.ago}…master.patch
显示Rails项目中所有昨天开始的提交记录和变化的文本格式:翻译
你能够直接在收到的GitHub通知邮件进行评论,没必要在网站页面中评论。GitHub会正确的处理你的评论:设计
在文件展现页面,点击某行或者经过按SHIFT
选择多行,URL会有相应的改变。若是你要给你的队友分享一段代码是很是方便的:
在合并请求、问题或者任何评论中中提到用户会使用户关注所有的后续通知:
在合并请求、问题、或者任何评论中,sha和问题码(例如:#1)会被自动连接。而且,你也能够连接其它仓库的sha或者问题码,格式:user/repo@sha1
或者user/repo#1
。下面是一个评论中经过sha自动连接的例子:
Hub 是 GitHub的命令行。它提供了Git和Github之间的集成。一个最有用的命令就是在命令行输入hub pull-request
建立pull request。详见readme.
查看README.md
的修改历史,例如:
> git log -p README.md
例如,搜索修改符合stupid
的历史:
> git log -S'stupid'
交互式的保存和取消保存变化,使用:
> git add -p
这个命令只删除远程文件,例如:
> git rm --cached database.yml
删除database.yml
被保存的记录,可是不影响本地文件。这对删除已经推送过的忽略文件记录并且不影响本地文件是很是的方便的。
这个命令返回某个非HEAD分支的提交记录。假如你在一个功能分支,输入:
> git log ..master
返回所有master分支的历史记录,包括未被合并到当前分支的提交记录。
这个命令返回已合并分支列表或未合并的分支列表。这个命令对合并前检查很是有用。例如,在一个功能分支,输入
> git branch --no-merged
返回未合并到该分支的分支列表。
返回包含某个指定sha的分支列表。例如:
> git branch --contains 2f8e2b
显示所有包含提交2f832b
的分支。这个命令对于验证git cherry-pick
完成很是有帮助。
返回一个简单版的git status。我设置这个命令为默认git status来减小噪音。
显示你在本地已完成的操做列表。
显示提交记录的参与者列表。和GitHub的参与者列表相同。
Git是一个设计良好的工具。了解它能够直接让你更有效率并成为一个更有才华的程序员。GitHub,在另外一个方面,在Git基础上提供便利的团队合做特性。有能力使用GitHub也会提升你平常效率。
为了更好的加深你对的Git和Github了解,我推荐一些资料:
ProGit, 最好的Git指南