本文是針對(duì)初學(xué)者的入門科普:git是什么意思?下面將以通俗易懂的方式進(jìn)行講解,主要從版本控制、版本控制系統(tǒng)、倉(cāng)庫(kù)等方面進(jìn)行講解,不懂得同學(xué)看過來!
一、什么是版本控制?
版本控制是一種記錄對(duì)一個(gè)或多個(gè)文件內(nèi)容的更改以供將來參考特定版本的修訂的系統(tǒng)。例如,我們對(duì)保存軟件源代碼的文件進(jìn)行版本控制,但實(shí)際上,您可以對(duì)任何類型的文件進(jìn)行版本控制。如果您是圖形或網(wǎng)頁(yè)設(shè)計(jì)師,并且您可能需要保存圖像或頁(yè)面布局文件的所有修訂(您可能渴望擁有的功能),那么版本控制系統(tǒng) (VCS) 是一個(gè)明智的選擇。有了它,你可以將文件回滾到以前的狀態(tài),甚至可以將整個(gè)項(xiàng)目恢復(fù)到過去某個(gè)時(shí)間點(diǎn)的狀態(tài),可以對(duì)比文件的變化細(xì)節(jié),找出誰修改了什么,最后,找出是什么導(dǎo)致了這個(gè)奇怪的問題,誰和什么時(shí)候報(bào)告了這個(gè)錯(cuò)誤等。
二、什么是版本控制系統(tǒng)?
版本控制系統(tǒng)是自動(dòng)幫助我們完成上述操作的系統(tǒng)或應(yīng)用程序(這里的系統(tǒng)不是指操作系統(tǒng),而是應(yīng)用系統(tǒng)。我們?cè)谧鰓eb項(xiàng)目的時(shí)候,經(jīng)常會(huì)啟動(dòng)項(xiàng)目名稱:商城系統(tǒng)、ERP系統(tǒng)等,是操作系統(tǒng)嗎?不,是程序)。
三、版本控制系統(tǒng)如何幫助我們控制版本?
我們需要進(jìn)行版本控制的文件必須提交到一個(gè)存儲(chǔ)庫(kù)(實(shí)際上是一個(gè)隱藏文件夾),我們對(duì)文件所做的更改將被版本控制系統(tǒng)檢測(cè)到。如果我們想保留這個(gè)版本的文件,我們需要通過版本控制系統(tǒng)提供的命令將文件提交到存儲(chǔ)庫(kù),然后版本控制系統(tǒng)會(huì)自動(dòng)為我們提交的文件標(biāo)記版本號(hào)。
四、有多少個(gè)存儲(chǔ)庫(kù)?
Local Repository:本地創(chuàng)建的文件夾。
遠(yuǎn)程存儲(chǔ)庫(kù):在 Internet 上的服務(wù)器上創(chuàng)建的文件夾。
五、有哪些類型的版本控制系統(tǒng)?
1、分布式版本控制系統(tǒng)
有了以上兩個(gè)倉(cāng)庫(kù),你的電腦上有一個(gè)本地倉(cāng)庫(kù),遠(yuǎn)程服務(wù)器上有一個(gè)遠(yuǎn)程倉(cāng)庫(kù)。我們提交文件的時(shí)候,會(huì)先提交到本地倉(cāng)庫(kù),等有網(wǎng)絡(luò)的時(shí)候再?gòu)谋镜貍}(cāng)庫(kù)提交到網(wǎng)絡(luò)上的遠(yuǎn)程倉(cāng)庫(kù)。 Git 是一個(gè)典型的分布式版本控制系統(tǒng)。
2、集中式版本控制系統(tǒng)
僅適用于上述遠(yuǎn)程存儲(chǔ)庫(kù)。當(dāng)然,如果您的計(jì)算機(jī)充當(dāng)遠(yuǎn)程服務(wù)器,那么遠(yuǎn)程倉(cāng)庫(kù)實(shí)際上就在您的計(jì)算機(jī)上。當(dāng)我們提交文件時(shí),我們將它們直接提交到遠(yuǎn)程存儲(chǔ)庫(kù)。 SVN是典型的集中式版本控制系統(tǒng)。
六、什么是 Git?
Git 是一個(gè)幫助我們管理文件版本的程序。專業(yè)名稱是:分布式版本控制系統(tǒng)。 GitHub扮演了上述遠(yuǎn)程倉(cāng)庫(kù)的角色,它是存儲(chǔ)在外網(wǎng)服務(wù)器上的一個(gè)文件夾。當(dāng)然,除了GitHub,遠(yuǎn)程倉(cāng)庫(kù)還包括Gitee(碼云)。
看到這里,相信即使是新手小白也完全明白“git是什么意思”了吧。當(dāng)然,這只是開始的一小步,大家接下來的學(xué)習(xí)還有很長(zhǎng)的路要走!更多關(guān)于“Java培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專業(yè),有針對(duì)零基礎(chǔ)的就業(yè)班,有針對(duì)想提升技術(shù)的好程序員班,高品質(zhì)課程助力你實(shí)現(xiàn)java程序員夢(mèng)想。