因業(yè)務(wù)需要搭建遠(yuǎn)程git服務(wù)器方咆,期間遇到了些許問(wèn)題穴亏,在此記錄一下玫锋,給對(duì)于服務(wù)器端操作不太熟悉的同學(xué)一點(diǎn)幫助(每條命令后都有較為詳細(xì)的解釋?zhuān)魧?duì)命令不熟悉可以讀一讀)挠乳。
服務(wù)器及本地環(huán)境
服務(wù)器端 使用centos 6.5版本 本地(即clone方)OSx系統(tǒng)終端
安裝git
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel //安裝git需要的依賴(lài)包
$ ssh root@{port} //鏈接遠(yuǎn)程服務(wù)器 里面的port使用真實(shí)服務(wù)器ip進(jìn)行替換
$ yum install git //yum是CentOS中的軟件包管理工具权薯,類(lèi)似于前端經(jīng)常使用的npm,簡(jiǎn)單的 yum install [packageName] 即可進(jìn)行程序的安裝
創(chuàng)建用戶及群組
如同svn一樣睡扬,一個(gè)遠(yuǎn)程的git將會(huì)有多個(gè)項(xiàng)目組或多個(gè)人進(jìn)行使用盟蚣,這個(gè)時(shí)候,需要?jiǎng)?chuàng)建多個(gè)賬號(hào)及用戶組卖怜,這樣無(wú)論是需要查找某段代碼是誰(shuí)進(jìn)行的修改屎开,亦或是需要進(jìn)行權(quán)限的管理都顯得方便許多。
$ grouped gao_team //添加 名稱(chēng)為gao_team的用戶群組
$ adduser gaogao -g gao_team //添加用戶 gaogao 至gao_team群組(前面的git為用戶名 后面的為群組名字)
$ passed gaogao //用戶初始狀態(tài)下無(wú)密碼马靠,若無(wú)密碼 是不可以登錄的 保護(hù)機(jī)制 在鏈接的時(shí)候 也可能會(huì)出現(xiàn)報(bào)錯(cuò)
初始化需要使用git的文件夾
$ cd /home //進(jìn)入家目錄奄抽,此目錄是剛才建立的用戶可訪問(wèn)的首頁(yè)目錄蔼两,如建立用戶gaogao,則其家目錄為 home/gaogao 而root用戶可看到此服務(wù)器中所有用戶的家目錄
$ mkdir gaogao_file //mkdir命令建立 gaogao_file 文件夾
$ chown gaogao:gao_team gaogao_file //通過(guò)chown改變文件的擁有者和群組如孝,此操作中將gaogao_file文件夾的所有者改為gao_team的gagao(注意宪哩,此命令需要root權(quán)限者才能進(jìn)行操作)
$ cd gaogao_file //使用cd命令進(jìn)入我們剛創(chuàng)建的gaogao_file文件夾
$ git init - -bare gaogao.git //初始化git庫(kù),注意 git init 命令 和 git init - -bare命令是不同的 git init - -bare建立的git庫(kù)是不支持各種git操作的裸倉(cāng)庫(kù)第晰,其只保存git歷史提交的版本信息锁孟,不允許用戶進(jìn)行g(shù)it操作
Initialized empty Git repository in /home/gaogao_file/gao.git/
這里若成功,則會(huì)出現(xiàn)提示茁瘦,下面我們用chown命令品抽,將剛新建好的gao.git的所有者改為gaogao用戶(和剛才文件夾操作方式大同小異)
$ chown -R git:git runoob.git //這里多了個(gè)-R,意味向下進(jìn)行循環(huán),即這個(gè)目錄及其下面的子目錄的所有者均進(jìn)行改變甜熔,當(dāng)然了這個(gè)chown命令依舊是需要root權(quán)限者才可以進(jìn)行操作的圆恤。
試試效果
使用本地終端,進(jìn)行操作
$ git clone git@xxx.xx.xx.x:/home/gaogao_file/gao.git //這里使用你的ip對(duì)xxx.xx.xx.x進(jìn)行替換
Cloning into 'gao'...
warning: You appear to have cloned an empty repository.
Checking connectivity… done.