阿里云Linux-CentOS系統(tǒng)下-搭建Git服務(wù)器詳解
阿里云Linux-CentOS系統(tǒng)下-搭建Git服務(wù)器
步驟總結(jié):
1. 安裝git
首先確認(rèn)服務(wù)器是否安裝Git
在Xshell中輸入命令:$ rpm -qa git
結(jié)果如下表示已經(jīng)安裝:
如果未安裝就安裝git
在Xshell中輸入:$ yum install git
2. 創(chuàng)建一個(gè)git用戶,用來運(yùn)行g(shù)it服務(wù):
在Xshell中輸入:$ sudo adduser git
此時(shí)在阿里云服務(wù)器的根目錄:/home文件夾下新增一個(gè)文件夾git
按這個(gè)層級(jí)建立文件用于存放客戶端用戶的公鑰:/home/git/.ssh/authorized_keys
在本地客戶端的git bash中通過命令:
$ ssh-keygen -t rsa -C"youremail@example.com"
或
$ ssh-keygen
命令生成公鑰,默認(rèn)在c盤:用戶/.ssh中id_rsa.pub文件是公鑰,用記事本打開復(fù)制粘貼到服器的/home/git/.ssh/authorized_keys文件中即可。
3. 服務(wù)器中建立git倉(cāng)庫(kù)
自己在服務(wù)器根目錄新建一個(gè)專門用于存放倉(cāng)庫(kù)的git文件夾
通過如下代碼創(chuàng)建并初始化倉(cāng)庫(kù),此時(shí)是以個(gè)空倉(cāng)庫(kù):
$ sudo chown -R git:git sample.git
下一步代碼必須執(zhí)行一次,可能是獲取推送權(quán)限并防止用戶修改工作區(qū),如果不執(zhí)行的話無法從本地推送到git服務(wù)器:
$ 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àn)槲覀優(yōu)間it用戶指定的git-shell每次一登錄就自動(dòng)退出。
5. 克隆git服務(wù)器上建立的sample.git倉(cāng)庫(kù)
在本地git bash中通過命令定位到某個(gè)用于存放克隆文件的文件夾下,輸入如下克隆命令:
$ git clone git@xxx.xxx.xxx.xxx:/xxx/git/sample.git
克隆服務(wù)器倉(cāng)庫(kù)命令的格式為:
git clone git@服務(wù)器公網(wǎng)IP:倉(cāng)庫(kù)存放于服務(wù)器的路徑
6. 將本地git倉(cāng)庫(kù)與git服務(wù)器倉(cāng)庫(kù)關(guān)聯(lián)
在本地新建并初始化一個(gè)sample倉(cāng)庫(kù),需要和git服務(wù)器上的倉(cāng)庫(kù)名稱相同。
git服務(wù)器上建立的倉(cāng)庫(kù)為sample.git,本地的不用帶.git。
服務(wù)器和本地的倉(cāng)庫(kù)都有了,通過以下步驟將兩者關(guān)聯(lián)起來:
在本地git bash中定位到本地倉(cāng)庫(kù),輸入并執(zhí)行下方代碼:
$ git remote add sample git@xxx.xxx.xxx.xxx:/xxx/git/sample.git
在git bash輸入:$ git remote -v 可以查看本地git倉(cāng)庫(kù)相關(guān)聯(lián)的遠(yuǎn)程git倉(cāng)庫(kù)。
在git bash輸入:$ git push -u sample master 推送本地倉(cāng)庫(kù)主分支到遠(yuǎn)程git倉(cāng)庫(kù),首次推送需要加-u。
以后推送直接用在git bash輸入:$ git push sample master 即可。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
yum 安裝memcache permission denied(拒絕訪問) 問題
這篇文章主要介紹了yum 安裝memcache permission denied(拒絕訪問) 問題,需要的朋友可以參考下2017-03-03Linux系統(tǒng)中sudo命令的十個(gè)技巧總結(jié)
Linux 下使用Sudo 命令,可以讓普通用戶也能執(zhí)行一些或者全部的root命令,下面這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)中sudo命令的十個(gè)技巧,需要的朋友可以參考借鑒,下面來一起看看吧。2018-04-04centos7下安裝oracle11gR2的詳細(xì)步驟
本篇文章主要介紹了centos7下安裝oracle11gR2的詳細(xì)步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02解決Linux中Systemd服務(wù)環(huán)境變量缺失的問題
在Linux系統(tǒng)運(yùn)維中,我們可能會(huì)遇到在使用systemd管理的服務(wù)時(shí)無法獲取系統(tǒng)環(huán)境變量,尤其是PATH變量,這確實(shí)是一個(gè)常見的挑戰(zhàn),因?yàn)閟ystemd啟動(dòng)的服務(wù)通常不會(huì)加載用戶的環(huán)境變量,下面,我們將一起探討解決這一問題的幾種方法,需要的朋友可以參考下2024-01-01linux系統(tǒng)虛擬主機(jī)開啟支持SourceGuardian(sg11)加密組件的詳細(xì)步驟
這篇文章主要介紹了linux系統(tǒng)虛擬主機(jī)開啟支持SourceGuardian(sg11)加密組件的詳細(xì)步驟,需要的朋友可以參考下2020-12-12使用Putty遠(yuǎn)程(SSH)管理Linux VPS的圖文教程
Putty是一個(gè)免費(fèi)的、Windows 32平臺(tái)下的telnet、rlogin和ssh客戶端,但是功能絲毫不遜色于商業(yè)的telnet類工具。2010-12-12