前言
? ? ? Git是個(gè)了不起但卻復(fù)雜的源代碼管理系統(tǒng)哆档。它能支持復(fù)雜的任務(wù)睛琳,卻因此經(jīng)常被認(rèn)為太過復(fù)雜而不適用于簡單的日常工作汇四。記得我剛剛開始使用Git的版本控制時(shí),我根本不確定我付出那么多時(shí)間是不是會(huì)得到回報(bào)咐柜。Branch兼蜈、Stage、Stash拙友,這些Git名詞對(duì)我來說都非常陌生为狸。
? ? ? ?而今天的我已不能想象生活沒有Git會(huì)變成什么樣。Git不僅提供了我非常需要的版本控制功能遗契,而且Git在我開發(fā)工作中非常重要的一部分辐棒。
個(gè)人建議:
? ? ? 在學(xué)習(xí)git的時(shí)候,請(qǐng)不要用圖形界面牍蜂,這樣你學(xué)到的東西會(huì)很少漾根,git用命令很快,也很直觀鲫竞,用多了立叛,命令也熟悉了。贡茅。
一、花時(shí)間去學(xué)習(xí)Git的基本操作
學(xué)習(xí)Git的基本操作并不是要求你把整個(gè)Git文檔從頭到尾讀完(但如果這就是你的方式其做,我也不會(huì)反對(duì))顶考。
Git里面有太多的教育內(nèi)容,我很確定里面一定有對(duì)你胃口的最佳學(xué)習(xí)方式妖泄。
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的在線書籍
二驹沿、不要再害怕犯錯(cuò)誤
Git最出色的一點(diǎn)是:它幾乎是100%易上手誤操作的。
記住以下幾點(diǎn)會(huì)讓你晚上睡得更香:
Git基本上不刪除數(shù)據(jù)蹈胡。即使是那些看起來是刪除數(shù)據(jù)的操作渊季,實(shí)際上是為了讓你更快的撤銷刪除,而在向系統(tǒng)添加數(shù)據(jù)罚渐。
Git基本可以撤銷所有操作却汉。我鼓勵(lì)你更多的實(shí)驗(yàn)和探索你的想法,因?yàn)檫@就是使用版本控制系統(tǒng)系統(tǒng)的最主要的好處之一荷并。
你團(tuán)隊(duì)的每一個(gè)成員都在他/她的計(jì)算機(jī)中有各自的副本合砂。本質(zhì)上這更像是整個(gè)版本控制項(xiàng)目中的冗余備份(包括包括整個(gè)歷史紀(jì)錄),你捅了大婁子而且還沒辦法還原這種情況是極其少見的源织。
三翩伪、理解分支概念
在Git里面微猖,分支這個(gè)概念是你一開始能學(xué)到的最有用的東西了。分支允許你隔離開發(fā)你的項(xiàng)目缘屹,而要想成為一個(gè)高效的Git用戶凛剥,這是非常關(guān)鍵的一點(diǎn)。在項(xiàng)目發(fā)布和迭代都很有非常適合敏捷開發(fā)轻姿。
一開始這聽起來好像不是什么大事犁珠,但一旦你完全的理解了分支概念,你會(huì)開始想沒有這個(gè)你怎么活下去踢代。
盡管其他的版本控制系統(tǒng)也會(huì)使用分支概念盲憎,Git是第一個(gè)實(shí)現(xiàn)它,并讓它變的好用的系統(tǒng)胳挎。
這張圖上有這么幾個(gè)分支:master饼疙,develop,feather慕爬,hotfix窑眯,release。它們之間存在著branch和merge的關(guān)系医窿。我們從master和develop開始磅甩。
更多資料:
LearnGitBranching!是一個(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è)模塊棺榔。
怎么說了瓶堕,一句話就是我們工作的地方叫工作區(qū),代碼會(huì)改變症歇,如果我暫時(shí)不要提交這些改變郎笆,你們經(jīng)理有要馬上讓你發(fā)個(gè)版本,這時(shí)候你可以把你改的代碼放到暫存區(qū)忘晤,這樣你的分支就會(huì)回滾到你上次提交到工作區(qū)的完整代碼宛蚓,你在打版本就不會(huì)出現(xiàn)你還沒完成的內(nèi)容了。设塔。苍息。是不是很神奇啊!>核肌表谊!更多區(qū)別請(qǐng)看工作區(qū)與暫存區(qū)的區(qū)別這篇文章
總結(jié)
使用一個(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征服之路的開始。