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