寫給Git初學(xué)者的7個建議
我剛剛開始使用Git的版本控制時,我根本不確定我付出那么多時間是不是會得到回報。Branch、Stage、Stash,這些Git名詞對我來說都非常陌生。
而今天的我已不能想象生活沒有Git會變成什么樣。Git不僅提供了我非常需要的版本控制功能,還讓我變成一個更優(yōu)秀的程序員。
這里有一系列可以幫助你的小貼士,可以讓Git成為你開發(fā)工作中非常重要的一部分。
***條:花時間去學(xué)習(xí)Git的基本操作
學(xué)習(xí)Git的基本操作并不是要求你把整個Git文檔從頭到尾讀完(但如果這就是你的方式,我也不會反對)。
Git里面有太多的教育內(nèi)容,我很確定里面一定有對你胃口的***學(xué)習(xí)方式。
看一下以下這些Git學(xué)習(xí)資源吧:
- 1.怎么快速開始使用Git
- 2.試試Git - 15分鐘的Git交互教程
- 3.提示和技巧(Ry的Git教學(xué))是常見Git功能的實踐教程
- 4.Git簡單指南
- 5.Git Ready是一個收藏有許多簡單而簡短的Git提示的網(wǎng)站
- 6.Git作弊碼
- 7.Git Tower學(xué)習(xí)區(qū)是一個在我的網(wǎng)站上的Git學(xué)習(xí)資源列表
- 8.Git官方教程
- 9.Training: Git Basics (視頻)是YouTube上的一個視頻列表
- 10.Pro Git一本讓你深入了解Git的在線書籍
第二條:從簡單的Git工作流開始
少即是多。
常常的,Git會和一個復(fù)雜的工作流聯(lián)系起來。不過我可以這么說:你還暫時不需要為了Git的諸多好處,而一下子變成Git大師。
Git的工作流是可以非常簡單的 —- 而且在許多情況下你需要的就是這么簡單。你當(dāng)然可以用multiple remote repositories、issue pull request、rebase changes等等,但是你不想用這些的話完全可以不用。
從簡單的工作流入手也會使日后添加復(fù)雜性或者使用Git高級功能變得簡單。當(dāng)你需要使用這些功能的時候,Git已經(jīng)準(zhǔn)備好了。
這里有一些不同的Git工作流的例子,你可以從他們的想法中得到啟發(fā)
總的來說:不要因為覺得Git什么都要學(xué)就壓力很大,你完全可以從今天開始使用Git。
第三條:不要再害怕犯錯誤
Git最出色的一點是:它幾乎是100%易上手誤操作的。
記住以下幾點會讓你晚上睡得更香:
1.Git基本上不刪除數(shù)據(jù)。即使是那些看起來是刪除數(shù)據(jù)的操作,實際上是為了讓你更快的撤銷刪除,而在向系統(tǒng)添加數(shù)據(jù)。
2.Git基本可以撤銷所有操作。我鼓勵你更多的實驗和探索你的想法,因為這就是使用版本控制系統(tǒng)系統(tǒng)的最主要的好處之一。
3.你團隊的每一個成員都在他/她的計算機中有各自的副本。本質(zhì)上這更像是整個版本控制項目中的冗余備份(包括包括整個歷史紀(jì)錄),你捅了大婁子而且還沒辦法還原這種情況是極其少見的。
第四條:理解分支概念
在Git里面,分支這個概念是你一開始能學(xué)到的最有用的東西了。分支允許你隔離開發(fā)你的項目,而要想成為一個高效的Git用戶,這是非常關(guān)鍵的一點。
一開始這聽起來好像不是什么大事,但一旦你完全的理解了分支概念,你會開始想沒有這個你怎么活下去。
盡管其他的版本控制系統(tǒng)也會使用分支概念,Git是***個實現(xiàn)它,并讓它變的好用的系統(tǒng)。
這里有一些有助你了解Git分支概念的資源:
1.LearnGitBranching!是一個Git分支的交互式教程
3.分支術(shù)是一個Git分支和合并的簡短介紹
4.Git分支是一個很多繪圖的Git教程
5.一個成熟的Git分支模型
第五條:學(xué)習(xí)暫存區(qū)
當(dāng)你的提交里面只包含一些相關(guān)的變化時,版本控制會變的非常有用[b],它保證了你的提交可以被沒有任何副作用的回滾,經(jīng)常提交的習(xí)慣也可以讓你的同事更好的了解你的進度。
Git有個功能叫暫存區(qū)讓這一切都變?yōu)榭赡?/p>
學(xué)習(xí)使用暫存區(qū),并愛上它,因為這是Git里面最重要最獨立的一個模塊。
2.用暫存區(qū)的好處在哪 —- 一個有關(guān)Git暫存區(qū)的討論主題
3.啊哈!學(xué)習(xí)Git的那些時候 —- 一篇博客文章
4.Git上有關(guān)暫存區(qū)的簡短教程
第六條:用Git圖形界面
盡管使用圖形界面絕對不會是一個要求,但我還是高度推薦使用。
使用圖形界面讓大多數(shù)操作都變得簡單,讓你在項目開始時便占盡優(yōu)勢。
不管怎么說,使用Git不應(yīng)該只是記住各種命令和參數(shù),而是改進你的編程工作流。如果圖形界面可以做到這一點的話,沒有理由讓簡單的事變的困難嘛。
看一下這些Git界面吧:
1.Tortoise Git - Windows平臺下的開源Git圖形界面
2.GitX(L) - Mac OS X下的開源Git客戶端
3.SourceTree - Windows和Mac下的免費Git或Mecurial界面
4.git-cola - 一款開源Git界面
5.Tower - 我們公司為Mac用戶所出的Git界面
使用圖形界面并不能減輕你學(xué)習(xí)Git基礎(chǔ)的負(fù)擔(dān),不過一旦你快樂的征服了Git,使用這些工具會讓你的生活變得更輕松。
第七條:對自己承諾你會用Git
使用一個新工具一開始會讓人非常頭疼,走過這條學(xué)習(xí)曲線的方法只有一個:繼續(xù)走下去。
做一個充分的承諾,不要回頭。在你平常的工作流里引入Git很快就會被證明這是你近期做的***的,最有意義的決定。
避免這種情況:「我會在這個項目里使用Git,但其他項目就再說了?!怪辽僖婚_始不要這樣。
充分承諾的這種心態(tài)會讓你有更多的機會去練習(xí),讓事情變得更加簡單,因為你知道你現(xiàn)在這個項目用了版本控制系統(tǒng)。而更重要的是,讓Git成為你的編程習(xí)慣。
未來不久,你就會看到只有那么一些情況不需要用到Git,
對自己做一個100%的承諾,作為Git征服之路的開始。
參考資料:
2.Git簡易指南:http://rogerdudler.github.io/git-guide/index.zh.html
3. 開源軟件架構(gòu)翻譯計劃-Git:http://www.ituring.com.cn/article/17501?q=git