快捷键
r
快速引用
你可以选中别人的评论文字,然后按r,这些内容会以引用的形式被复制在文本框中:
t:搜索文件
s:光标定位到搜索窗口
w:选择分支
g n
Go to Notificationsg d
Go to Dashboardg c
Go to Codeg i
Go to Issuesg p
Go to Pull Requestsg w
Go to Wiki?:
如果要查看所有的快捷键,可以在键盘上按下 ?
watch vs Star vs Fork
watch
watch翻译过来可以称之为观察,点击watch可以看到如下的列表。
默认每一个用户都是处于Not watching的状态,当你选择Watching,表示你以后会关注这个项目的所有动态,以后只要这个项目发生变动,如被别人提交了pull request、被别人发起了issue或者issue里面有新的讨论等等情况,
你都会在自己的个人通知中心,收到一条通知消息,如果你设置了个人邮箱,那么你的邮箱也可能收到相应的邮件。
所以,watch要谨慎使用,不然你的邮箱会被垃圾邮件占满。
如果你不想接受这些通知,那么点击 Not Watching 即可。
另外这里有一篇文章讲 如何正确接收 GitHub 的消息邮件,很不错的一篇文章,推荐大家看看。
star
star 翻译过来应该是星星,但是这个翻译没任何具体意义,这里解释为关注
或者点赞
更合适,当你点击 star,表示你喜欢这个项目或者通俗点,可以把他理解成朋友圈的点赞吧,表示对这个项目的支持。
不过相比朋友圈的点赞,github 里面会有一个列表,专门收集了你所有 star 过的项目,
点击 github 个人头像,可以看到 your star的条目,点击就可以查看你 star 过的所有项目了。如下图
不过,在你的 star 列表很容易出现这样的问题。就是你可能 star 成百上千个项目怎么办。
这时,如果 github 可以提供一个分类功能该多好,就像微博网页版的收藏,你在收藏的时候可以设置 tag,
这样设置的好处是,以后再次查找项目时,可以根据归类查找,但是不知道 github 的产品经理是怎么想的,
fork
当选择 fork,相当于你自己有了一份原项目的拷贝,当然这个拷贝只是针对当时的项目文件,如果后续原项目文件发生改变,你必须通过其他的方式去同步。
一般来说,我们不需要使用 fork 这个功能,至少我一般不会用,除非有一些项目,可能存在 bug 或者可以继续优化的地方,你想帮助原项目作者去完善这个项目
,那么你可以 fork 一份项目下来,然后自己对这个项目进行修改完善,当你觉得项目没问题了,你就可以尝试发起 pull request给原项目作者了,
然后就静静等待他的 merge。
我看到很多人错误的在使用 fork。很多人把 fork 当成了收藏一样的功能,包括一开始使用 github 的我,每次看到一个好的项目就先 fork,
因为这样,就可以我的 repository(仓库)列表下查看 fork 的项目了。其实你完全可以使用 star 来达到这个目的。
搜索
指定搜索范围
octocat in:file
搜索文件中有octocat的代码octocat in:path
搜索路径中有octocat的代码octocat in:file,path
搜索路径中有octocat的代码或者文件中有octocat的代码display language:sass
搜索用scss写的包含display的代码Integer
搜索包含Integer的字段 搜索mozilla用户下用markdown写的代码
通过语言搜索代码
element language:xml size:100
搜索大小为100字节的xml代码user:mozilla language:markdown
搜索mozilla用户下用markdown写的代码
通过fork的数量或者是否有父节点的方式搜索
android language:java fork:true
搜索用java写的 android相关的代码并且被fork过function size:>10000 language:python
搜索与function相关的python代码,文件大小超过10kb
按照目录结构搜索
console path:app/public language:javascript
在app/public directory目录下搜索console关键字form path:cgi-bin language:perl
搜索cgi-bin目录下包含form的perl代码
通过文件名搜索
filename:.vimrc commands
搜索 文件名匹配.vimrc 并且包含commands的代码minitest filename:test_helper path:test language:ruby
在test目录中搜索包含minitest且文件名匹配"test_helper"的ruby代码
根据扩展名来搜索代码
form path:cgi-bin extension:pm
搜索cgi-bin目录下以pm为扩展名的代码icon size:>200000 extension:css
搜索超过200kb包含icon的css代码
通过用户或者组织来查找
user:github extension:rb
查找github用户中以rb为扩展的代码repo:mozilla/shumway extension:as
搜索mozilla的shumway以as为扩展的代码
根据star数搜索
react starts:>300
搜索react相关的,且star数量大于300的项目
搜索结果可以根据需要排序网站上提供了排序的选项,更多搜索需求可以选择高级搜索。
发现优秀项目
关注大牛
GitHub 主页有一个类似微博的时间线功能,所有你关注的人的动作,比如 star、fork 了某个项目都会出现在你的时间线上,这种方式适合我这种比较懒的人,不用主动去找项目,而这种基本是我每天获取信息的一个很重要的方式。
Trending
点击下图的 Explore 菜单到“发现”页面,
这个 Trending 页面是干嘛的呢?直译过来就是趋势的意思,就是说这个页面你可以看到最近一些热门的开源项目,这个页面可以算是很多人主动获取一些开源项目最好的途径,可以选择「当天热门」、「一周之内热门」和「一月之内热门」来查看,并且还可以分语言类来查看。
awesome
GitHub 上有各种 awesome 系列,简单来说就是这个系列搜罗整理了 GitHub 上各领域的资源大汇总,比如有 awesome-android, awesome-ios, awesome-java, awesome-python 等等等,就不截图了,你们自行去感受。
Trending repositories on GitHub today
浩如烟海的库中,如何知道哪些语言有哪些优秀的库,有哪些优秀的开发者,github官方贴心出品,这里Trending repositories on GitHub today · GitHub 并且一天固定时间更新一波,
url后缀
不比较空白字符
在任意 diff 页面的 UR L后加上 ?w=1
,可以去掉那些只是空白字符的改动,使你能更专注于代码改动。
调整 Tab 字符所代表的空格数
在 diff 或文件的 URL 后面加上 ?ts=4
,这样当显示 tab 字符的长度时就会是 4 个空格的长度,不再是默认的 8 个空格。 ts
后面的数字还可以根据你个人的偏好进行修改。这个技巧不适用于 Gists,或者以 Raw 格式查看文件, 但有浏览器扩展插件可以帮你自动调整: Chrome 扩展 , Opera 扩展。
下面以一个 Go 语言源文件为例,看看在 URL 里添加 ?ts=4
参数的效果。添加前:
... 添加后的样子:
查看用户的全部 Commit 历史
在 Commits 页面 URL 后加上 ?author={user}
查看用户全部的提交。
https://github.com/rails/rails/commits/master?author=dhh
仓库克隆
当克隆仓库时可以不要那个.git
后缀。
$ git clone https://github.com/tiimgreen/github-cheat-sheet
分支
将某个分支与其他所有分支进行对比
当你查看某个仓库的分支(Branches)页面(紧挨着 Commits 链接)时
https://github.com/{user}/{repo}/branches
你会看到一个包含所有未合并的分支的列表。
在这里你可以访问分支比较页面或删除某个分支。
比较分支
如果要在 GitHub 上直接比较两个分支,可以使用如下形式的 URL :
https://github.com/{user}/{repo}/compare/{range}
其中 {range} = master...4-1-stable
例如:
https://github.com/rails/rails/compare/master...4-1-stable
{range}
参数还可以使用下面的形式:
https://github.com/rails/rails/compare/master@{1.day.ago}...master
https://github.com/rails/rails/compare/master@{2014-10-04}...master
日期格式 YYYY-MM-DD
在 diff
和 patch
页面里也可以比较分支:
https://github.com/rails/rails/compare/master...4-1-stable.diff
https://github.com/rails/rails/compare/master...4-1-stable.patch
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。