CentOS搭建git伺服器

2021-08-21 02:38:47 字數 1951 閱讀 5459

一.yum安裝git

yum install git -y

git --version

二.建立git使用者

useradd git

passwd git # 會提示輸入密碼,按要求輸入即可

修改/etc/passwd

git:x:1000:1000::/home/git:/usr/bin/git-shell

三.建立空倉庫

在/home/git/下建立乙個project.git的資料夾,之後我們在這個資料夾下初始化建立倉庫並給予相應許可權。

mkdir project.git

cd project.git

git init --bare # git init 是初始化空倉庫的意思,而引數 --bare 是代表建立裸倉庫,這個引數一定記得帶上

cd ..

chown -r git:git project.git/

四.在伺服器端開rsa認證

伺服器安裝ssh(安裝yum install sshd 啟動systemctl start sshd.service 預設啟動systemctl enable sshd.service)後,進入 /etc/ssh 目錄,編輯 sshd_config修改配置

passwordauthentication no中的「no」改為yes,如果有注釋,將注釋去掉(防止git提交出現:publickey,gssapi-with-mic,gssapi-keyex)

rsaauthentication yes

pubkeyauthentication yes

authorizedkeysfile .ssh/authorized_keys

找到並開啟這三行,如果沒有自己寫上去,之後重啟ssh

systemctl restart sshd.service

.ssh/authorized_keys這個是公鑰儲存的地方,是在/home/git/下的.ssh/下存放,實際目錄/home/git/.ssh/authorized_keys:

vim .ssh/authorized_keys

輸入在客戶端中cat id_rsa.pub檔案的內容,一行一使用者

chmod 700 .ssh

cd .ssh

chmod 600 authorized_keys

五.實現自動同步到站點目錄(www)

就比如剛才我們往遠端倉庫推送了index.php檔案,雖然提示推送成功,但是我們現在在伺服器端還看不到效果,心理總是不爽。又比如我寫了個html頁面,我想在站點中馬上看到,那自動同步就派上用場了。

自動同步功能用到的是 git 的鉤子功能.

伺服器端:進入裸倉庫:/home/git/project.git

cd /home/git/project.git

cd hooks

//這裡我們建立post-receive檔案

vim post-receive

//在該檔案裡輸入以下內容

#!/bin/bash

git --work-tree=/home/www checkout -f

//儲存退出後,將該檔案使用者及使用者組都設定成git

chown git:git post-receive

//由於該檔案其實就是乙個shell檔案,我們還應該為其設定可執行許可權

chmod +x post-receive

如果你在git推送的工程中發現推送成功但是在www目錄下並沒有自己的**,這時候你可要注意了:這是由於資料夾的許可權的原因造成的! 假設你的www目錄的所屬的使用者組為root,你可以將你的git使用者加入這個組;並給git新增寫入許可權,或者其他解決方法,反正你要伺服器上的git使用者有許可權進入www資料夾。

chown -r git:git /home/www

CentOS 搭建Git伺服器

1,安裝openssh服務斷和客戶端 yum y install openssh 2,安裝git和python setuptools yum y install git python setuptools 3,獲取並安裝gitosis,來管理git倉庫 git clone cd gitosis py...

CentOS搭建Git伺服器

root localhost desktop yum install y git 2 建立乙個git使用者,用來執行git服務 root localhost desktop useradd r s bin sh c git version control d home git git 3 設定許可權...

Centos搭建Git伺服器

1.安裝git centos安裝git只需要執行如下命令,直接安裝git yum install git2.建立git使用者 adduser git3.控制git使用者許可權,關掉bash許可權 vi etc passwd找到類似git x 1001 1001 home git bin bash 將...