阿里雲上搭建乙個git伺服器

2021-10-04 15:31:35 字數 2372 閱讀 6274

阿里雲上的伺服器,版本是centos 7

一般而言,現在的伺服器已經內建了git安裝包,我們只需要執行簡單的安裝命令即可安裝。比如:

yum install git
建立乙個git使用者來作為今後提交**的使用者。

adduser git
執行這條命令之後,你會發現在/home目錄下多了乙個git目錄。進入這個git目錄,執行一下步驟:

vi /etc/passwd
找到類似於

git:x:1001:1001:,,,:/home/git:/bin/bash
這樣的行,末尾的/bin/bash,是允許ssh連線操作的許可權,我們把它改為/user/bin/git-shell,結果如下:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
然後給git分配乙個密碼,執行:

passwd git
這時候會提示輸入密碼,確認密碼。輸入即可。

操作方法很簡單,首先在你自己的電腦上(mac)生成自己的乙個公鑰(如果之前有,則不需要生成):

cd ~

ssh-keygen -t rsa

這時你自己電腦上就有乙個公鑰了,但是在**呢?在.ssh目錄下,.開頭的資料夾都是隱藏的,但是可以cd進去,當然也可以用ls -a檢視到。

cd .ssh

vi id_rsa.pub

這樣就能看到你的公鑰了,把所有的內容複製下來。接下來,我們去回伺服器上面操作

cd /home/git/

mkdir .ssh

cd .ssh

vi authorized_keys

如果是裸機,伺服器上面/home/git目錄下應該沒有.ssh目錄,所以我們自己建立,開啟(自動建立)authorized_keys之後,把剛才複製下來的公鑰黏貼進去,ok了,儲存退出。

看網上教程都是把放到/var目錄下,我也照做了,在/var下面建立乙個git目錄。

cd /var

mkdir git

chown -r git:git git

chmod 777 git

cd git

接下來,我們用git命令初始化乙個倉庫:

git init --bare oes-client.git
初始化完成之後,這個空的倉庫就ok了。

這裡有乙個細節,就是.git目錄必須要有可讀寫許可權,因為當我們在push的時候,是使用git使用者推送到伺服器上面去,會有乙個寫入的過程,如果不賦予可寫許可權,push就會失敗。

在自己電腦上建立乙個資料夾oes-client,(測試的放兩張圖),進入該資料夾,執行一下命令:

git init

git add *

git commit -m 'first commit'

加下來,將本地的**新增到阿里雲git建立的倉庫下(*是我的主機ip位址),

git remote add origin root@***.***.***.***:/var/git/oes-client.git
如果提示remote已存在,執行以下命令刪除,再重寫執行步驟7的**

git remote rm origin
把初次提交的結果push到阿里雲伺服器:

git push -u origin master
會要求輸入密碼,這樣就推送成功,如果要檢視提交內容,只能把轉殖下來檢視,請繼續看下一步。

在自己的電腦上,執行以下命令轉殖來測試倉庫是否推送成功:

git clone git@***.***.***.***:/var/git/oes-client.git
也會提示你輸入git密碼,輸入進去。就可以看到剛剛推送的內容。

解決參考了

cd返回上一 git 阿里雲搭建git伺服器

一.搭建步驟,分為兩步 搭建中心倉庫 自動同步 到站點目錄 二.詳細步驟如下 1.先檢查一下伺服器上有沒有安裝git git version如果出現版本號,說明伺服器已經安裝git,如圖所示 2.如果沒有版本資訊,則先安裝git yum install git直接一路回車就行,再用git versi...

阿里雲git伺服器搭建

首先說一下我雲伺服器的配置,我租的是阿里雲,記憶體1g,頻寬1m,硬碟20g,裝的系統是ubuntu14.04 lts,這樣 的配置對於個人使用我覺得綽綽有餘了。之前用git都是在github上,雖然方便但是對於愛折騰的人來說遠遠不夠,而且github上的私有庫是收費的,於是決定自己搭乙個自己的gi...

阿里雲CentOS伺服器上搭建CTFd(一)

最近學校要辦新生賽,因為疫情原因沒有開學,於是貢獻了我的伺服器搭建ctfd平台。平台在github上可以看見 從最開始說起,先換源,備份後再換源 mv etc yum.repos.d centos base.repo etc yum.repos.d centos base.repo.backupwg...