阿里云Linux-CentOS系統(tǒng)下-搭建Git服務器詳解
阿里云Linux-CentOS系統(tǒng)下-搭建Git服務器
步驟總結:
1. 安裝git
首先確認服務器是否安裝Git
在Xshell中輸入命令:$ rpm -qa git
結果如下表示已經安裝:

如果未安裝就安裝git
在Xshell中輸入:$ yum install git
2. 創(chuàng)建一個git用戶,用來運行git服務:
在Xshell中輸入:$ sudo adduser git
此時在阿里云服務器的根目錄:/home文件夾下新增一個文件夾git
按這個層級建立文件用于存放客戶端用戶的公鑰:/home/git/.ssh/authorized_keys
在本地客戶端的git bash中通過命令:
$ ssh-keygen -t rsa -C"youremail@example.com"
或
$ ssh-keygen
命令生成公鑰,默認在c盤:用戶/.ssh中id_rsa.pub文件是公鑰,用記事本打開復制粘貼到服器的/home/git/.ssh/authorized_keys文件中即可。
3. 服務器中建立git倉庫
自己在服務器根目錄新建一個專門用于存放倉庫的git文件夾
通過如下代碼創(chuàng)建并初始化倉庫,此時是以個空倉庫:
$ sudo chown -R git:git sample.git
下一步代碼必須執(zhí)行一次,可能是獲取推送權限并防止用戶修改工作區(qū),如果不執(zhí)行的話無法從本地推送到git服務器:
$ sudo chown -R git:git sample.git
4. 禁止git用戶登錄shell
出于安全考慮,創(chuàng)建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改為:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
這樣,git用戶可以正常通過ssh使用git,但無法登錄shell,因為我們?yōu)間it用戶指定的git-shell每次一登錄就自動退出。
5. 克隆git服務器上建立的sample.git倉庫
在本地git bash中通過命令定位到某個用于存放克隆文件的文件夾下,輸入如下克隆命令:
$ git clone git@xxx.xxx.xxx.xxx:/xxx/git/sample.git
克隆服務器倉庫命令的格式為:
git clone git@服務器公網IP:倉庫存放于服務器的路徑
6. 將本地git倉庫與git服務器倉庫關聯(lián)
在本地新建并初始化一個sample倉庫,需要和git服務器上的倉庫名稱相同。
git服務器上建立的倉庫為sample.git,本地的不用帶.git。
服務器和本地的倉庫都有了,通過以下步驟將兩者關聯(lián)起來:
在本地git bash中定位到本地倉庫,輸入并執(zhí)行下方代碼:
$ git remote add sample git@xxx.xxx.xxx.xxx:/xxx/git/sample.git
在git bash輸入:$ git remote -v 可以查看本地git倉庫相關聯(lián)的遠程git倉庫。
在git bash輸入:$ git push -u sample master 推送本地倉庫主分支到遠程git倉庫,首次推送需要加-u。
以后推送直接用在git bash輸入:$ git push sample master 即可。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
yum 安裝memcache permission denied(拒絕訪問) 問題
這篇文章主要介紹了yum 安裝memcache permission denied(拒絕訪問) 問題,需要的朋友可以參考下2017-03-03
解決Linux中Systemd服務環(huán)境變量缺失的問題
在Linux系統(tǒng)運維中,我們可能會遇到在使用systemd管理的服務時無法獲取系統(tǒng)環(huán)境變量,尤其是PATH變量,這確實是一個常見的挑戰(zhàn),因為systemd啟動的服務通常不會加載用戶的環(huán)境變量,下面,我們將一起探討解決這一問題的幾種方法,需要的朋友可以參考下2024-01-01
linux系統(tǒng)虛擬主機開啟支持SourceGuardian(sg11)加密組件的詳細步驟
這篇文章主要介紹了linux系統(tǒng)虛擬主機開啟支持SourceGuardian(sg11)加密組件的詳細步驟,需要的朋友可以參考下2020-12-12
使用Putty遠程(SSH)管理Linux VPS的圖文教程
Putty是一個免費的、Windows 32平臺下的telnet、rlogin和ssh客戶端,但是功能絲毫不遜色于商業(yè)的telnet類工具。2010-12-12

