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


一、前言

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.comubuntu完美搭建git服務器 http://www.rosoo.net/a/201102/10956.html

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

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

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

以下截圖及步驟均以hesonglin@master這台虛擬機操作為例

git安裝完之后,在命令行輸入:

1

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

新建一個文件夾如:

2

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

3

輸入ssh-keygen –t rsa命令生成ssh公鑰(出現停頓按回車即可)

4

在主文件夾目錄下會生成一個.ssh文件夾(若無則按Ctrl +H使之顯示)

5

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

6

將Git服務器中gitosis-admin.git倉庫clone下來(git@218.108.45.14是我建的Git服務器相應的換成你建的Git服務器即可)

7

Clone正確會顯示如下信息

8

clone下來會有一個gitosis.conf的配置文件和一個keydir的目錄。gitosis.conf用於配置用戶的權限信息,keydir主要用戶存放ssh公鑰文件(一般以“用戶名.pub”命名,gitosis.conf配置文件中需使用相同用戶名),用於服務器認證請求的客戶端機器。

將本機器上生成相應的.ssh文件夾中的id_rsa.pub公鑰文件,按用戶名命名為如hesonglin@master.pub,復制到keydir目錄下

9

編輯gitosis.conf文件,設置權限

10

將本機用戶名(如hesonglin@master)添加,並賦予權限

11

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

12

13

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

14

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

推送成功會顯示下面提示信息

15

至此,Git服務器就有和上述配置的keydir和gitosis.conf一樣的信息

 

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

16

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

首先在本機先創建一個文件夾myrepository

17

進入到myrepository下克隆teamwork.git

18

得到teamwork.git倉庫如下圖所示

19

現在在本地的teamwork.git倉庫中新建readme文件,然后進行提交和推送

20

21

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

22

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

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

 

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

首先下載安裝windows版本的git客戶端軟件,下載地址:http://msysgit.github.io/

安裝完成后,在開始菜單里找到“Git”->“Git Bash”,蹦出一個類似命令行窗口的東西,就說明Git安裝成功!(windows以chang@CHANG-PC為例)

23

按照Ubuntu中的方法將.ssh文件夾中的id_rsa.pub文件按用戶名命名成chang@CHANG-PC.pub,復制到keydir文件夾,修改gitosis.conf文件,進行提交和推送到git服務器。

獲取之前在Ubuntu中推送的內容如下圖

24

打開相應的文件夾,里面已經有了在Ubuntu下新建的文件readme

25

再在windows下新建一個文件experiment.txt

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

26

27

28

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

29

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

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

 

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM