#Git是什么?
Git是一款免費、開源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目。Git是一個開源的分布式版本控制系統,用以有效、高速的處理從很小到非常大的項目版本管理。Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。
如果說為什么要選擇Git,可以說因為Git高端大氣上檔次,實現了免費開源易用的版本控制功能,并有諸多優點。
#為什么選擇Git??
### git起源
在1991年linus創建了Linux從此linux成為服務器領域的佼佼者,大部分web服務器、郵件、數據庫各種服務器端程序都安裝在了linux上面運行,主要是因為它運行的快速、高效、利用率高,這樣一個優秀的系統并不是一個人在維護,來自民間的眾多高手一起在維護這linux發展,那么這么多分布式世界各地的人如何共同維護如此多的Linux代碼呢?
這就需要一個分布式代碼管理工具,linus使用過BitKeeper來管理代碼但是它是收費的,讓很多人用著不爽,后來linus本人就自己開發寫了一個工具來管理,這就是git的第一個版本。
后來隨著時間推移越來越多的開源軟件通過Git來管理,為了把世界各地的開源項目管理起來,GitHub網站隨后上線了,很多流行的項目加入的此網站上面。例如我們經常使用的jquery等。
###vs集中式版本系統
集中式版本控制系統像CVS、SVN等,一般是將代碼部署到一臺服務器上面,每個開發者在每天開發之前需要從服務器上面checkout下來最新的代碼,本地修改完后要 commit,要求本地電腦與服務器連著才可以提交如果網絡帶寬慢則會很卡,記得曾經在公司提交代碼,幾十k的代碼每次提交都會卡住,很影響開發速度和開發質量。
集中式圖例如下

如果在公網上面開發和提交代碼那么久會更慢了,設想如果你想在家里面開發項目,SVN服務器在公網上面先下載后更新會有多慢,如果家里沒有聯網就會更悲催了。
相比之下,git不需要連接網絡就可以提交代碼,本機具有完成的代碼庫,事實上每個開發者都具有一個完整的代碼庫,我們可以隨心所有提交代碼,每個人修改代碼之后會將修改的代碼互相推送給每個人,通常為了提高互相推送的傳輸效率往往搭建一臺git服務器來進行代碼的推送和拉回,可以提高開發效率。如下圖

除了git,與git類似的分布式代碼管理還有Mercurial、Bazaar等等。有特殊需求的可以找具有某種特性的管理軟件。
#安裝Git
git安裝在不同的系統上面安裝方式不太一樣,包括linux、mac 、window等,對于大多數開發者來說常用的還是window版安裝,因此這里只說一下window安裝方式。
在window上面執行linux程序需要先安裝cygwin這個程序,它是用來window與linux shell交互的軟件,實現了讓window用戶體驗linux系統的各種命令,而不用安裝幾個G的linux系統。
安裝Git-1.9.5-preview20150319.exe這個軟件中集成了cygwin,它們會一起安裝到系統中,安裝過程很簡單一直下一步,在快捷菜單出現Git,打開如下圖 表示安裝成功。

#創建版本庫
1.在e盤下面建立文件夾git/demo1/,然后進入該目錄輸入命令:git init 既可完成初始化工作。如下圖

版本庫根目錄下,會出現一個.git 文件,這個是版本庫文件控制著這個目錄(包括子目錄)下面的文件更刪改查改動。
2.在目錄下面新建一個 ?git.txt 文件夾,依次執行 ?git add git.txt ?;git commit git.txt 既可將文件提交。
#總結
公司一直在使用Git但一直也沒有總結一下,感覺一直停留在會用的層次對自己還是對別人沒有什么提高,有時候需要拿出來一些時間對所使用的、所涉及的、所感悟的用文字寫下來。
在過了很多年之后回過頭來看看自己經理過的東西,應該會有不一樣的感覺,匆匆時光如果什么都不留下會感覺空曠,在寫的過程中會思考一些小的細節,讓整個過程更清晰。
由于工作或是其他原因,發現一邊工作可以堅持寫博客還是挺難的,不是沒有時間也不是沒有東西可寫,只是不能夠像在大學時有一顆平靜的心,來寫寫東西。
如果說以前寫博客的目的是學習和積累,以及讓更多的人認識你,或是找一個不錯的工作作為動力,那么現在也可以堅持寫,首先是利于自己的不論是出于有用或沒用的目的,對自己肯定是有用的。
寫一寫是將一些想法表達出來,甚至你可以寫寫對領導的不滿、對工作的抱怨,以及如果你是老板你會怎么樣做,你要怎么樣做待會是一個優秀的員工等等,還可以是一個特別小的設計思路、一行代碼、一個發生在公司的小事情都是你可以拿出來寫寫的。
暮然回首一下你曾經待過的公司,可能你已經忘記了你的隊友叫啥、在你們開發項目中發生過什么事情,好的設計方案、實現方案,每個領導身上的優點,以及公司的運營流程等等,這些如果你平時不寫寫啥的,過半年你就會什么也想不起來了,人都是對最近發生的事情記憶尤新,網絡記錄是幫我們的最好幫手。