tiimgreen /github-cheat-sheet

A list of cool features of Git and GitHub.

★ 60,265⑂ 5,505👁 1,366⑃ 179● 80▤ 0◈ 0
MITCreated 2014-04-12git.io/sheet
60,265
stars
+27
5,505
forks
1,366
watchers
179
prs
80
issues
0
releases
0
discussions

README

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,可以去掉那些只是空白字符的改动,使你能更专注于代码改动。

!Diff without whitespace

详见 GitHub secrets.

 调整 Tab 字符所代表的空格数
在 diff 或文件的 URL 后面加上 ?ts=4 ,这样当显示 tab 字符的长度时就会是 4 个空格的长度,不再是默认的 8 个空格。 ts 后面的数字还可以根据你个人的偏好进行修改。这个技巧不适用于 Gists,或者以 Raw 格式查看文件, 但有浏览器扩展插件可以帮你自动调整: Chrome 扩展。

下面以一个 Go 语言源文件为例,看看在 URL 里添加 ?ts=4 参数的效果。添加前:

!Before, tab space example

... 添加后的样子:

!After, tab space example

 查看用户的全部 Commit 历史
在 Commits 页面 URL 后加上 ?author={user} 查看用户全部的提交。


https://github.com/rails/rails/commits/master?author=dhh


!DHH commit history

深入了解提交视图之间的区别

 仓库克隆
当克隆仓库时可以不要那个.git后缀。

bash
$ git clone https://github.com/tiimgreen/github-cheat-sheet


更多对 Git clone 命令的介绍.

 分支
 将某个分支与其他所有分支进行对比

当你查看某个仓库的分支(Branches)页面(紧挨着 Commits 链接)时


https://github.com/{user}/{repo}/branches

你会看到一个包含所有未合并的分支的列表。

在这里你可以访问分支比较页面或删除某个分支。

!Compare branches not merged into master in rails/rails repo - https://github.com/rails/rails/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


!Rails branch compare example

{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

!Another compare example

在 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/c

Top issues

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON