26k Star!理解Git太輕松了。。。
:
Git是目前使用比較廣泛一款版本控制工具,從事開發(fā)工作,很難繞開Git。
因此,關(guān)于如何快速學(xué)習(xí)Git使用一直都是一個(gè)經(jīng)久不衰的話題。
前不久我在另外一篇文章中曾提到Git對(duì)初學(xué)者不太友好,學(xué)習(xí)成本較高,還有一些杠精在評(píng)論說”如果連Git這一款工具都不會(huì)用,就不要從事開發(fā)工作了!“
對(duì)于這種評(píng)論我一般都會(huì)選擇不回復(fù),總有一些奇葩的人喜歡發(fā)表一些奇葩的言論。
我認(rèn)為,并不是每個(gè)人生來就擁有3年或者5年的開發(fā)經(jīng)驗(yàn),就像人說話也需要一個(gè)從不會(huì)到會(huì)的過程,對(duì)于一款工具的使用同樣時(shí)這樣,何況Git相對(duì)很多常規(guī)工具本身就需要更多的學(xué)習(xí)成本。
有點(diǎn)扯遠(yuǎn)了,再回到Git學(xué)習(xí)的問題上。
有不少同學(xué)在使用Git的過程中都會(huì)遇到這樣那樣的問題,因此,關(guān)于Git學(xué)習(xí)的工具、資源一直層出不窮。

今天就來給大家介紹另外一款開源工具--LearnGitBranching,目前在Github已經(jīng)26k+Star,它或許不是最好的,但是在我看來它非常特別,而且對(duì)于理解Git命令有很大的幫助。
簡(jiǎn)單概括,LearnGitBranching是一款Git的可視化學(xué)習(xí)工具,它通過交互式的方式教授大家學(xué)習(xí)Git,并且提供一些列的挑戰(zhàn),能通過可視化及挑戰(zhàn)幫助大家理解Git操作和命令。
學(xué)習(xí)者可以在交互頁面輸入各種命令,頁面會(huì)動(dòng)態(tài)的根據(jù)輸入命令,以動(dòng)畫的方式展示輸入命令之后的效果,下面可以看一個(gè)示例:
通過這種交互式的方式,可以幫助開發(fā)人員更加直觀的理解每種操作對(duì)應(yīng)的效果,對(duì)于加深對(duì)Git命令的理解很有幫助。
除了可視化、交互式的方式,它還提供了一些其他功能。
沙盒模式

默認(rèn)情況下,應(yīng)用程序以“沙盒模式”啟動(dòng),并已創(chuàng)建基本存儲(chǔ)庫。在這里您可以輸入命令并隨心所欲地處理存儲(chǔ)庫。
你可以在沙盒里做如下操作:
undo:撤消上一條命令的效果
reset:從頭開始
git clone:模擬遠(yuǎn)程倉庫
關(guān)卡

輸入levels可以查看可用的課程/挑戰(zhàn),關(guān)卡里提供了從基礎(chǔ)到高級(jí)、技術(shù)、技巧不同等級(jí)的教程和挑戰(zhàn),對(duì)于加深理解很有幫助。
除此之外,LearnGitBranching有一項(xiàng)git golf功能,它會(huì)跟蹤解決每個(gè)調(diào)賬使用了多少命令,可以更加直觀的看到自己對(duì)Git的掌握程度。
關(guān)卡生成器
如果覺得默認(rèn)提供的關(guān)卡不夠,還可以使用 build level 命令構(gòu)建關(guān)卡。
它會(huì)提供一個(gè)對(duì)話框?qū)⒁龑?dǎo)完成每個(gè)過程,我們可以提交這些關(guān)卡,也可以分享給其他同學(xué)。
傳送門:https://learngitbranching.js.org/?locale=zh_CN&NODEMO=
Github地址:https://github.com/pcottle/learnGitBranching
建議大家有空可以多瀏覽Github,有很多好用的開源免費(fèi)工具。但是,目前Github上項(xiàng)目多如牛毛,而且刷榜現(xiàn)在也非常嚴(yán)重,想要找到優(yōu)質(zhì)的項(xiàng)目變得越來越難。這里,給大家推薦Github上一個(gè)非常不錯(cuò)的項(xiàng)目《DevWeekly》,這個(gè)項(xiàng)目每周都會(huì)精挑細(xì)選一些優(yōu)質(zhì)的開源項(xiàng)目,涵蓋C++、JAVA、JavaScript、Python、Go等不同編程語言。此外,還有一些開源工具、優(yōu)秀的技術(shù)文章: