天天看點

linux搭建git伺服器

git是非常友善的版本控制工具,目前網上有很多免費的git倉庫可以給我們使用,但是有些時候我們并不放心将我們的項目寄放在别人的伺服器上,這個時候就需要自己搭建一個git伺服器。

在linux上面搭建git伺服器是一件非常輕松的事情,隻需要按照以下幾步就能完成。為了確定整個過程的順利,最好新建立一個名為git的賬号,再使用該賬号進行配置

1.安裝git

在linux系統中,git安裝隻需要簡單指令就可以完成,隻需要打開終端,輸入

如果已經安裝過了的就跳過這一步。

2.建立git倉庫

終端進入到用來存放倉庫的目錄,建立一個檔案目錄,命名為: <工程名>.git ,比如 project.git , 指令行操作如下:

進入到該目錄下,初始化git repository

可以看到,在目前目錄下自動生成了多個檔案

branches  config  description  head  hooks  info  objects  refs

到這一步,git遠端倉庫已經搭建好了。

3.擷取遠端倉庫位址

遠端倉庫的位址一般組成的格式是:

<使用者名>@<伺服器位址>:<倉庫全路徑>

使用者名就是目前登入的賬号的名稱,比如我目前用的是 git賬号,使用者名就是git

伺服器位址就是遠端伺服器的位址,比如 120.21.11.21

倉庫全路徑這個也不難了解,直接在project.git目錄下輸入pwd,擷取project.git的全路徑。

比如:

/home/git/gitrepository/pythonserver/project.git

那麼整個遠端倉庫的位址就是:

[email protected]:/home/git/gitrepository/pythonserver/project.git

這個先記下來。

4.用戶端工程初始化

在用戶端建立工程project目錄,進入該目錄,建立readme檔案,往檔案裡面随便寫一些東西。

5.用戶端git初始化

如果用戶端沒有安裝git的話也可以按照第一步的方式進行安裝,安裝好了之後,進入到project目錄下,建立git本地倉庫。

本地倉庫初始化送出。

6.本地倉庫與遠端倉庫綁定

故名思議,就是讓本地的git倉庫和遠端的git倉庫進行綁定。這裡需要用到的是之前記下來的遠端倉庫的位址,也就是

[email protected]:/home/git/gitrepository/pythonserver/project.git

指令行的綁定方式是:

到了這一步綁定已經成功了,這個時候我們已經可以使用git push 和git pull 進行上傳和下拉了,但是你會發現使用上傳下拉都需要輸入一次遠端伺服器的密碼,非常不友善。為了能免密碼上傳下拉,需要借助ssh協定。

7.生成用戶端ssh公鑰

git的遠端推送功能需要用到ssh協定,linux自帶ssh工具,可以很友善地滿足我們的需求。

首先确認一下用戶端本地是否已經存在ssh的公鑰,可以直接輸入

如果傳回了一串以ssh-rsa開頭的字元串的話則說明之前已經存在公鑰了,可以直接将這一串字元串複制下來。如果該條指令提示檔案不存在或者是傳回值為空的話,則需要建立公鑰,隻需要在指令行輸入:

預設直接按回車,就會自動在~/.ssh/ 目錄下建立id_rsa.pub,并且生成公鑰,此時再用上面的方法,複制公鑰。

8.服務端授權ssh公鑰

接下來要做的是将用戶端的公鑰注冊到服務端中,打開服務端控制台,輸入:

這雙引号裡面一大串的就是你之前複制的公鑰,整句指令所做的事情就是将用戶端的公鑰添加到服務端的ssh授權表中。

9.用戶端git推送

用戶端終于可以進行免密碼的上傳了(push)和下拉(pull)了,回到用戶端project目錄下,進行第一次上傳,輸入:

如果最後沒報錯的話,就說明推送成功了。

10.測試擷取

推送上去了,當然也要測試一下能不能擷取下來。這個我們可以再建一個新的工程目錄,比如:projectcopy

進入到該工程目錄,輸入:

如果能正常克隆下來的話,那麼就恭喜了,git伺服器一整套的内容全部走通了,接下來就可以享受私人的git服務了

繼續閱讀