1. 程式人生 > >阿裏雲 linux搭建git服務器

阿裏雲 linux搭建git服務器

author 搭建 tails 登錄 命令 這一 sudo git ear

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

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

1.安裝git

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

sudo apt-get update
sudo apt-get install git

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

2.創建git倉庫

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

mkdir project.git

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

cd project.git
git --bare init

可以看到,在當前目錄下自動生成了多個文件

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文件,往文件裏面隨便寫一些東西。

mkdir project
cd project
touch README.md
echo "hello" >> README.md

5.客戶端git初始化

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

git init

本地倉庫初始化提交。

git add README.md
git commit -m "init"

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

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

[email protected]:/home/git/gitRepository/pythonServer/project.git

命令行的綁定方式是:

git remote add origin [email protected]:/home/git/gitRepository/pythonServer/project.git

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

7.生成客戶端ssh公鑰
git的遠程推送功能需要用到ssh協議,linux自帶ssh工具,可以很方便地滿足我們的需求。

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

cat ~/.ssh/id_rsa.pub

如果返回了一串以ssh-rsa開頭的字符串的話則說明之前已經存在公鑰了,可以直接將這一串字符串復制下來。如果該條命令提示文件不存在或者是返回值為空的話,則需要創建公鑰,只需要在命令行輸入:

ssh-keygen

默認直接按回車,就會自動在~/.ssh/ 目錄下創建id_rsa.pub,並且生成公鑰,此時再用上面的方法,復制公鑰。

8.服務端授權ssh公鑰
接下來要做的是將客戶端的公鑰註冊到服務端中,打開服務端控制臺,輸入:

cat "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9+VK1abwzJg+VjxGwpwKnsYU3eBEjXolQKUfKxEAMO9DREvdFrvIF5KhBE9HJTp7CEFcAfgP6xkJdxchQcEUyPyda9mIz6M4OOeuuLcxJcrqqJWTN0Jj78I/kDUZUJZF7bcV4q0CyeZG1fo5ckjxOmFaYkCGcq8vmeuFySFpco71UMkudzclrtGa53AvfmuOP1u96CEud78p2gYrPP5qr9ZYBNM+E290ddGMV61rnEiL7taAsXMGpuCQSbI0/zBJ3YXvN/lJSOVHFSeMFbKv7WDSJFSiBVHXjtcDa5RvzzWaFMBV8+SW4zluhijp6Dvb7pHBaLhLg/JvOixmR1/or OboBear" >> ~/.ssh/authorized_keys 

這雙引號裏面一大串的就是你之前復制的公鑰,整句命令所做的事情就是將客戶端的公鑰添加到服務端的ssh授權表中。

9.客戶端git推送
客戶端終於可以進行免密碼的上傳了(push)和下拉(pull)了,回到客戶端project目錄下,進行第一次上傳,輸入:

git push -u origin master

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

10.測試獲取

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

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

git clone [email protected]:/home/git/gitRepository/pythonServer/project.git

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

轉自:https://yq.aliyun.com/articles/53288

11、eclipse提交與下載項目

參考:http://blog.csdn.net/hhhccckkk/article/details/10458159

阿裏雲 linux搭建git服務器