learnGitBranching 是什么
learnGitBranching是一个git仿真沙盒,提供一系列的交互式学习指导/挑战,用来加快学习git提交树如何工作。 此项目由pcottle发表在github上,到今已有658次提交,并被翻译到了法语、韩语、日语以及中文(由yinchuan在Jake Chen的基础上翻译完成)。
learnGitBranching的主界面左边是模拟终端窗口,另外是图示区。图示区用图形表明了git代码库当前的提交记录、分支、HEAD指向等。
[+]查看原图
learnGitBranching 如何使用
learnGitBranching通过关卡的形式,逐步展开对git的学习。每一关开始是对要学习的主题的一些介绍,包含操作原理,要使用到的命令,以及命令执行后的图示。介绍完成之后,会显示这一关的goal。在输入命令并执行后,右边的代码库图示会自动更新以呈现最新状态。
根据关卡题目,输入并执行正确的命令,当程序匹配到通关需要的结果时即可以过关。
如果要跳过每一关开始的介绍,可以按Esc。右下角的两个按钮分别是帮助菜单与语言选择。
当前支持的git命令有。
commit
branch
checkout
cherry-pick
reset
revert
rebase
merge
终端模拟窗口中不仅可以执行git命令,还可以执行一些控制命令。
show goal: 显示关卡目标
hide goal: 隐藏关卡目标
help level: 显示当前关卡帮助
help general: 显示程序帮助
show solution: 显示答案
undo: 撤销
reset: 重新开始
完整的命令列表,请参考:
show commands: 显示所有命令
关卡
已有关卡
现在共有14关,包含4关基础,4关相对引用,2关高级rebase,3关综合,以及1关高难度(其实也不难)。
[+]查看原图
关卡创建器
作者为了方便更多的人参与这个项目,还设计了一个关卡创建器。你可以创建自己的关卡,并用json的形式导出,将json代码添加到issue,作者就可以评估或添加你增加的关卡。
贡献功能
这个程序基本用javascript实现,从源码上看,用到了node.js的技术,这方面我不大懂,你可以参考作者的贡献功能指南。
原文转自:http://www.kuqin.com/shuoit/20131118/336387.html