阿裏雲 linux搭建git服務器
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服務器