[.net 面向對象程序設計進階] (25) 團隊開發利器(四)分佈式版本控制系統Git——使用GitStack+TortoiseGit 圖形界面搭建Git環境【轉】

轉自:http://www.cnblogs.com/yubinfeng/p/5182271.htmlhtml

前面介紹了兩款代碼管理工具VSS和SVN,這兩種管理工具在很長一段時間曾爲咱們的代碼管理提供了便利,本篇介紹一款思惟方式徹底不一樣(也能夠說不合常理)的版本控制系統——Git。能夠說Git目前很是火,這與設計者劍指偏鋒的設計思想有很大關係。Git採用發散的思惟管理代碼,最大的特色就是分佈式,他可讓來自不一樣地區的開發者共同完成一個做品,讓每一個開發者均可以發揮個性,同時又能夠由發起者(即項目管理者)統一發布新版本。各個地區的開發者,還能夠離線開發,這樣版本管理系統之因此火,也和當今社會萬衆創新的氛圍分不開。經過Git你能夠盡情的發揮想象力,開源的春天已經到來,讓咱們啓航吧!git

 1. Git簡介 算法

名稱:Git (Git的讀音爲/gɪt/,開源、免費、分佈式的版本控制系統) spring

廠商:Linux 的締造者 Torvalds 發起,爲了更適合開源項目而設計,最初爲Linux 版本,現已能夠在Linux,Unix,Max,Windows各類系統中使用 數據庫

功能:分佈式版本控制、元數據方式存儲而非文件方式、GIT的內容存儲使用的是SHA-1哈希算法能確保代碼內容的完整性等,太多了讓咱們慢慢挖掘。 apache

優勢:安全

(1)分佈式:提及優勢,大多都是相對其它管理工做好比SVN等,最大的優勢就是分佈式,最大化開發個性;服務器

(2)輕負載:由於強化個體而且使用元數據存儲而非文件形式,公用服務器壓力較小;網絡

(3)高性能:能快速處理分支,合併簡單快捷;而且分個分支的衝突解決很是方便。mybatis

(4)完整性:在保存到 Git 以前,全部數據都要進行內容的校驗和(checksum)計算,並將此結果做爲數據的惟一標識和索引。若是文件在傳輸時變得不完整,或者磁盤損壞致使文件數據缺失,Git 都能當即察覺。

(5)離線式:離線工做是Git一個重要特色,這種模式在之前獨佔式的版本控制的年代,是沒法想象的。

(6)還有不少……

缺點:提及缺點,就現有的幾種版本控制系統相比較,幾乎找不出明顯缺點,惟一明顯的就是代碼保密性差,一旦開發者把整個庫克隆下來就能夠徹底公開全部代碼和版本信息,這也是做者在設計之初的目標,以開源共享的大同世界爲目標。再要說缺點爲就是主觀方面的,比較學習難度稍大點(這個不要怕,後面會慢慢介紹),整個使用過程比較不符合常規思惟(這個也不要怕,總要推陳出新的嘛 )。 

升級:開源項目,管理規範,升級及時。 

推薦:★★★★★ (從小型到大型項目均適用,小到小小的代碼片斷,大到Android、facebook、PHP、spring、mybatis等等)

2. Git基礎

Git雖然這麼多優點,但大多教程中都使用命令方式操做,這讓初學者望而卻步,本篇儘可能使用圖形化界面介紹。

Git是一個全新思惟的版本控制系統,若是你以前使用VSS,CVS,SVN等工具,那麼你必定不要把類似的概念做對比,最好忘記之前的合併、分支之些具體實現模式。(這點慢慢展開)

Git的近乎全部操做都在本地進行,即離線式。不論你在何地,均可以投入開發之中,那麼如何控制版本,這點不要擔憂,在你網絡方便的時候上傳更改便可。

Git在上傳數據時進行一系統計算,最小化的數據傳輸,若文件沒有變化,Git 不會再次保存,而只對上次保存的快照做一連接。

Git擁有較高的可靠性,只要你養成按期推送的習慣,你能夠隨意在本地計算機上作實驗,不用擔憂弄丟數據,數據如何恢復,後面會慢慢介紹。

Git的文件有三種狀態:已提交(committed),已修改(modified)和已暫存(staged)。已提交表示該文件已經被安全地保存在本地數據庫 中了;已修改表示修改了某個文件,但尚未提交保存;已暫存表示把已修改的文件放在下次提交時要保存的清單中。

Git直接記錄快照,而非差別比較。Git 和其餘版本控制系統的主要差異在於,Git 只關心文件數據的總體是否發生變化,而大多數其餘系統則只關心文件內容的具體差別。

若是沒有理解,不要緊,慢慢來。

3. Git 基本工做流程 

(1). 在工做目錄中修改某些文件。

(2). 對修改後的文件進行快照,而後保存到暫存區域。

(3). 提交更新,將保存在暫存區域的文件快照永久轉儲到 Git 目錄中。 

所以,咱們能夠從文件所處的位置來判斷狀態:若是是 Git 目錄中保存着的特定版本文件,就屬於已提交狀態;

若是做了修改並已放入暫存區域,就屬於已暫存狀態;

若是自上次取出後,做了修改但尚未放到暫存區域,就 是已修改狀態。

後面咱們會進一步瞭解其中細節,並學會如何根據文件狀態實施後續操做,以及怎樣跳過暫存直接提交。

4.Git的安裝前準備

4.1 安裝包簡介

終於進入到激動人心的時刻了,經過上面的介紹,看着很神祕的東東,立刻就要進入咱們的視野中了。

在本系列文章中,我只介紹如何在Windows系統下安裝Git(雖然說Windows下使用多Linux/Unix工具須要模擬環境,帶來不少不便,可是國內大多同窗仍是使用Windows),其餘操做系統的同窗請參照其餘文章。

服務器端工具:

Git 官方的服務端 須要使用命令行建立版本庫等操做。

gitstack 第三方開源服務器端,專爲Windows訂製,集成了較成熟悉版本的Git,而且Web方式的操做界面,無需指令。

客戶端工具以下:

TortoiseGit (TortoiseSVN的兄弟)圖形化界面作的最好的Git客戶端 

Git Extensions (Visual Studio 2013/2015集成的Git客戶端)讓您不使用命令行控制的 Git 的圖形化客戶端

git-cola 是一個Python開發的時尚和強大的git圖形用戶界面

EGit - (Java開發者Git客戶端插件)利用EGit能夠在 Eclipse中實現分行,合併,複製和同步庫

還有不少,咱們會重點介紹TortoiseGit 和 Git Extensions

4.2  安裝包下載

咱們下載Windows環境下咱們所需的安裝包

(1)服務器端

對於服務器端環境配置這方面,網上現有的資料並非不少,特別是在Windows環境下的服務器搭建

喜歡使用Git原生版本的同窗,請參照下面幾篇文章:

Windows+Git+COPSSH 方式,URL:http://blog.csdn.net/aaron_luchen/article/details/10498181   http://blog.csdn.net/code_style/article/details/38764203

對於Git命令行方式操做比較全的資料,URL:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

順便賦上Git官方的下載地址

Git服務器端Windows版本安裝包 (包含32位和64位,根據你的服務器操做系統選擇)

Git-2.7.0.2-64-bit.exe 

官網URL:http://git-scm.com/download/win 

(注意:咱們下面將要使用的服務器端環境並不須要下載原版)

不過COPSSH也不是免費的,而且上面的環境下還須要使用一些命令來完成部分操做(我並非歧視使用命令行的方式操做,首先這是一個入門文章,力求簡單,再者服務器端的搭建使用Linux更合適)

下面,我在本篇文章中爲了讓你們儘快用上Git,咱們也劍走偏鋒使用第三方純界面的服務器端gitstack ,他集成了Git,所以咱們的安裝下載,並不須要專門下載Git服務器端了

由於集成了apache和Git,這個安裝包有點大126M,耐心下載吧

準備下載的第一個安裝包:

gitstack 開源集成Git的界面服務器端

官網URL:http://gitstack.com/download/

下載過程以下圖:

(2)客戶端

TortoiseGit安裝包 和 中文語言包(包含32位和64位,根據你的客戶端操做系統選擇,我以64位爲例介紹)

官方URL:http://tortoisegit.org/download/ 

TortoiseGit-1.8.16.0-64bit.msi

TortoiseGit-LanguagePack-1.8.16.0-64bit-zh_CN.msi

下載過程以下圖:

 

下載完成的三個安裝包以下:

 

5. 服務器端安裝

 準備工做就緒,咱們開始安裝服務器端,雙擊 GitStack_2.3.8.exe

注意:此時,若是有這個提示,咱們就須要暫時關閉佔用80端口的服務了,怎麼關閉呢,先找到什麼服務佔用了80

 

 運行,CMD,輸入netstat -aon|findstr "80" 查找到 佔用80的程序的PID

而後在任務管理中,找到 中止便可

而後一路安裝完成,會自動打開管理界面

默認用戶和密碼admin登陸

這個界面是多麼熟悉啊,和SVN類似,建立 版本庫 、建立組、建立用戶、設置

到此咱們服務器的安裝就完成了,使用GitStack建立基於Windows服務器端就是這麼簡單。下面咱們介紹它的使用。

5. Git服務器端GitStack的使用

GitStack的使用很是簡單,和SVN服務端沒多大區別,先看一下設置

  

完成設置後,咱們建立一個版本庫和一個組及2個用戶

 將2用戶加入該組

接下來,咱們給版本庫受權組MyGitGroup,因而,這兩個用戶就擁有該版本庫的操做權

先建立一個版本庫 MyGitObject,並配受權組或用戶(這裏咱們受權組,就擁有該組下的兩個用戶了)

將剛纔建的 組  MyGitGroup加入該版本庫

設置組的讀寫權限

到此服務端的配置完成,咱們能夠看到 ,在設置的版本庫目錄中,多了一個咱們剛建立的版本庫文件夾 MyGitObject.git

 

喜歡使用命令行的同窗,仍然能夠在這裏打開操做 ,能夠看到 GitStack的惟一做用,就是幫咱們提供了一個http服務+一個界面化配置並且,咱們的核心仍是Git

 6.Git客戶端的安裝

客戶端工具衆多,咱們選擇前面已經下載好的「小烏龜」

找到前面下載好的TortoiseGit安裝包和語言包

 

安裝客戶端開始

全程下一步,完工,而後安裝語言包(喜歡英文版的能夠完工了)

語言包,下一步,完成!

語言包安裝完成後,咱們在開始菜單中找到 TortoiseGit的設置

選擇語言爲:簡體中文 

客戶完工!@!

7.Git客戶端TortoiseGit的使用

繼續介紹TortoiseGit的使用

 7.1 獲取服務器版本庫

先在本地計算機建立一個Git的工做目錄 F:\GitWorkArea 

打開目錄在空白處右擊,能夠看到 TortoiseGit的菜單,初始操做能夠選擇Git克隆,即獲取服務端版本庫,也能夠選擇建立一個新的版本庫

由於以前咱們在服務端已經建立過了一個版本庫,咱們選擇 克隆。

在這裏URL咱們輸入 ,以前服務器端建立的版本庫地址,點肯定後,這時須要咱們認證一下用戶和密碼,這是必須的嘛 ,否則誰均可以克隆咱們的版本了

用戶和密碼驗證完成後,版本庫克隆成功。

7.2 建立新文件

接下來,必須是火燒眉毛的建立一個文件,開始咱們的Git之旅了

隨便寫點什麼,而後保存,關閉。

7.3 提交

提交咱們新建的文件到版本庫,很是簡單,在工做目空白處右擊

 

而後點擊,提交 到 master

這時,會有一個提示,須要設置一個交互的mail

在彈出的設置上,完成後肯定

而後填寫備註,記得養成良好的使用習慣,提交要寫備註哦,而後選中文件,肯定

提交完成~

7.4 查看變動日誌

查看日誌前,咱們在工做內再次建立一個文件,提交;而後再次打開該文件,修改一下內容提交。

在工做目錄右擊 選擇 TortoiseGit ,打開「顯示日誌」

在日誌窗口,咱們能夠看到三次變動的備註等信息,很是全面

先到這裏吧,不知不覺凌晨4點了,關於TortoiseGit的使用會讓你不斷驚喜的,下篇會繼續介紹分支的創建,分支間的靈活切換,合併等等很是實用的功能。

8.本節要點:

本節內容比較多,首先讓咱們對Git這一版本控制系統有了一個初步的認識,爲了不許多文章中一入手就是各類命令行,讓初學者望而卻步。我選擇了從一個最簡單的服務器環境配置入手,即GitStack來建立Windows下的Git服務器端,隨後介紹了咱們熟悉的"小烏龜"版本的客戶端工具,即TortoiseGit的安裝及基本使用。下節更多實用的功能等着咱們。

若是喜歡個人博文 ,記得點贊哦,也能夠加QQ羣交流,羣號:467189533

相關文章
相關標籤/搜索