基於linux的Git平臺的部署與Gitolite使用
阿新 • • 發佈:2018-02-05
pre assign data 現在 bytes conf 標準 host 安裝 基於linux的Git平臺的部署與使用
- 系統環境
#cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core)
- 安裝git
##yum安裝git #yum -y install git
- 創建git用戶及設置密碼
#useradd git #passwd git
- Gitolite使用說明
Gitolite管理的方式是給你一個特殊的倉庫,修改,提交,推送到服務器就可以了,這個倉庫只可以管理員訪問,現在把管理員的公鑰復制到服務器上(可以和Git服務器在同一臺服務器上也可以在不同的服務器上) - 管理員公鑰復制
#su - git $ pwd /data/git (可以在其他目錄下創建,最好在git賬戶的家目錄下) $ touch admin.pub 將管理員的公鑰放到admin.pub文件裏(只能放一行,即只能有一個管理員賬號)
- 安裝Gitolite和配置
##在git用戶上進行安裝 #gitolite will install here $ pwd /data/git $ mkdir bin (最好在git賬戶的家目錄下) #get the source code $ git clone git://github.com/sitaramc/gitolite.git #install $ ~/gitolite/install -to ~/bin #setup $ ~/bin/gitolite setup -pk ~/admin.pub $ ls admin.pub bin gitolite projects.list repositories
-
管理用戶進行測試
##以下操作均在mac上進行! ##管理員公鑰添加的是我mac本的 ? ~ ssh -p 58000 [email protected] ##應該看到類似這樣的輸出: hello git, this is git@desktop running gitolite3 v3.04-20-g6328ec2 on git 1.7.9.5 R W gitolite-admin Connection to localhost closed.closed ##將管理倉庫克隆下來管理Git服務器 ? git clone ssh://[email protected]:58000/gitolite-admin (非標準ssh端口) ##將會看到如下兩個目錄文件: ? gitolite-admin git:(master) ls conf keydir
- 添加用戶
##以下操作均在mac上進行 git:(master) pwd git:(master) /Users/wtf/gitolite-admin/keydir git:(master) touch shiyan.pub ##將用戶shiyan的公鑰寫入shiyan.pub文件裏! git:(master) vim shiyan.pub git:(master) pwd git:(master) /Users/wtf/gitolite-admin git:(master) git add keydir git:(master) git commit -m "add new user shiyan" git:(master) git push git:(master) ls shiyan.pub
- 添加/創建倉庫
##我們現在要創建一個名為datagrand1的倉庫,讓剛創建的datagrand1有讀寫權限,並將其給予用戶shiyan使用。 git:(master) pwd /Users/wtf/gitolite-admin/conf ##添加類似下面這內容進去 repo datagrand1 RW+ = shiyan 保存,提交並推送到遠和服務 git:(master) pwd /Users/wtf/gitolite-admin git:(master) git add -u git:(master) git commit -m ‘add new repo datagrand1 and assign RW+ to shiyan‘ git:(master) git push ##推送的時候應該看到類似這樣的信息 Counting objects: 7, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 395 bytes, done. Total 4 (delta 1), reused 0 (delta 0) remote: Initialized empty Git repository in xxxxx To git@desktop:gitolite-admin 6de90b8..52737aa master -> master ##註意remote開頭的一行,它已經幫你創建了這個倉庫
- 使用clone倉庫
##在shiyan賬戶的終端上進行操作 $ git clone ssh://[email protected]:58000/datagrand1 (非標準ssh端口)
基於linux的Git平臺的部署與Gitolite使用