国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

git

2019-11-06 06:28:54
字體:
供稿:網(wǎng)友

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 今天溫習(xí)了一下這個(gè)廖大神的git學(xué)習(xí)網(wǎng)站,很不錯(cuò),簡單易懂有例子。自己總結(jié)了一下,歡迎圍觀。 git是目前非常流行的分布式版本控制系統(tǒng)。

集中式VS分布式

先說集中式版本控制系統(tǒng),版本庫是集中存放在中央服務(wù)器的,而干活的時(shí)候,用的都是自己的電腦,所以要先從中央服務(wù)器取得最新的版本,然后開始干活,干完活了,再把自己的活推送給中央服務(wù)器。中央服務(wù)器就好比是一個(gè)圖書館,你要改一本書,必須先從圖書館借出來,然后回到家自己改,改完了,再放回圖書館。 集中式版本控制系統(tǒng)最大的毛病就是必須聯(lián)網(wǎng)才能工作,如果在局域網(wǎng)內(nèi)還好,帶寬夠大,速度夠快,可如果在互聯(lián)網(wǎng)上,遇到網(wǎng)速慢的話,可能提交一個(gè)10M的文件就需要5分鐘,這還不得把人給憋死啊。

那分布式版本控制系統(tǒng)與集中式版本控制系統(tǒng)有何不同呢?首先,分布式版本控制系統(tǒng)根本沒有“中央服務(wù)器”,每個(gè)人的電腦上都是一個(gè)完整的版本庫,這樣,你工作的時(shí)候,就不需要聯(lián)網(wǎng)了,因?yàn)榘姹編炀驮谀阕约旱碾娔X上。既然每個(gè)人電腦上都有一個(gè)完整的版本庫,那多個(gè)人如何協(xié)作呢?比方說你在自己電腦上改了文件A,你的同事也在他的電腦上改了文件A,這時(shí),你們倆之間只需把各自的修改推送給對(duì)方,就可以互相看到對(duì)方的修改了。

和集中式版本控制系統(tǒng)相比,分布式版本控制系統(tǒng)的安全性要高很多,因?yàn)槊總€(gè)人電腦里都有完整的版本庫,某一個(gè)人的電腦壞掉了不要緊,隨便從其他人那里復(fù)制一個(gè)就可以了。而集中式版本控制系統(tǒng)的中央服務(wù)器要是出了問題,所有人都沒法干活了。

在實(shí)際使用分布式版本控制系統(tǒng)的時(shí)候,其實(shí)很少在兩人之間的電腦上推送版本庫的修改,因?yàn)榭赡苣銈儌z不在一個(gè)局域網(wǎng)內(nèi),兩臺(tái)電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機(jī)。因此,分布式版本控制系統(tǒng)通常也有一臺(tái)充當(dāng)“中央服務(wù)器”的電腦,但這個(gè)服務(wù)器的作用僅僅是用來方便“交換”大家的修改,沒有它大家也一樣干活,只是交換修改不方便而已。

當(dāng)然,Git的優(yōu)勢(shì)不單是不必聯(lián)網(wǎng)這么簡單,后面我們還會(huì)看到Git極其強(qiáng)大的分支管理,把SVN等遠(yuǎn)遠(yuǎn)拋在了后面。

CVS作為最早的開源而且免費(fèi)的集中式版本控制系統(tǒng),直到現(xiàn)在還有不少人在用。由于CVS自身設(shè)計(jì)的問題,會(huì)造成提交文件不完整,版本庫莫名其妙損壞的情況。同樣是開源而且免費(fèi)的SVN修正了CVS的一些穩(wěn)定性問題,是目前用得最多的集中式版本庫控制系統(tǒng)。

除了免費(fèi)的外,還有收費(fèi)的集中式版本控制系統(tǒng),比如IBM的ClearCase(以前是Rational公司的,被IBM收購了),特點(diǎn)是安裝比Windows還大,運(yùn)行比蝸牛還慢,能用ClearCase的一般是世界500強(qiáng),他們有個(gè)共同的特點(diǎn)是財(cái)大氣粗,或者人傻錢多。

微軟自己也有一個(gè)集中式版本控制系統(tǒng)叫VSS,集成在Visual Studio中。由于其反人類的設(shè)計(jì),連微軟自己都不好意思用了。

分布式版本控制系統(tǒng)除了Git以及促使Git誕生的BitKeeper外,還有類似Git的Mercurial和Bazaar等。這些分布式版本控制系統(tǒng)各有特點(diǎn),但最快、最簡單也最流行的依然是Git!

git使用

創(chuàng)建版本庫

版本庫其實(shí)就是一個(gè)目錄,這個(gè)目錄里所有的文件都可以被git管理起來,每個(gè)文件的修改、刪除,git都能追蹤,任何時(shí)候都可以追逐歷史或?qū)碓谀硞€(gè)時(shí)刻還原。 創(chuàng)建一個(gè)版本庫:mkdir 庫名稱(被發(fā)現(xiàn)了,就是創(chuàng)建一個(gè)目錄而已嘛,哈哈) cd 到這個(gè)目錄下,通過git init命令把這個(gè)目錄變成git可以管理的倉庫。 ls -ah會(huì)發(fā)現(xiàn)當(dāng)前目錄下多了一個(gè).git的目錄(隱藏文件)沒事千萬別改動(dòng)哈,這個(gè)目錄是git用來跟蹤管理版本庫的,改亂了就=破壞了git倉庫,后果跟嚴(yán)重。

文件添加到版本庫

只需要2步。 第一步,用命令git add把文件添加到倉庫:

git add 文件名

第二步,用命令git commit把文件提交到倉庫:

git commit -m "說明信息"

簡單解釋一下git commit命令,-m后面輸入的是本次提交的說明,可以輸入任意內(nèi)容,當(dāng)然最好是有意義的,這樣你就能從歷史記錄里方便地找到改動(dòng)記錄. 為什么Git添加文件需要add,commit一共兩步呢?因?yàn)閏ommit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

git add file1.txtgit add file2.txt file3.txtgit commit -m "add 3 files."
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泰州市| 乌苏市| 城口县| 东港市| 斗六市| 民丰县| 广丰县| 蒙城县| 泸水县| 长治县| 尉氏县| 南宁市| 精河县| 遂溪县| 塔河县| 华亭县| 资源县| 磐安县| 上饶县| 西城区| 玛沁县| 镇坪县| 余干县| 西安市| 昭通市| 咸宁市| 同江市| 扶沟县| 平顺县| 通河县| 云林县| 钟祥市| 黄龙县| 健康| 福清市| 通许县| 阳高县| 娱乐| 夏河县| 雅安市| 马尔康县|