工程管理系列之----從零開始搭建git伺服器,及程式碼同步完整版

白小二發表於2021-04-02

參考教程:git伺服器搭建和免密碼設定

詳細教程 - Git 安裝配置
centos安裝

$ yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel
$ yum -y install git-core  
$ git --version
git version 1.7.1  
建立git使用者 useradd git
設定git密碼 passwd git (之前用簡單密碼,導致伺服器被 肉雞 )
建立空資料夾 mkdir -p /data/git/gittest.git
初始化 裸庫 git init –bare /data/git/gittest.git
更改倉庫許可權 chown -R git:git /data/git/gittest.git

其實到這一步,git 已經能用了。比如在客戶端電腦執行 git clone git@host:/data/git/gittest.git 如果伺服器 ssh 埠號不是預設的 22 ,那麼命令為 git clone ssh://git@host:port/data/git/gittest.git
但我們更希望使用 公鑰私鑰 來管理 git ,防止別人暴力破解。

客戶端要建立公鑰私鑰對 執行命令: ssh-keygen -t rsa, 一路回車得到 id_rsa,id_rsa.pub 私鑰公鑰對
將 id_rsa.pub 追加到伺服器的 git 使用者下 authorized_keys 檔案中 追加命令 cat id_rsa.pub >> /home/git/.ssh/authorized_keys
拷貝這兩個檔案給其它想要登陸的使用者放置在對應的使用者目錄 windows 的放置位置:C:\Users\ dhn.ssh目錄 linux的放置位置 : /root/.ssh(或者在使用的其它使用者目錄)
測試 ssh 免密登陸 ssh git@host -pport
  • 如果登入成功,那麼git也可以使用ssh協議免密連線了。
  • 注意:原生程式碼提交前先做好 .gitignore 配置
    .gitignore配置:
/node_modules
/storage/*.key
/storage/app/
/storage/debugbar/
/storage/framework/
/storage/logs/
/vendor
git.sh
/public/.user.ini
.htaccess
.env
客戶端拷貝裸庫 git clone git@host:/data/git/gittest.git 22 以外的埠在 : 後面新增
提交原生程式碼 複製貼上專案到 git 倉庫
提交推送:git add . && git commit -m 初始化專案 && git push
伺服器同步程式碼 1. git clone git@host:/data/git/gittest.git
2. cd gittest && mkdir storage/views && mkdir storage/logs && mkdir storage/framework
3. composer install
cp env.example .env && vim .env
測試伺服器同步程式碼 1. git clone git@host:/data/git/gittest.git
2. cd gittest && mkdir storage/views && mkdir storage/logs && mkdir storage/framework
3. composer install
cp env.example .env && vim .env

注意以上伺服器端命令需使用 www 使用者執行,否則還需要處理許可權問題
composer 應當使用單獨的配置執行

如有錯誤,可以在評論中指出來

轉義反斜杆預覽的時候是\,釋出的時候是轉義成功。。。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
保持專注

相關文章