geekest小組作業(yè)(1、3、6)
** 1.用 500 字說說 Git 的前生今世。**
Linus 是linux操作系統(tǒng)的創(chuàng)始人,它寫linux代碼的時候,最開始使用bitkeeper作為linux內(nèi)核主要的版本控制工具,但是bitkeeper是專有軟件,和linux的開放精神相違背,所以一直在linux社區(qū)中遭到質(zhì)疑,社區(qū)中主張使用開源軟件進(jìn)行版本管理,然后linus發(fā)現(xiàn)開源的大多不好用,因此只能繼續(xù)使用bitkeeper。
最后linux社區(qū)和bitkeeper的人因為一件小事發(fā)生了不可調(diào)和的分歧,然后linus就決定自己開發(fā)版本控制系統(tǒng)替代bitkeeper,用了10天時間,編寫出第一個git版本(大神般人物!請接受我的膝蓋!)
git是用于Linux內(nèi)核開發(fā)的版本控制工具。與CVS、Subversion一 類的集中式版本控制工具不同,它采用了分布式版本庫的作法,不需要服務(wù)器端軟件,就可以運作版本控制,使得源代碼的發(fā)布和交流極其方便。git的速度很快,這對于諸如Linux內(nèi)核這樣的大項目來說自然很重要。git最為出色的是它的合并追蹤(merge tracing)能力。
實際上內(nèi)核開發(fā)團(tuán)隊決定開始開發(fā)和使用git來作為內(nèi)核開發(fā)的版本控制系統(tǒng)的時候,世界上開源社區(qū)的反對聲音不少,最大的理由是git太艱澀難懂, 從git的內(nèi)部工作機(jī)制來說,的確是這樣。但是隨著開發(fā)的深入,git的正常使用都由一些友善的命令稿來執(zhí)行,使git變得非常好用。現(xiàn)在,越來越多的著 名項目采用git來管理項目開發(fā),例如:wine、U-boot等。
作為開源自由原教旨主義項目,git沒有對版本庫的瀏覽和修改做任何的權(quán)限限制,通過其他工具也可以達(dá)到有限的權(quán)限控制,比如:gitosis、 CodeBeamerMR。原本git的使用范圍只適用于Linux/Unix平臺,但在Windows平臺下的使用也日漸成熟。
** 2.舉例說明集中式與分布式版本控制的區(qū)別是什么?**
集中式就是會有一個中心,所有消息匯總到中心進(jìn)行處理分發(fā),而分布式就是去中心化,每一個點都是處理者。集中式的優(yōu)點是管理方便,但是如果遇到中心網(wǎng)絡(luò)故障則會造成所有從機(jī)無法與主機(jī)通信,而分布式則不存在這個問題。
** 3.用淺顯易懂的語言說明“工作區(qū)”、“暫存區(qū)”與“版本區(qū)”的含義與互相關(guān)系是什么?**
工作區(qū)是你現(xiàn)在正在操作的 庫,你的增生查改操作都是針對的這個庫的版本。
暫存區(qū)是你提交的本地庫,記錄你的所有更改,但是并沒有分發(fā)到網(wǎng)絡(luò)上,無法被別人獲取。
版本區(qū)是對外的公開版本,別人可以獲取到。
** 4.舉例演示如何讓遠(yuǎn)程庫與本地版本同步?**
- 命令行為例:
git pull #獲取目前最新版本
git commit -a #提交本地工作區(qū)到緩存區(qū),之后輸入更新信息
git push #提交緩存區(qū)版本
5.如何運用分支管理實現(xiàn)多人協(xié)作?
** 6.Git和自己的關(guān)系可能是什么,至少提出5種?**
- 寫書
- 寫文章
- 寫代碼
- 寫需求文檔
- 團(tuán)隊協(xié)作
- 改變固有思維,學(xué)會接納更多
- 使共享工作成果更加便捷!
7.整理一份給小白學(xué)習(xí)的 Git 教程大綱。
2016年5月31日19:43:30