GitHub秘籍
Git 和 Github 秘籍,灵感来自于 Zach Holman 在 2012 年 Aloha Ruby Conference 和 2013 年 WDCNZ 上所做的演讲:Git and GitHub Secrets(slides) 和 More Git and GitHub Secrets(slides)。
其他语言版本: English, 한국어, 日本語, 简体中文, 正體中文.
目录
- GitHub
- 不比较空白字符
- 调整 Tab 字符所代表的空格数
- 查看某个用户的 Commit 历史
- 仓库克隆
- 分支
- 将某个分支与其他所有分支进行对比
- 比较分支
- 比较不同派生库的分支
- Gists
- Git.io
- 键盘快捷键
- 整行高亮
- 用 Commit 信息关闭 Issue
- 链接其他仓库的 Issue
- 锁定项目对话功能
- 设置 CI 对每条 Pull Request 都进行构建
- Markdown 文件语法高亮
- 表情符
- 图片 / GIF 动画
- 在 GitHub Wiki 中引用图片
- 快速引用
- 粘贴剪贴板中的图片到评论
- 快速添加许可证文件
- 任务列表
- Markdown 文件中的任务列表
- 相对链接
- GitHub Pages 的元数据与插件支持
- 查看 YAML 格式的元数据
- 渲染表格数据
- 撤销 Pull Request
- Diffs
- 可渲染文档的Diffs
- 可比较的地图数据
- 在 Diff 中展开查看更多的上下文
- 获取 Pull Request 的 diff 或 patch 文件
- 显示图片以及比较图片
- Hub
- 贡献者指南
- Octicons
- GitHub 资源
- GitHub 相关演讲视频
- Git
- 从工作区去除大量已删除文件
- 上一个分支
- 去除空白
- 检出 Pull Requests
- 没有任何改动的提交
- 美化 Git Status
- 美化 Git Log
- Git 查询
- 合并分支
- 修复有问题的提交以及自动合并
- 以网站方式查看本地仓库
- Git 配置
- Git 命令自定义别名
- 自动更正
- 颜色输出
- Git 资源
- Git 参考书籍
GitHub
不比较空白字符
在任意 diff 页面的 UR L后加上 ?w=1
,可以去掉那些只是空白字符的改动,使你能更专注于代码改动。
详见 GitHub secrets.
调整 Tab 字符所代表的空格数
在 diff 或文件的 URL 后面加上 ?ts=4
,这样当显示 tab 字符的长度时就会是 4 个空格的长度,不再是默认的 8 个空格。 ts
后面的数字还可以根据你个人的偏好进行修改。这个技巧不适用于 Gists,或者以 Raw 格式查看文件, 但有浏览器扩展插件可以帮你自动调整: Chrome 扩展。
下面以一个 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
更多对 Git clone
命令的介绍.
分支
将某个分支与其他所有分支进行对比
当你查看某个仓库的分支(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
了解更多关于基于时间的 Commit 比较.
比较不同派生库的分支
想要对派生仓库(Forked Repository)之间的分支进行比较,可以使用如下的 URL:
https://github.com/user/repo/compare/{foreign-user}:{branch}...{own-branch}
例如:
https://github.com/rails/rails/compare/byroot:master...master
Gists
Gists 方便我们管理代码片段,不必使用功能齐全的仓库。
Gist 的 URL 后加上 .pibb
(像这样)可以得到便于嵌入到其他网站 的 HTML 代码。
Gists 可以像任何标准仓库一样被克隆。
$ git clone https://gist.github.com/tiimgreen/10545817
这意味着你可以像 Github 仓库一样修改和更新 Gists :
$ git commit
$ git push
Username for 'https://gist.github.com':
Password for 'https://tiimgreen@gist.github.com':
但是, Gists 不支持目录。所有文件都必须添加在仓库的根目录下。 进一步了解如何创建 Gists.
Git.io
Git.io是 Github 的短网址服务。
你可以通过 Curl 命令以普通 HTTP 协议使用它:
$ curl -i http://git.io -F "url=https://github.com/..."
HTTP/1.1 201 Created
Location: http://git.io/abc123