項目實踐中--Git伺服器的搭建與使用指南

來源:互聯網
上載者:User

標籤:

 

一、前言

Git是一款免費、開源的分布式版本控制系統,用以有效、高速的處理從很小到非常大的項目版本管理。在平時的項目開發中,我們會使用到Git來進資料列版本設定。

Git的功能特性:

從一般開發人員的角度來看,git有以下功能:

1、從伺服器上複製資料庫(包括代碼和版本資訊)到單機上。

2、在自己的機器上建立分支,修改代碼。

3、在單機上自己建立的分支上提交代碼。

4、在單機上合并分支。

5、建立一個分支,把伺服器上最新版的代碼fetch下來,然後跟自己的主分支合并。

6、產生補丁(patch),把補丁發送給主開發人員。

7、看主開發人員的反饋,如果主開發人員發現兩個一般開發人員之間有衝突(他們之間可以合作解決的衝突),就會要求他們先解決衝突,然後再由其中一個人提交。如果主開發人員可以自己解決,或者沒有衝突,就通過。

8、一般開發人員之間解決衝突的方法,開發人員之間可以使用pull 命令解決衝突,解決完衝突之後再向主開發人員提交補丁。

從主開發人員的角度(假設主開發人員不用開發代碼)看,git有以下功能:

1、查看郵件或者通過其它方式查看一般開發人員的提交狀態。

2、打上補丁,解決衝突(可以自己解決,也可以要求開發人員之間解決以後再重新提交,如果是開源項目,還要決定哪些補丁有用,哪些不用)。

3、向公用伺服器提交結果,然後通知所有開發人員。

關於Git伺服器的搭建過程,網上有很多的方法,本文主要是談談Git伺服器搭建好之後,如何使用以及怎麼使用的問題,比如使用權限設定、跨平台使用等。

PS:對於Git伺服器的搭建,本文提供以下連結,以供參考。

廖雪峰的Git教程http://www.liaoxuefeng.com、ubuntu完美搭建git伺服器 、http://www.rosoo.net/a/201102/10956.html

二、Git伺服器操作和使用指南

1、Ubuntu下安裝git和使用git伺服器

在終端輸入sudo apt-get install git命令,安裝git

以下及步驟均以[email protected]這台虛擬機器操作為例

git安裝完之後,在命令列輸入:

Your Name 和Email隨意填寫,目的是用來標識git身份

建立一個檔案夾如:

輸入git init命令,將此檔案夾初始化為一個git倉庫(空倉庫)

輸入ssh-keygen –t rsa命令產生ssh公開金鑰(出現停頓按斷行符號即可)

在主資料夾目錄下會產生一個.ssh檔案夾(若無則按Ctrl +H使之顯示)

在本虛擬機器上repository目錄下建立一個目錄gitadmin用於存放gitosis-admin.git倉庫如:

將Git伺服器中gitosis-admin.git倉庫clone下來([email protected]是我建的Git伺服器相應的換成你建的Git伺服器即可)

Clone正確會顯示如下資訊

clone下來會有一個gitosis.conf的設定檔和一個keydir的目錄。gitosis.conf用於配置使用者的許可權資訊,keydir主要使用者存放ssh公開金鑰檔案(一般以“使用者名稱.pub”命名,gitosis.conf設定檔中需使用相同使用者名稱),用於伺服器認證請求的用戶端機器。

將本機器上產生相應的.ssh檔案夾中的id_rsa.pub公開金鑰檔案,按使用者名稱命名為如[email protected],複製到keydir目錄下

編輯gitosis.conf檔案,設定許可權

將本機使用者名稱(如[email protected])添加,並賦予許可權

這些配置的修改只是在本地修改的,還需要推送到伺服器中才會生效

上述的git add . 和git commit –am “add a user”是儲存和提交到本地

git push origin master表示將上述修改內容推送到Git伺服器

推送成功會顯示下面提示資訊

至此,Git伺服器就有和上述配置的keydir和gitosis.conf一樣的資訊

 

如我在Git伺服器中已建立好了一個teamwork.git倉庫用來管理項目如:

那麼,現在就可以在本機上從Git伺服器中clone teamwork.git以及做了修改後進行推送到git伺服器

首先在本機先建立一個檔案夾myrepository

進入到myrepository下複製teamwork.git

得到teamwork.git倉庫如所示

現在在本地的teamwork.git倉庫中建立readme檔案,然後進行提交和推送

每當Git伺服器中teamwork.git倉庫有更新時,可以在本機上通過git pull命令擷取最新版本的資料(注意要到teamwork目錄內)

此時本機teamwork.git倉庫中就有了其他開發機推送的最新版本的資料(如果其他開發機push了最新資料)。

至此,本虛擬機器就可以從Git伺服器進行pull和push操作了。

 

2、在windows上對Git伺服器進行pull和push

首先下載安裝windows版本的git用戶端軟體,:http://msysgit.github.io/

安裝完成後,在開始菜單裡找到“Git”->“Git Bash”,蹦出一個類似命令列視窗的東西,就說明Git安裝成功!(windows以[email protected]為例)

按照Ubuntu中的方法將.ssh檔案夾中的id_rsa.pub檔案按使用者名稱命名成[email protected],複製到keydir檔案夾,修改gitosis.conf檔案,進行提交和推送到git伺服器。

擷取之前在Ubuntu中推送的內容如

開啟相應的檔案夾,裡面已經有了在Ubuntu下建立的檔案readme

再在windows下建立一個檔案experiment.txt

在本地添加、提交,然後推送到git伺服器

使用git pull命令就會獲得git伺服器上的最新更新(表示的是此時已是最新版本)

同理,這時你也可以再Ubuntu虛擬機器下pull擷取teamwork倉庫項目的最新版本。

這樣在不同開發機之間通過git實現版本控制。

 

如果您有什麼不理解的地方歡迎留言交流,文中有您的地方,希望海涵並給予指正。如果您覺得文章對您有所協助,您的留言和推薦將對我是莫大的鼓舞!

如需轉載本文,請註明來源: http://www.cnblogs.com/changjianqiu/

項目實踐中--Git伺服器的搭建與使用指南(轉)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.