-
Notifications
You must be signed in to change notification settings - Fork 373
HbGitHub
GitHub 是安人集团内部协同、文档管理工具,也是开智学堂课程常用的主题讨论、作业提交工具。它可供性极强,且内置很多专家级的内隐模式,如果使用得当,能极大降低个人创作、团队共创的的复杂度。
如果你初次接触,面对满屏难以理解的按钮,估计有些发怵;甚至查阅官方教程 GitHub Guides、GitHub Help,也依然满头雾水——里头各种操作不明觉厉,更别说对接上述俩场景啊。
别怕,没那么复杂。况且还有这份练级攻略,助你解决常见需求呢~
在那俩场景下,你只需把 GitHub 当成一个特殊的本地同步盘工具(类似 Dropbox 或坚果云,能把特定文件里的改动同步到云端)+ 主题讨论平台(类似论坛、BBS),就能应对大部分常规需求。更多高阶用法,可以先熟悉常用操作后,再按需取用。
一般来说,从初见 GitHub 到爱上 GitHub ,你会经历这三阶段:
- 第一级:存活
- 第二级:感觉良好,愈觉优雅
- 第三级:觉得更好更强更快,如虎添翼难自弃
各级别自学及自检指引可参考 安人集团协作技能自检清单(需科学上网才可访问),希望这系列攻略能助你更快如鱼得水,跃入三级 ;-)
在动身前,我需要给你一套行囊:
- 使用新工具、接触新机制,不适应甚至痛苦一段时间是正常的。这个时间可能是 1-2 周甚至更久,请做好心理准备和生理准备——规律作息多运动,提升身体尤其大脑机能。
- 遇到不懂的名词,请直接 Google 一下——这个习惯能让你无论学啥都能学得更快。一般翻阅搜索结果的 3-5 个页面,就能拨开不少脑中迷雾;-)
- 进入一个页面,请先看一眼浏览器里的 URL ,看看它的结构 —— GitHub 产品架构优雅,凭页面 URL 你就能清晰判断现在在什么位置,不易迷失。当然,用非英文命名文件另当别论——如果文件名里出现非英文,这个文件 URL 会出现乱码,干扰对于当前位置的判断,而且 URL 很丑。
- 多用关键词查找你想看的内容。在安人集团你会接触很多文档,且不少文档很长,比如这个。你想回看时,最好用关键词搜索以便快速定位,而非迷失于茫茫比特。
- GitHub 蕴含很多专家级的内隐模式,学习曲线对你来说可能有点陡。但相信我,跨过后你将终身受益,发觉之前硬着头皮走出舒适区真是太明智:P
攻略肯定不能只看不练对吧?——请完成下述准备后再翻攻略:
- 你已注册并登录自己的 GitHub 账号
- 你有可访问的仓库,可以自己新建一个测试仓库(Create A Repo - User Documentation),或 fork OpenMindClub/tacofancy 这个示例仓库来尝试
踏入这个世界,你得先了解一些常用概念,比如常用界面、常用操作通常大伙儿如何描述。如此,出了问题,你才能准确描述、高效求助。要不出了问题都不知道用啥关键词搜索、跟别人描述,多闹心呐~
来,先熟悉两个你接下来最常用的界面 repository
& dashboard
:
repository 是 GitHub 里最基础的元素,中文一般叫做「仓库」。 GitHub 是项目生发平台,一般来说,一个仓库就是一个项目资料的基本存储单位。比如你点击 https://github.com/OpenMindClub/tacofancy ,这就是这个项目仓库的首页。项目首页主要元素及作用如下:
- 1 GitHub logo: 点击直达 dashboard
- 2 搜索框:可搜索本仓库所有内容,包括改动记录
- 3 当前仓库全称
- 4 code/issues/pull request/projects/wiki 导航栏
- 5 commits 记录:点击即可查看本仓库历次改动记录。红色为这轮改动里删去的内容,绿色为这轮改动里新增的内容
- 6 本仓库文件夹
- 7 commit message:点击即可查看对应改动内容
- 8 本仓库最后更新时间
- 9 fork 按钮
(上述各英文什么意思在下文「高频操作」中可看到,具体如何使用,详见 「存活级别」攻略)
仓库全称为 账号/仓库名
,比如 OpenMindClub/tacofancy 与 sinker/tacofancy ,虽然仓库名相同都是 tacofancy
,但这是两个不同的仓库,OpenMindClub/tacofancy 是 OpenMindClub
的仓库,sinker/tacofancy 是 sinker
的仓库。
在 GitHub 里,你可以创建个人项目,也可以创建团队项目。也就是说,你可以把仓库建在个人账号下,也可以建在团队账号(organization)下。且这俩账号的仓库可以相互转移,看仓库全称就能判断这个仓库属于谁。
仓库可以设置为 public
(公开,所有人都可以查看)或 private
(私有,有特定权限才可访问)。私有需要付费。若仓库名字后边有 private
标志,那就是私有库;你把这样的仓库发给别人,别人没有登录或没有访问权限,就会显示 404 。
仓库里还配套了相应项目协同模块,用法建议如下:
-
code: 一般用于存放项目主要成果
比如公众号仓库,会在此放在编辑的和已发布文案;课程学员仓库,会在此放自己的作业、笔记;课程研发仓库,会在此放编写的卡包等。
注意:每个仓库的免费存储空间为 100M ,所以幻灯、图片等多媒体资料,建议存放在云盘中而非 code 里。有钱也别把多媒体资料放这里,会阻碍协同成员的从同步速度。
-
wiki: 一般用于存放项目相关规约、指南等辅助资料
wiki 其实同步到本地也是一个文件夹,和 code 的功能类似。但 wiki 模块右侧有 sidebar ,可以索引资料(包括但不限于本仓库内的资料),便于同伴取用。
比如公众号仓库 wiki ,会汇总编辑手册、发布规约等常用资料;课程学员仓库 wiki ,会汇总课程表、学习指南等资料;课程研发仓库,则会汇总研发指南、协作教程等资料。
-
issue: 一般用于主题讨论、追踪议题
界面样式有点类似论坛,功能特性见 Mastering Issues · GitHub Guides 。最大的好处是议题告一段落后可以关闭(close issue),以便保持主界面清爽。核心用法是持续追踪议题/任务,从发起、推进、解决到迭代等。
例如你在 GitHub issues 发起了一个主题讨论,大家异步交流探讨。如果问题解决,你及时回复最新进展/共识到这个 issue 下,并关闭此 issue ,形成一个良性闭环。除了探讨疑问,你还可以用 GitHub issues 发起活动征集参与者;汇集资源,分享创意;提交 Bug……
-
project: 相当于看板(kanban),一个项目可以建好多张看板,还可以把 issue 引用到看板中
当然,你也可以根据特定项目需求及各模块的功能细节差异(需科学上网才可访问),自行决定如何使用这些模块。
友情提示:建议所有仓库同步到电脑本地的内容,都放在一个路径下,而非按不同主题放在不同路径。同步到本地的仓库越多,你会越发觉这样处理有多优雅。
登录个人 GitHub 账号后,点击页面顶部菜单栏最左侧的 GitHub logo,即可进入 personal dashboard https://github.com/dashboard 。
Dashboard 页面是你 GitHub 的枢纽,由此你可以找到所有自己有访问权限的各类资源。你可以把 dashboard 想象成电梯里的按钮,通过它你可以直达你有权限的楼层(organization)及房间(repository),也能到对应楼层(organization)看看里头的动态(news feed),了解大伙儿都在做什么。
看过个人 dashboard ,细心的你一定发现,在页面右侧有你能访问的所有仓库列表。
再进入你所在 organization 的 dashboard 看看吧——
-
点击左上角个人账号按钮:
-
切换到你想查看的 organization:
-
进入 dashboard 页面。页面主要元素如下:
- 1 搜索框:搜索当前 organization 下的内容
- 2 dashboard 名字:说明现在你查看的是哪块 dashboard,比如是你自己的 dashboard,还是某个 organization 的 dashboard
- 3 News Feed:当前 organization 或账号下的新动态
- 4 News Feed/pull requests/issues 导航栏:点击可进入查看这些模块
- 5 直达当前 organization 主页的入口
- 6 当前 organization 仓库列表:你可以在此查找该 organization 下你有访问权限的仓库。列出来的仓库都是你有权限的,仓库名称有浅黄色背景的是私有库,白色背景的是公开库
注意:请一定记住如何进入 dashboard 页面,因为你会经常用到。 # 记不住就直接添加到收藏夹吧!
再看一些高频操作:
-
fork: 可以一键创建项目副本。比如你看到某个项目特别好,但还想改改,就可以 fork 一份到自己的账号下,继续修改。改完后还可以申请合并到主库里。
对了,fork 到自己账号后生成的仓库,我们一般称为 child repo ;被 fork 的仓库,称为 parent repo。
-
clone: 把云端仓库同步到本地。
-
commit: 标注说明你改了什么内容。
-
push: 把本地的改动同步到云端仓库。
-
pull: 把云端的改动同步到本地仓库。一般在修改团队的本地仓库前,最好先 pull 一下把本地内容更新成最新的,以免和别人发生版本冲突。
-
pull request: 修改了某个仓库后,跟仓库主人申请把改动合并到该仓库中。
-
merge: 合并不同版本的内容为一个可用版本。
以上概念更官方的解释,及更多 GitHub 概念,可见 GitHub Glossary - User Documentation。不过更建议你使用 GitHub 至少一周,对 GitHub 有更多直观的感知后别再查看哦。
好,大致了解 GitHub 世界有啥,真刀实枪的时候到了。系好裤腰带,咱们要冲出舒适区啦——
- 第一级:存活
- 第二级:感觉良好,愈觉优雅
- 第三级:觉得更好更强更快,如虎添翼难自弃(请直接按 安人集团协作技能自检清单 中的指引链接自学自检)
- 180425 闪闪根据内测反馈修订
- 180424 闪闪更新图片
- 180420 闪闪增补相关链接和图片
- 180418 闪闪创建
- 开智官网:http://openmindclub.com/
-
开智在招职位
持续更新
- 安装使用开智学堂 App
- GitHub 使用指引
- GitHub 世界基础概念
- 存活级别攻略
- 进阶级别攻略
- 提交&互评作业/笔记
- 配置 GitHub 消息提醒
- 结业项目仓库 wiki 初始化&优雅使用
- 配置 GitBook
- Zotero 使用指引
- MagicAltmetric
- 线下活动指引
- 发起学员互助活动
- 活动摄影操作指南
- 报道写作手册-志愿者
-
各地活动空间清单
欢迎一起增补
- 课程资料
修己以安人。
- 素养
- 技巧
- 规约