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