問題一:git的前世今生
Git是安裝在電腦上的一種管理文件的軟件威创,它是Linux操作系統(tǒng)開發(fā)的一個軟件。
在介紹Git的前世今生之前谎懦,先來普及一下什么是”版本控制系統(tǒng)“肚豺。這名詞聽上去非常專業(yè),實際上也好理解界拦。版本就是指一份文件經(jīng)過多次修改后吸申,構(gòu)成了不同的版本,有版本一,版本二截碴,版本三.....梳侨,有時面對這些經(jīng)過不同人或同一個人在不同時間修改過的不同版本的文件,我們不能完全刪除日丹,需要暫時保存以備日后需要時對比查看走哺,通常的做法是把每一版本都保存一份在電腦里,這些都是人工操作的哲虾。而”版本控制系統(tǒng)“就是電腦里安裝好了的一個軟件割坠,不需要人工操作,系統(tǒng)自動會保存和記錄該文件每一次改動的內(nèi)容妒牙,用戶可以非常方便地隨時查看。
1991年对妄,芬蘭人linus創(chuàng)建了類似Windows的電腦操作系統(tǒng)Linux,這套系統(tǒng)的影響力現(xiàn)在也不亞于Windows了湘今。Linux是免費的開源系統(tǒng),它的代碼系統(tǒng)是對外開放的剪菱,全世界的電腦愛好者都可以對它的代碼庫進(jìn)行修改摩瞎,然后把他們編寫的代碼文件發(fā)給Linus,Linus本人再手工合并代碼孝常,所以2002年之前Linux的代碼庫都是手工管理的旗们。
2002年之前沒有”版本控制系統(tǒng)“嗎?答案是否定的构灸。當(dāng)時有CVS和SVN這些免費的版本控制系統(tǒng)上渴,但它們都有很大的缺點,速度慢喜颁,必須聯(lián)網(wǎng)才能使用稠氮。有一些收費的版本控制系統(tǒng)雖然好用,但是它們的代碼系統(tǒng)不對外開放半开,與Linux的理念不合隔披。
2002年由于代碼庫發(fā)展壯大,人工操作已經(jīng)很難維續(xù)寂拆,于是Linus選擇了一個商業(yè)的版本操作系統(tǒng)BitKeeper奢米,幸運的是,Linux社區(qū)獲得了免費使用這個系統(tǒng)的權(quán)利纠永。
不過好景不長鬓长,2005年,由于Linux社區(qū)一些技術(shù)牛人的違規(guī)行為尝江,BitKeeper所屬的BitMover公司決定收回Linux社區(qū)的免費使用權(quán)痢士。
與BitMover公司鬧翻之后,Linus決定不再寄人籬下,他發(fā)奮圖強怠蹂,僅用兩周時間就自己編寫了一個分布式版本控制系統(tǒng)善延,Git就這樣誕生了!一個月之后城侧,Linux的代碼庫就由Git全面接管了易遣。Git迅速成為最流行的最高效的分布式版本控制系統(tǒng)。
2008年嫌佑,Github網(wǎng)站上線豆茫,吸引了無數(shù)開源項目在此落戶,享受免費的Git管理屋摇。
?
問題二:集中式版本控制系統(tǒng)與分布式版本控制系統(tǒng)的區(qū)別
比如我們一個公司的同事一共四人:組長digman, 組員有慧娟揩魂、豐盛姐和夜影隨風(fēng),每人各有一臺辦公電腦∨谖拢現(xiàn)在我們四人需要一起合作寫一篇文章——《關(guān)于git的前世今生》火脉。
我們四人都按自己的理解各自寫好了這篇文章,大家把自己的文章初稿都發(fā)到digman的電腦里柒啤,digman把大家寫的內(nèi)容綜合整理和修改后倦挂,構(gòu)成了一篇全面詳細(xì)的介紹git來龍去脈的文章,即二稿——目前文章的最新版本担巩,現(xiàn)在只存放在digman的電腦里方援。
在集中式版本控制系統(tǒng)里,如果各位組員想查看并修改這最新版本的文章涛癌,只能從組長digman的電腦里調(diào)出來后查看和修改犯戏。組長的電腦相當(dāng)于中央服務(wù)器,存儲了每個人寫的初稿和最新版本二稿拳话。所以3位組員的電腦必須與組長的的電腦聯(lián)網(wǎng)才能協(xié)同工作笛丙。
在分布式版本控制系統(tǒng)里,每位組員的電腦里都會自動保存最新版本的文章假颇,四臺電腦沒有主次之分胚鸯,不需要聯(lián)網(wǎng),每位組員可以各自在自己的電腦里查看最新版本的文章并做相應(yīng)的處理笨鸡。如果慧娟又修改了最新版本二稿文章姜钳,其他三位想看哪些地方做了改動,慧娟只需把修改的部分通過系統(tǒng)發(fā)送給digman形耗、豐盛姐和夜影隨風(fēng)哥桥,他們就馬上能看到修改的內(nèi)容。
?
問題七:給小白看的git 的教程大綱
一激涤、git 簡介
1. 什么叫版本控制系統(tǒng)
2.集中式版本控制系統(tǒng)與分布式版本控制系統(tǒng)
3. git 的誕生
二拟糕、安裝git
三、創(chuàng)建版本庫
1. 在工作區(qū)寫文件
2. 添加文件至?xí)捍鎱^(qū)
3. 提交文件至分支
4. 文件修改的版本回退
5. 修改的管理和撤銷
四、連接中央服務(wù)器github網(wǎng)站
1. 配置ssh
2. 將個人電腦(分支)與github連接
五送滞、分支管理
1. 創(chuàng)建與合并分支
2. 多人協(xié)作
六侠草、使用github
?
?