水平自測(cè)(Git & Github)
一
- 有注冊(cè)Github賬號(hào)嗎?
- 是否安裝過(guò)Git客戶端?
- 有沒(méi)有在GitHub上創(chuàng)建倉(cāng)庫(kù)?
- 有試過(guò)從linux 環(huán)境把提交代碼push到 Github上并點(diǎn)亮綠色小星星嗎?
- git init / git add / git commit / git push /git remote 等命令是否有使用10次以上?
二
- 說(shuō)說(shuō)以下四個(gè)區(qū)域的作用?
1、 Workspace:工作區(qū)
2、Index / Stage:暫存區(qū)
3、Repository:倉(cāng)庫(kù)區(qū)(或本地倉(cāng)庫(kù))
4、Remote:遠(yuǎn)程倉(cāng)庫(kù)
- .gitigore 文件是用來(lái)干什么的? 有配置過(guò)嗎?
- Git 中的SHA是如何計(jì)算的?
- git branch / git log /git checkout/ git diff / 等命令是否有使用10次以上?
- 有在Github 上fork 過(guò)倉(cāng)庫(kù)?
- 有沒(méi)有在Github 上開(kāi)過(guò)issue ?
- 是否清楚Github 的 Pull request 流程?
- 有沒(méi)有使用過(guò)Github 上Project 功能?
三
- 想過(guò)怎么寫(xiě)出好的 commit message ? 一定的commit message規(guī)范?
- 你能解決以下 Git撤銷&回滾操作的幾個(gè)場(chǎng)景嗎?:
1、我剛把不想要的代碼,commit到本地倉(cāng)庫(kù)中了,但是還沒(méi)有做push操作!
2、剛線上更新 的代碼出現(xiàn)問(wèn)題了,需要還原這次提交的代碼!
3、剛才我發(fā)現(xiàn)之前的某次提交太愚蠢了,現(xiàn)在想要干掉它!
- git rebase / git reset / git revert 、git tag 的使用經(jīng)驗(yàn) ?
- --head 參數(shù) 和 * 、~ 組合的作用?
- orginal/master : 表示什么狀態(tài)?
話癆 & 在樓+ 如何用Git and Github
我覺(jué)得在學(xué)習(xí)樓+ 之前,就應(yīng)該入門(mén)Git&Github, 也就是說(shuō)能夠達(dá)到水平自測(cè)一水平,并且,在Github 開(kāi)一個(gè)倉(cāng)庫(kù), 將每周和每天在樓+ 實(shí)驗(yàn)敲過(guò)的代碼,push 帶Github倉(cāng)庫(kù)中。在十二周的課程中, 一遍在練習(xí)編程的硬技能,一遍在練習(xí)軟技能。
每天都看到自己的賬戶綠一點(diǎn)點(diǎn),會(huì)覺(jué)得很有成就感
ps:(我學(xué)Git & Github 的歷程) 時(shí)間:1年多, 頻率: 3-4次系統(tǒng)學(xué)習(xí) , 平時(shí)時(shí)不是看相關(guān)主題博文:如Git工作流, Git與開(kāi)源,Github中的證書(shū)等...
第一次系統(tǒng)學(xué)習(xí): 我是看了廖雪峰的博客每一天博文,大概兩個(gè)星期,看完還有許多不明白的的地方,但是已經(jīng)將自己的電腦配置好GIt 客戶端,注冊(cè)了Github賬號(hào),并創(chuàng)建了倉(cāng)庫(kù), 推過(guò)一些垃圾上去。
第二次系統(tǒng)學(xué)習(xí): 大概離第一次學(xué)有兩個(gè)多月,看了一些關(guān)于Git博文后,任然感覺(jué)自己很小白,連 Git工作流的概念都不懂,只會(huì)用的三個(gè)命令就是git add , git commit ,git push ... ,于是,在實(shí)驗(yàn)樓上《Git 實(shí)戰(zhàn)教程》 上花了一個(gè)多星期,再學(xué)了一遍,至此,已經(jīng)能使用git branch , git checkout...等之前聽(tīng)說(shuō)過(guò)的技能
第三次系統(tǒng)學(xué)習(xí):這次大概是在4-5月后,原因是,1、感覺(jué)自己總是為了提交而提交,方式就像作文湊字?jǐn)?shù)...感覺(jué)不舒服。后來(lái)看了phodal,GitHub 漫游指南 文章, 就再下定決心重學(xué)一次。 給自己定了一個(gè)使用Git 和Github 的目標(biāo):1、使用git 和Github管理代碼 2、 從git 切入了解開(kāi)源精神 和 協(xié)作工作流程
繼續(xù)堅(jiān)持自己的刷綠色星星的行為,直到頓悟,到能在Github參與一些力所能及的事,直到感覺(jué)自己發(fā)生了質(zhì)變
第四次學(xué)習(xí)(精益求精): 時(shí)間在樓+ 大作業(yè)前,起因,1、這么長(zhǎng)時(shí)間并沒(méi)有用過(guò)Github中的issue 和project 功能 2、 需要規(guī)范自己commit message 3、學(xué)會(huì)看git log 中的提交樹(shù) 4、想看Flask 的源碼(有個(gè)大神推薦的一個(gè)方法是: 在Github上fork Flask項(xiàng)目, 先從最簡(jiǎn)單的最最初始版本開(kāi)始看, 結(jié)合最早的isuue , 用debug 的方式運(yùn)行代碼)
這一次我選擇從Udacity上的視頻課學(xué)習(xí) 和 看Github 幫助文檔學(xué)會(huì)issue 和project 中的看板功能的使用, 并且平時(shí)敲樓+ 的時(shí)候注意更小的細(xì)節(jié)。
- 學(xué)了如:1、使用歷史記錄提高技巧 2、概念圖diff 3、如何編寫(xiě) readme文檔 4、比較兩份文件的差異 5、用git 找bug 等等
最后, 我想我還會(huì)因?yàn)椴煌男枰透叩囊?,再?lái)第5、6、7、8次的學(xué)習(xí)....
總結(jié) 講了這么多,其實(shí)總結(jié)起來(lái)就是一句話,學(xué)這個(gè)不能一蹴而就! 你應(yīng)該學(xué)會(huì)用一種迭代的思想,周期性地更新自己的Git 和Github技能。 就像一個(gè)獵人,需要定期地將自己的獵刀磨鋒利。
因此,我個(gè)人覺(jué)得學(xué)這個(gè)的最好方法是,用2/8法則, 先快速地系統(tǒng)地過(guò)一遍核心知識(shí), 建立一個(gè)大概的知識(shí)框架,然后隔一段時(shí)間回顧,往自己的知識(shí)框架上補(bǔ)充更多的細(xì)節(jié)。
建議
上面的自測(cè)水平一
如何你沒(méi)有通過(guò)自測(cè)水平一,那么我建議你,看一個(gè)完整的視頻,定個(gè)小小目標(biāo),然后動(dòng)手操作git & github 一個(gè)月,點(diǎn)亮綠色框框, 先系統(tǒng)地看視頻,看不懂再找廖雪峰的文章看看, + 實(shí)驗(yàn)樓上的操作視頻
- Git & github入門(mén)視頻
- +++ 知乎, 伯樂(lè)在線上很多基本操作的博文
- 是不是看一下 [
- 完成學(xué)習(xí)目標(biāo)后, 你應(yīng)該能使用熟練掌握最常用的技能, (可以找git面試題,自測(cè)一下)
提高進(jìn)階
這部分并不分先后,但是我建議每一部分都應(yīng)該花點(diǎn)時(shí)間學(xué)習(xí),但我不認(rèn)為你需要一下子就把下面的視頻都看完..這樣反而會(huì)沒(méi)有沉淀
Github 協(xié)作
Git 版本控制
學(xué)會(huì)編寫(xiě)readme
進(jìn)階技巧
這個(gè)是我覺(jué)的超級(jí)棒,學(xué)完之后,感覺(jué)質(zhì)變課程
是基于一個(gè)沙盒環(huán)境
他能夠幫你練習(xí), 從不同的歷史提交中條轉(zhuǎn), cherry pick ,重構(gòu)git comiit 等變態(tài)技巧
待完善...
Github的意義 & 用途 ()
知乎有個(gè)回答提到的一個(gè)觀點(diǎn):
https://www.zhihu.com/question/28976652
在樓+ 的課程體系里,Github和Git 相關(guān)的練習(xí)被放在了最后一周,