自建 Git server
什麼是 GitHub
GitHub就是一個免費託管開原始碼的遠端倉庫。但是對於某些視原始碼如生命的商業公司來說,既不想公開原始碼,又捨不得給GitHub交保護費,那就只能自己搭建一臺Git伺服器作為私有倉庫使用。
前期準備
- 準備一臺執行Linux的機器。
- 假設你已經有sudo許可權的使用者賬號,下面,正式開始安裝。
開始安裝
第一步,安裝git:
$ sudo apt-get install git
第二步,建立一個git使用者,用來執行git服務:
$ sudo adduser git
第三步,建立證書登入:
- 收集所有需要登入的使用者的公鑰,就是他們自己的
id_rsa.pub
/home/git/.ssh/authorized_keys
檔案裡,一行一個。
第四步,初始化Git倉庫:
- 先選定一個目錄作為Git倉庫,假定是
/home/git/sample.git
,在/home/git
目錄下輸入命令:
$ sudo git init --bare sample.git
Git就會建立一個裸倉庫,裸倉庫沒有工作區,因為伺服器上的Git倉庫純粹是為了共享,所以不讓使用者直接登入到伺服器上去改工作區,並且伺服器上的Git倉庫通常都以.git結尾
- 然後,把owner改為git:
$ sudo chown -R git:git sample.git
第五步,禁用shell登入:
出於安全考慮,第二步建立的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,因為我們為git使用者指定的git-shell每次一登入就自動退出。
第六步,克隆遠端倉庫:
現在,可以通過git clone命令克隆遠端倉庫了,在各自的電腦上執行:
$ git clone [email protected]:/srv/sample.git
# Cloning into 'sample'...
# warning: You appear to have cloned an empty repository.
剩下的推送就簡單了。
管理公鑰
- 如果團隊很小,把每個人的公鑰收集起來放到伺服器的/home/git/.ssh/authorized_keys檔案裡就是可行的。如果團隊有幾百號人,就沒法這麼玩了,這時,可以用
Gitosis
來管理公鑰。
管理許可權
有很多不但視原始碼如生命,而且視員工為竊賊的公司,會在版本控制系統裡設定一套完善的許可權控制,每個人是否有讀寫許可權會精確到每個分支甚至每個目錄下。因為Git是為Linux原始碼託管而開發的,所以Git也繼承了開源社群的精神,不支援許可權控制。不過,因為Git支援鉤子(hook),所以,可以在伺服器端編寫一系列指令碼來控制提交等操作,達到許可權控制的目的。Gitolite就是這個工具。
這裡也不介紹Gitolite了,不要把有限的生命浪費到許可權鬥爭中。
文章作者:糖醋魚
相關推薦
自建 Git server
什麼是 GitHub GitHub就是一個免費託管開原始碼的遠端倉庫。但是對於某些視原始碼如生命的商業公司來說,既不想公開原始碼,又捨不得給GitHub交保護費,那就只能自己搭建一臺Git伺服器作為私有倉庫使用。 前期準備 準備一臺執行Linux的機器。
Linux 筆記 #06# 在 VPS 上自建 Git倉庫
lin 安全性 bom x86 amp style 圖片 sudo entos 參考: GitHub Help: Connecting to GitHub with SSH 廖雪峰的官方網站: 搭建Git服務器 菜鳥教程: Git 服務器搭建 1. 安裝記錄(
自建git服務器搭建使用記錄
false centos use email ref pub rsa 環境 keygen Git本地中文文件名問題解決 linux環境 //Git本地中文文件名問題解決 git config --global core.quotepath false 克隆自建的Linux
自建git服務器連接Pycharm系列二:在centos7上搭建git服務器
搭建 str dsc 虛擬 conf char har pat 連接 在自己的Linux虛擬機上,搭建git服務器,用來保存代碼。 centos7本身自帶git,需要先卸載,安裝成較新的版本。 1、卸載系統自帶版本 系統已經自帶 [root@dscrapy01 ~
自建git服務器連接Pycharm系列三:在Win10上,安裝git
type .com 創建 連接 ffffff 安裝git vpd 系統 png 在win10系統上,安裝git,作為客戶端 安裝: Git-2.18.0-64-bit.exe 安裝步驟: 都是簡單的安裝過程,只截圖簡單表示下 只有第4、8兩步有點更改 1 選擇安裝
自建git服務器連接Pycharm系列四:pycharm項目更新到git服務器中
strong 提示 char 點擊 win pychar set repo info 在pycharm中,已經開始敲代碼了,這是一個已經存在,沒連接到git服務器的一個項目工程。 現在就要實現,如何把這個項目同步到服務器。 > 前提:> 1. 已經在Linu
自建ngrok server
git clone https://github.com/inconshreveable/ngrok.git NGROK_DOMAIN="han1" openssl genrsa -out base.key 2048 openss
git 訪問自建gitlab報錯:Please make sure you have the correct access rights and the repository exists.
1.首先設定git身份的名字和郵箱: git config --global user.name "yourname" git config --global user.email“[email protected]"
本地git倉庫推送到伺服器自建的git倉庫實現目錄檔案同步教程[自整理]
1.首先,先在伺服器上安裝git,如果有git的話就不用走這一步了 yum安裝git [[email protected] ~]# cd src/ [[email protected] src]# wget http://dl.fedoraproj
分享自建的 Jrebel License Server 啟用 Jrebel
使用線上驗證伺服器啟用 Jrebel 與 Idea 說明 程式碼來自於開源專案: gsls200808 / JrebelLicenseServerforJava 自建的服務地址 http://jrebel.
分享自建的 Jrebel License Server 激活 Jrebel
uuid comm 默認端口 jdk6 idg contex dex -s 使用 使用在線驗證服務器激活 Jrebel 與 Idea 說明 代碼來自於開源項目: gsls200808 / JrebelLicenseServerforJava 自建的服務地址
對Yii2中 yiiwebUser的理解,和自建的appmodelsUser(基礎版),frontendmodelsUser的應用原理
end his iat getter authent property 用戶id tails uniq yii\web\User 是一個統稱,為用戶,沒有具體實例,只能管理; 此處以app\models\User為基準; app\models\User 是映射數據表us
02_創建Git倉庫,克隆倉庫,git add,git commit,git push,git pull,同行沖突,不同行沖突的結局方案,git mergetool的使用
round rom weight art sdn automatic remote then config 1 創建Git資源庫,殘酷文件夾信息 創建git資源庫的命令: git init –bare 倉庫名稱 (當中-bare表示的意思是空的庫的意思)
U-Mail自建企業郵箱域名解析設置
後臺 mail 生效 clas img 解析錯誤 位置 固定 實現 如果域名沒有做解析,只能用於內網收發郵件。要想實現與外網郵箱的收發,需要做域名解析。是在“域名解析後臺”進行設置(域名提供商提供“域名解析後臺")。 1. 域名
Linux自建yum源倉庫
配置文件 管理工具 軟件包 linux yum倉庫 本文以自建guestfish鏡像管理工具源為例: 第一步:清空本地的yum緩存,避免跟以前下載的包混淆; #yum clean all 第二步:yum下載所需要的軟件包。 註:這裏有兩種方法可以緩存rpm包:
將GitLab數據庫從阿裏雲PostgreSQL RDS遷移至自建的PostgreSQL服務器
bsp 控制臺 創建 升級 postgresq pre 低版本 sse esql 阿裏雲RDS目前支持的是PostgreSQL 9.4,而gitlab支持的最低版本是PostgreSQL 9.6.1,不升級PostgreSQL,gitlab就無法升級,阿裏雲RDS短期內不進
阿裏雲RDS備份的tar格式包恢復到本地自建數據庫
數據庫驗證 group span gpl utils ibdata1 復制 自建 sql數據庫 說明 阿裏雲RDS-mysql數據庫是通過percona-Xtrabackup進行備份的,所以恢復時也需要安裝該軟件。 另外註意的是:你自己下載的MySQL版本要和阿裏雲上的My
自建docker swarm體驗簡單之美
hab 3.2 ebs acs docs nal 自建 port advertise 之前用的阿裏雲容器服務,但由於acsrouting的路由錯亂問題,被逼上自建docker swarm的梁山。今天嘗試自己搭建docker swarm,竟然輕松搞定,簡單的超乎想象。 以下
已經在Git Server服務器上導入了SSH公鑰,可用TortoiseGit同步代碼時,還是提示輸入密碼?
www 服務器端 com 技術分享 style 訪問 github 情況 ima GitHub雖好,但畢竟在國內訪問不是很穩定,速度也不快,而且推送到上面的源碼等資料必須公開,除非你給他交了保護費;所以有條件的話,建議大家搭建自己的Git Server。本地和局域網服務器都
docker自建倉庫Registry
建倉 問題解決 pin efi lan crt gis install fault 因為生產情況下官方容器還是比較慢的,所以會用到自建docker倉庫。docker官方提供完整部署倉庫的容器,你只需要提供域名證書,把文件系統掛載到容器,一個用戶密碼文件就可以使