1. 程式人生 > >搭建git私有伺服器及同步更新自己網站的檔案

搭建git私有伺服器及同步更新自己網站的檔案

一、搭建git私有伺服器

下面以ubuntu為例

1.安裝git(如果沒有安裝的話)

sudo apt-get install git

2.新建一個git使用者組

sudo groupadd git

3.新建git使用者

-m, --create-home:建立家目錄

-s, --shell:指定一個shell,下面是不能登入的

-d, --home-dir:指定具體家目錄在哪

-g, --gid GROUP:指定組名或者寫組的ID

sudo useradd git -m -s /sbin/nologin -d /home/git -g git

4.建立裸倉庫

你想把他放在哪就在哪敲(就cd進去敲下面的命令),這個他不會儲存具體的程式碼,只會和客戶端的.git目錄一致,或者加密壓縮在裡面了

sudo git init --bare yourweb.git

還要改一下擁有者

sudo chown -R git:git yourweb.git

5.把你的公鑰放伺服器上

放在這個.ssh目錄的authorized_keys檔案,沒有就自己建立,有多個每個公鑰空一行就可以了

/home/git/.ssh/authorized_keys

6.客戶端測試(上面都是伺服器敲的命令)【ip那裡可以換成域名】

git clone [email protected]:/具體目錄/yourweb.git
如:

git clone [email protected]:/home/ubuntu/yourweb.git

若不是預設埠,比如5022埠(注意那麼git使用者就要改成可登入的了,比如/bin/sh)

 git clone ssh://[email protected]:5022/home/ubuntu/yourweb.git

二、同步更新自己網站的檔案

1.進入yourweb.git的hooks目錄

想想windows的hook就應該很好理解了 說明: 鉤子(hooks)是一些在$GIT-DIR/hooks目錄的指令碼, 在被特定的事件(certain points)觸發後被呼叫。
post-receive:這個hook由遠端資源庫的'git-receive-pack'觸發,此時,本地資源庫的'git push'已經完成,且所有ref已經更新.
post-receive一般是不存在的
cd yourweb.git/hooks
sudo vim post-receive

2.在post-receive加入下面程式碼

git checkout :檢出程式碼 -f/--force:強制
#!/bin/sh
GIT_WORK_TREE=/XXXX/XXXX  git checkout -f
其中/XXXX/XXXX為你的網站的目錄

3.修改該檔案許可權,增加執行許可權

sudo chmod +x post-receive

4.遞迴修改網站目錄所有者

這個我暫時不知道還有更好辦法,有肯定有,知道的可以告訴我,因為不這樣 post-receive沒許可權把程式碼放在這網站根目錄 /XXXX/XXXX 為網站的網站目錄
sudo chown  -R git:git /XXXX/XXXX

相關推薦

搭建git私有伺服器同步更新自己網站檔案

一、搭建git私有伺服器 下面以ubuntu為例 1.安裝git(如果沒有安裝的話) sudo apt-get install git 2.新建一個git使用者組 sudo groupadd git3.新建git使用者 -m, --create-home:建立家目錄 -

一步一步搭建git私有倉庫伺服器記錄

1、首先安裝好linux系統,本文以Ubuntu為例進行解析 2、安裝好系統開啟終端       1> sudo passwd重置root賬戶密碼           sudo + passwd + 賬戶名重置該賬戶密碼       2> sudo

nexus 上搭建npm私有伺服器

nexus 純小白文,如有雷同,大概率我參考了你的文件。 1.在本地執行nexus 附上下載連結:Nexus Repository OSS 下載連結 附上文件連結:Nexus Repository OSS 文件連結 有幾個值得注意的是 我的 系統為 64位 wi

基於gogs搭建Git私有服務

一、基於gogs搭建Git私有服務 1、Git遠端通訊詳解   在我的上一篇文章裡面說Git是一個分散式的系統,既然它是一個分散式的系統那就肯定會涉及到遠端通訊,那麼Git是採用什麼協議來進行遠端通訊呢? a、Local(本地協議)   Local本地協議就是基於本地檔案

docker 搭建本地私有倉庫映象上傳時HTTPS client問題解決(windows 10)

1, 設定容器可訪問的盤: 點選小鯨魚圖片,滑鼠右鍵-》settings->Shared Drives,進行設定,選擇相應的盤,比如E盤,然後點選“Apply”,如圖   2, 下載registry映象: 執行命令docker pull

git fork之如何同步更新

1.開啟git fork的開源專案(這裡我以git fork vscode為例): 2.點選New pull request 3.選擇你自己的   4.選擇完後出現如圖   5.調整狀態,右邊改為源fork地址(我這邊還是我自己的地址,只需將其改為vscode的

mac os 利用ssh 搭建git server伺服器詳細教程,以及git基本用法(上)

上半部分轉載至 http://www.cnblogs.com/whj198579/archive/2013/04/09/3009350.html SSH開啟 在osx中開啟ssh訪問非常簡單,只需要開啟“系統偏好設定”並且點選“共享”圖示即可。 選中下圖中的ch

git版本控制之上傳檔案至遠端伺服器拉取遠端倉庫檔案至本地伺服器

git上傳檔案至遠端伺服器github1.     上傳操作(1)命令列進入在專案目錄下:cd workspase(2)初始化:git init(3)連線遠端倉庫:git remote add origin github對應倉庫地址以上已設定則直接跳過(4)提交至本地倉庫:g

Window系統下搭建GIT本地伺服器

由於網上在window下搭建本地伺服器的教程較少,基本上都是Linux系統下的教程。所以就在這裡寫下這篇部落格,面向初使用Git的新手。 這裡搭建Git本地伺服器我用的工具是Git2.9.2和Gitblit1.8.0,直接點選關鍵字可下載。 1.安裝Jav

【Maven】Nexus3搭建Maven私有倉庫使用

Maven庫 remote repository:相當於公共的倉庫,大家都能訪問到,一般可以用URL的形式訪問 local repository:存放在本地磁碟的一個資料夾,例如,windows上預設是C:\Users\{使用者名稱}\.m2\repository目錄 R

搭建Git本地伺服器

當前任務,學習中... 公司小範圍用法:  伺服器上做的: 在伺服器上建立一個使用者,這裡命名為git。 ubuntu下:  useradd  git —— passwd git 1 (改密碼為1)找個目錄,建立空倉庫 git --bare init 。 ubuntu下:

通過MailServer和Foxmail搭建本地郵件伺服器實現本地郵箱賬號收發郵件

 臨近期末,要求小組提交一個專案,而我們小組選擇的是一個Java web專案,在該專案中需要給每個新註冊的使用者傳送一封啟用賬戶的啟用郵件。所以我就去網上搜索怎麼利用MailServer和Foxmail搭建本地郵件伺服器及實現本地郵箱賬號收發郵件,結果搜尋到的教程都不詳細,讓我久久而不得其法。最終我結合那些教

git .gitignore規則取消追蹤已追蹤檔案

今天,在Android studio上進行git開發,把本地的檔案通過git push到遠端倉庫,發現很多不必要的檔案也被跟蹤了,導致專案非常大。上網找了一下.gitignore的規則,發現講的都模稜兩可。想想還是得靠自己,去Git官方網站看了官方文件,這裡做個

Git本地伺服器搭建使用

Git是一款免費、開源的分散式版本控制系統。眾所周知的Github便是基於Git的開原始碼庫以及版本控制系統,由於其遠端託管服務僅對開源免費,所以搭建本地Git伺服器也是個較好的選擇,本文將對此進行詳細講解。(推薦一家提供私有原始碼免費託管的網站:Bitbucket,目前支援一個專案5個成員) 搭

搭建Git CentOS搭建Git伺服器許可權管理

CentOS搭建Git伺服器及許可權管理   宣告:本教程,僅作為配置的記錄,細節不展開,需要您有一點linux的命令基礎,僅作為配置參考。 1. 系統環境 系統: Linux:CentOS 7.2 64位 由於CentOS已經內建了OpenSSH,如果您的

CentOS搭建Git伺服器許可權管理

宣告:本教程,僅作為配置的記錄,細節不展開,需要您有一點linux的命令基礎,僅作為配置參考。 1. 系統環境 系統: Linux:CentOS 7.2 64位 由於CentOS已經內建了OpenSSH,如果您的系統沒有,請自行安裝。 檢視ssh版本 $ ssh

初學Git簡單搭建git伺服器和客戶端

在開發中,會經常碰到bug問題,那麼有了bug就需要修復,每個bug都可以通過一個臨時分支來修復,修復完成後,合併分支,然後將臨時的分支刪除掉。比如我在開發中接到一個404 bug時候,我們可以建立一個404分支來修復它,但是,當前的dev分支上的工作還沒有提交。 工作進行到一半時候,我們還無法提交,比如我這

Linux(CentOS) SVN伺服器搭建+同步更新+多版本庫+開機啟動

一、安裝步驟如下: 1、yum install subversion 2、輸入rpm -ql subversion檢視安裝位置,如下圖:   3、建立svn版本庫目錄 mkdir -p /var/svn/svnrepos 4、建立版本庫 svnadmin

Windows平臺使用Gitblit搭建Git伺服器使用

一、安裝Java 二、配置Java環境變數 右鍵”計算機” => ”屬性” => ”高階系統設定” => ”高階” => “環境變數” => “系統變數”。 1、新建 變數名:JAVA_HOME 變數值:

搭建git伺服器配置gitosis管理使用者許可權

[[email protected] ~]# sudo -H -u git gitosis-init < /tmp/id_rsa.pub  Traceback (most recent call last):   File "/usr/local/bin/gitosis-init", lin