1. 帳戶權限
git使用你的SSH帳戶登錄。也就是說,他的文件權限和你的SSH帳戶權限是一致的。
2.應用安裝
客戶端就不說了,安裝git 即可。
Windows平臺還建議安裝TortoiseGit配合。
服務端:
yum install git
安裝後,已經可以進行倉庫的創建。
其實就Git來說,不嚴格區分服務端客戶端。
- 如果選擇了“Bare”選項,則表示這個倉庫是無法在服務器本地修改,只接受遠程提交和簽出。
★“Bare”選項同時要求該目錄爲空目錄 - 如果不選擇,則默認這個倉庫只能被遠程clone,無法被遠程提交。
3.實際使用
1) 服務端創建Bare類型的目錄
cd /opt/code
#建議目錄名創建成XXX.git
mkdir hello.git
cd hello.git/
git init --bare -- shared
2)客戶端簽出
git clone root@10.35.41.196:/opt/code/hello.git
簽出完成後,可以放入需要的文件,進行上傳操作
3) 選擇”Git commit”
此時提交的是本地,還未同步到服務器
4)同步到服務器
選擇“Git Sync”,“Push”即可。
4.進階-WEB服務器部署
1)服務安裝
yum install gitweb httpd
2)修改配置
I.修改/etc/gitweb.conf
追加以下
$projectroot = "/opt/code";
即會在頁面中展現該目錄下所有的git倉庫(包括子目錄)。
II. 修改 /etc/httpd/conf/httpd.conf文件。
在尾部追加
<VirtualHost *:3334>
ServerName gitserver
DocumentRoot /var/www/git
<Directory /var/www/git >
Options +ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
AllowOverride All
order allow,deny
Allow from all
AddHandler cgi-script cgi
DirectoryIndex gitweb.cgi
</Directory>
</VirtualHost>
★網上的很多資料ExecCGI前沒有+號,httpd是直接起不來的。
由於我的httpd同時還承載着其他業務,因此可以多個Listen,通過虛擬服務器的過濾規則確定。
Listen 80
Listen 3334
全部配置完後
service httpd restart