GIT 源码管理-简介
關于GIT
GIT 是一個分布式版本控制軟件,最初由林納斯·托瓦茲(Linus Torvalds)創作,于2005年以GPL發布。最初目的是為更好地管理Linux內核開發而設計。是目前世界上最先進的分布式版本控制系統.
GIT 誕生
很多人都知道,Linus在1991年創建了開源的Linux,從此,Linux系統不斷發展,已經成為最大的服務器系統軟件了。
Linus雖然創建了Linux,但Linux的壯大是靠全世界熱心的志愿者參與的,這么多人在世界各地為Linux編寫代碼,那Linux的代碼是如何管理的呢?
事實是,在2002年以前,世界各地的志愿者把源代碼文件通過diff的方式發給Linus,然后由Linus本人通過手工方式合并代碼!
你也許會想,為什么Linus不把Linux代碼放到版本控制系統里呢?不是有CVS、SVN這些免費的版本控制系統嗎?因為Linus堅定地反對CVS和SVN,這些集中式的版本控制系統不但速度慢,而且必須聯網才能使用。有一些商用的版本控制系統,雖然比CVS、SVN好用,但那是付費的,和Linux的開源精神不符。
不過,到了2002年,Linux系統已經發展了十年了,代碼庫之大讓Linus很難繼續通過手工方式管理了,社區的弟兄們也對這種方式表達了強烈不滿,于是Linus選擇了一個商業的版本控制系統BitKeeper,BitKeeper的東家BitMover公司出于人道主義精神,授權Linux社區免費使用這個版本控制系統。
安定團結的大好局面在2005年就被打破了,原因是Linux社區牛人聚集,不免沾染了一些梁山好漢的江湖習氣。開發Samba的Andrew試圖破解BitKeeper的協議(這么干的其實也不只他一個),被BitMover公司發現了(監控工作做得不錯!),于是BitMover公司怒了,要收回Linux社區的免費使用權。
Linus可以向BitMover公司道個歉,保證以后嚴格管教弟兄們,嗯,這是不可能的。實際情況是這樣的:
Linus花了兩周時間自己用C寫了一個分布式版本控制系統,這就是Git!一個月之內,Linux系統的源碼已經由Git管理了!牛是怎么定義的呢?大家可以體會一下。
Git迅速成為最流行的分布式版本控制系統,尤其是2008年,GitHub網站上線了,它為開源項目免費提供Git存儲,無數開源項目開始遷移至GitHub,包括jQuery,PHP,Ruby等等。
歷史就是這么偶然,如果不是當年BitMover公司威脅Linux社區,可能現在我們就沒有免費而超級好用的Git了。
什么是版本控制
版本控制(Revision control)是維護工程藍圖的標準作法,能追蹤工程藍圖從誕生一直到定案的過程。此外,版本控制也是一種軟件工程技巧,借此能在軟件開發的過程中,確保由不同人所編輯的同一代碼文件案都得到同步。
集中式和分布式
再說分布式是什么前, 我們前看一下什么是集中式.
集中式
集中式版本控制系統,版本庫是集中存放在中央服務器的,而干活的時候,用的都是自己的電腦,所以要先從中央服務器取得最新的版本,然后開始干活,干完活了,再把自己的活推送給中央服務器。中央服務器就好比是一個圖書館,你要改一本書,必須先從圖書館借出來,然后回到家自己改,改完了,再放回圖書館。
集中式版本控制系統最大的毛病就是必須聯網才能工作,如果在局域網內還好,帶寬夠大,速度夠快,可如果在互聯網上,遇到網速慢的話,可能提交一個10M的文件就需要5分鐘,這還不得把人給憋死啊。
分布式
那分布式版本控制系統與集中式版本控制系統有何不同呢?首先,分布式版本控制系統根本沒有“中央服務器”,每個人的電腦上都是一個完整的版本庫,這樣,你工作的時候,就不需要聯網了,因為版本庫就在你自己的電腦上。既然每個人電腦上都有一個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了文件A,你的同事也在他的電腦上改了文件A,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。
和集中式版本控制系統相比,分布式版本控制系統的安全性要高很多,因為每個人電腦里都有完整的版本庫,某一個人的電腦壞掉了不要緊,隨便從其他人那里復制一個就可以了。而集中式版本控制系統的中央服務器要是出了問題,所有人都沒法干活了。
在實際使用分布式版本控制系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在一個局域網內,兩臺電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。因此,分布式版本控制系統通常也有一臺充當“中央服務器”的電腦,但這個服務器的作用僅僅是用來方便“交換”大家的修改,沒有它大家也一樣干活,只是交換修改不方便而已。
安裝GIT
ubuntu Linux
1、$ git 2、The program 'git' is currently not installed. You can install it by typing:使用下面的命令進行安裝git工具.
$ sudo apt-get install gitmac ox
創建版本庫
什么是版本庫呢?版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄里面的所有文件都可以被Git管理起來,每個文件的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。
第一步, 先要創建一個目錄, 這個目錄就是用來存放倉庫的.
$ mkdir html $ cd html第二步, 使用git init命令, 將當前目錄創建成git倉庫.
$ git init Initialized empty Git repository in馬上就把倉庫創建成功了, 并提示這是一個空倉庫.
$ ls -al .git我們看一下當前目錄有什么東西? 會發現有一個隱藏的.git目錄. 這個目錄就是存放著git管理工具用到的所有信息和基本配置信息. 沒事千萬不要手動修改這個目錄, 不然改亂了, git倉庫就給破壞了.
提交
提交就是要把需要git管理的文件保存到倉庫里, 這種保存類似前面所講的一個版本的保存.
只有把修改的的狀態提供到倉庫里, 才方便把倉庫中把它取出來.
增加文件
提交前需要先把需要關注它修改有文件或是需要提交到倉庫的文件加到管理列表里來.
當前目錄里沒有文件, 那么我們先創建一個文件README.
$ touch README編輯這個文件, 寫一點東西在里面.
$ vim README先用查看當前狀態的命令, 查看一下現在目錄下文件的狀態.
$ git status把文件加到倉庫中去, 只有加到倉庫中了, 才可能看一下文件的變化.
$ git add README現在使用查看狀態的命令, 看一下是目錄下文件的狀態.
$ git status提交
$ git commit配置用戶信息
配置用戶名, 這個用戶名是你的提交patch的名子, 最好寫真的名了, 不是網名, 如果有一天你成為名人了,那這個東西會一直印著你的足跡.
$ git config --global user.name配置用戶郵箱, 這個郵箱最好寫你最常用的郵箱, 說不定會有人給你寫郵件的, 這個是可能來自世界的任何角落, 可能是任何膚色和眼睛.
$ git config --global user.email配置編輯提交信息的編輯器, 我們熟悉的編輯器是vim. 使用這個去編輯提交信息, 最好把每一次提交信息填寫寫的全面, 不是為了給別人看, 萬一那天自己想回顧一下. 也需要詳細的信息.
$ git config --global core.editor vim查看提交信息
我們剛才學習了提交信息, 那現在查看一下我們提交的信息.
$ git log轉載于:https://www.cnblogs.com/mophy/p/7015969.html
總結
以上是生活随笔為你收集整理的GIT 源码管理-简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Atitit 关于处理环保行动联盟和动物
- 下一篇: 《基于Node.js实现简易聊天室系列之