欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

歡迎來(lái)到云服務(wù)器

系統(tǒng)配置

CentOS 6.5系統(tǒng)下搭建Git處事器教程

1 關(guān)于版本節(jié)制


版本節(jié)制是一種記錄一個(gè)或若干文件內(nèi)容變革,以便未來(lái)查閱特定版本修訂環(huán)境的系統(tǒng)。有以下三種版本節(jié)制系統(tǒng)


1. 當(dāng)?shù)匕姹竟?jié)制系統(tǒng)

很多人習(xí)習(xí)用復(fù)制整個(gè)項(xiàng)目目次的方法來(lái)生存差異的版本,或者還會(huì)更名加上備份時(shí)間以示區(qū)別。這么做獨(dú)一的長(zhǎng)處就是簡(jiǎn)樸。不外弊端也不少:有時(shí)候會(huì)夾雜地址的事情目次,一旦弄錯(cuò)文件丟了數(shù)據(jù)就沒(méi)法取消規(guī)復(fù)。

為了辦理這個(gè)問(wèn)題,人們好久以前就開(kāi)拓了很多種當(dāng)?shù)匕姹竟?jié)制系統(tǒng),大多都是回收某種簡(jiǎn)樸的數(shù)據(jù)庫(kù)來(lái)記錄文件的歷次更新差別。圖示如下,

CentOS 6.5系統(tǒng)下搭建Git處事器教程

 

2. 會(huì)合化的版本節(jié)制系統(tǒng)

會(huì)合化的版本節(jié)制系統(tǒng)( Centralized Version Control Systems,簡(jiǎn)稱 CVCS )可以或許讓在差異的開(kāi)拓系統(tǒng)上的開(kāi)拓人員協(xié)同事情。這類(lèi)系統(tǒng),諸如 CVS,Subversion 以及 Perforce 等,都有一個(gè)單一的會(huì)合打點(diǎn)的處事器,生存所有文件的修訂版本,而協(xié)同事情的人們都通過(guò)客戶端連到這臺(tái)處事器,取出最新的文件可能提交更新。多年以來(lái),這已成為版本節(jié)制系統(tǒng)的尺度做法

CentOS 6.5系統(tǒng)下搭建Git處事器教程

 

3. 漫衍式版本節(jié)制系統(tǒng)

漫衍式版本節(jié)制系統(tǒng)(Distributed Version Control System,簡(jiǎn)稱 DVCS ),像 Git,Mercurial,Bazaar 以及 Darcs 等,客戶端并不但提取最新版本的文件快照,而是把代碼客棧完整地鏡像下來(lái)。這么一來(lái),任何一處協(xié)同工浸染的處事器產(chǎn)生妨礙,過(guò)后都可以用任何一個(gè)鏡像出來(lái)的當(dāng)?shù)乜蜅R?guī)復(fù)。因?yàn)槊恳淮蔚奶崛〔倏v,實(shí)際上都是一次對(duì)代碼客棧的完整備份,

CentOS 6.5系統(tǒng)下搭建Git處事器教程

更進(jìn)一步,很多這類(lèi)系統(tǒng)都可以指定和若干差異的遠(yuǎn)端代碼客棧舉辦交互。籍此,你就可以在同一個(gè)項(xiàng)目中,別離和差異事情小組的人彼此協(xié)作。你可以按照需要設(shè)定差異的協(xié)作流程,好比條理模子式的事情流,directadmin安裝 directadmin漢化,而這在以前的會(huì)合式系統(tǒng)中是無(wú)法實(shí)現(xiàn)的。

 

2 關(guān)于Git


Git是漫衍式版本節(jié)制系統(tǒng)的一個(gè)完美實(shí)現(xiàn),它與會(huì)合式版本節(jié)制系統(tǒng)SVN的根基區(qū)別如下:

Git是漫衍式的,而SVN不是

Git和SVN一樣有本身的會(huì)合式版本庫(kù)或處事器。但,GIT更傾向于被利用于漫衍式模式,也就是每個(gè)開(kāi)拓人員從中心版本庫(kù)/處事器上chect out代碼后會(huì)在本身的呆板上克隆一個(gè)本身的版本庫(kù)。

Git將內(nèi)容按元數(shù)據(jù)方法存儲(chǔ),而SVN是按文件

所有的資源節(jié)制系統(tǒng)都是把文件的元信息埋沒(méi)在一個(gè)雷同.svn,.cvs等的文件夾里。假如你把.git目次的體積巨細(xì)跟.svn較量,你會(huì)發(fā)明它們差距很大。因?yàn)?.git目次是處于你的呆板上的一個(gè)克隆版的版本庫(kù),它擁有中心版本庫(kù)上所有的對(duì)象,譬喻標(biāo)簽,分支,版本記錄等。

Git分支和SVN分支的差異

SVN的分支就是版本庫(kù)中的別的一個(gè)目次,而Git的分支卻是整個(gè)版本庫(kù)的一個(gè)快照,并且可以在同一個(gè)事情目次下快速的在幾個(gè)分支間切換。

Git沒(méi)有一個(gè)全局的版本號(hào),而SVN有

SVN的版本號(hào)實(shí)際是任何一個(gè)相應(yīng)時(shí)間的源代碼快照。而Git并沒(méi)有這樣的一個(gè)全局版本號(hào),這也是Git缺少的最大的一個(gè)特征

Git的內(nèi)容完整性要優(yōu)于SVN

Git的內(nèi)容存儲(chǔ)利用的是SHA-1哈希算法。這能確保代碼內(nèi)容的完整性,確保在碰著磁盤(pán)妨礙和網(wǎng)絡(luò)問(wèn)題時(shí)低落對(duì)版本庫(kù)的粉碎。

 

Git的根基事情流程如下:

在事情目次中修改某些文件。

對(duì)修改后的文件舉辦快照,然后生存到暫存區(qū)域。

提交更新,將生存在暫存區(qū)域的文件快照永久轉(zhuǎn)儲(chǔ)到 Git 目次中。

 

3 Git處事器搭建


1. 情況陳設(shè)

系統(tǒng)情況:處事器端:CentOS 6.5 ,ip:192.168.56.1

               客戶端:CentOS 6.5 ,ip:192.168.56.101

軟件版本:處事器端:源碼編譯安裝,git-1.9.0.tar.gz

               客戶端:yum在線安裝機(jī)制

 

2. 安裝

2.1 處事器端:

#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

#wget http://git-core.googlecode.com/files/git-1.9.0.tar.gz

#tar zxvf git-1.9.0.tar.gz

#cd git-1.9.0

#make prefix=/usr/local all

#make prefix=/usr/local install  #root用戶運(yùn)行

 

查察版本號(hào):git --version

git version 1.9.0

 

安裝gitosis:gitosis為Git用戶權(quán)限打點(diǎn)系統(tǒng),通過(guò)打點(diǎn)處事端的/home/git/.ssh/authorized_key文件來(lái)執(zhí)行對(duì)用戶權(quán)限的打點(diǎn),是一個(gè)python模塊包

#yum install python python-setuptools

#git clone git://github.com/res0nat0r/gitosis.git

#cd gitosis/

#python setup.py install

顯示Finished processing dependencies for gitosis==0.2即暗示樂(lè)成 

 

2.2 客戶端安裝:

#yum install git

#git --version

git version 1.7.1

 

3. ssh配置

客戶端出產(chǎn)密鑰并上傳隨處事器端:

#ssh-keygen -t rsa

#scp ~/.ssh/id_rsa.pub [email protected]:~/

 

處事端查察已經(jīng)上傳的密鑰:ls ~/id_rsa.pub

 

4. 處事器上生成git用戶,利用git用戶并初始化gitosis

添加用戶git:

#useradd -r -s /bin/sh -c 'git version control' -d /home/git git

配置權(quán)限:

#mkdir -p /home/git

#chown git:git /home/git

 

在處事器端生成打點(diǎn)庫(kù):

#sudo -H -u git gitosis-init < ~/id_rsa.pub

Initialized empty Git repository in /home/git//repositories/gitosis-admin.git/ Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/ 

注解:

1. 生成的gitosis-admin為Git的用戶會(huì)見(jiàn)權(quán)限打點(diǎn)庫(kù),gitosis通過(guò)這個(gè)git庫(kù)來(lái)打點(diǎn)所有g(shù)it庫(kù)的會(huì)見(jiàn)權(quán)限。

2. 通過(guò)執(zhí)行初始化,該公鑰的擁有者就能修改用于設(shè)置gitosis的誰(shuí)人非凡Git客棧了

 

修改上傳權(quán)限:

#chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

 


5. 客戶端導(dǎo)出打點(diǎn)

#mkdir -p /git-repo/

#cd /git-repo/

#git clone [email protected]:gitosis-admin.git

#cd gitosis-admin

#find .

./gitosis.conf

./keydir

.[email protected]

注解:

gitosis.conf文件用來(lái)配置用戶、客棧和權(quán)限的節(jié)制文件

keydir目次則是生存所有具有會(huì)見(jiàn)權(quán)限用戶公鑰的處所

.[email protected]:如前所述,該用戶具有會(huì)見(jiàn)權(quán)限

 

6. 客戶端建設(shè)及配置打點(diǎn)項(xiàng)目

#cd /git-repo/gitosis-admin

查察已經(jīng)上傳密鑰

#ls keydir/

[email protected]

 

授權(quán)和權(quán)限節(jié)制

#vim gitosis.conf

[gitosis]

騰訊云代理

Copyright © 2003-2021 MFISP.COM. 國(guó)外vps服務(wù)器租用 夢(mèng)飛云服務(wù)器租用 版權(quán)所有 ? 粵ICP備11019662號(hào)

主站蜘蛛池模板: 元江| 德安县| 鄢陵县| 邵东县| 布拖县| 隆尧县| 左云县| 乌苏市| 海安县| 武邑县| 互助| 威远县| 银川市| 宝兴县| 弋阳县| 英吉沙县| 万宁市| 无棣县| 广西| 罗田县| 本溪| 兴化市| 鸡西市| 浙江省| 濮阳市| 黄大仙区| 堆龙德庆县| 萨嘎县| 永新县| 保山市| 福贡县| 饶平县| 吴旗县| 墨脱县| 筠连县| 长宁县| 嘉祥县| 阳东县| 弋阳县| 探索| 仁寿县|