亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        實(shí)戰(zhàn)Linux版本控制機(jī)制

        2017-03-10 07:45:51
        網(wǎng)絡(luò)安全和信息化 2017年3期
        關(guān)鍵詞:命令倉庫用戶

        引言:所謂版本控制,就是將多次操作的結(jié)果以日志的方式存儲下來,便于之后進(jìn)行恢復(fù)。版本控制并不是一個(gè)簡單的軟件而是一套系統(tǒng),版本控制系統(tǒng)針對文件的變動進(jìn)行監(jiān)控,記錄其數(shù)據(jù)變動信息。其可以恢復(fù)目標(biāo)文件到之前的任意版本,并可比較兩個(gè)版本之間的差異。其支持多個(gè)用戶同時(shí)編輯同一個(gè)文件,能夠記錄哪個(gè)用戶什么時(shí)間修改該文件,為什么修改該文件。對于系統(tǒng)管理員來說,其對于腳本,文檔,配置文件等數(shù)據(jù)進(jìn)行的修改,都可以保存在版本控制體系中。

        版本控制運(yùn)行機(jī)制

        在Linux中提供了Subversion和CVS 兩款版本控制系統(tǒng),兩者在功能上沒有大的區(qū)別,但是前者比較新而且發(fā)展趨勢較好,因此推薦使用Subversion。

        對于Subversion來說,其存儲理念是將文件存儲在集中式的倉庫中,該倉庫可以位于本地磁盤,也可以在遠(yuǎn)程主機(jī)上,通過SSH或者WebDav進(jìn)行訪問。

        每個(gè)用戶在倉庫中都有自己的工作目錄,用戶想使用版本控制體系中的項(xiàng)目文件,必須有自己的工作目錄。

        當(dāng)用戶登錄后,在用戶的Home目錄或工作目錄中,會針對版本控制軟件會生成一個(gè)名為“.svn”的隱藏目錄,在其中存放版本控制軟件的元數(shù)據(jù)以及屬于用戶的文件。

        注意:不要使用手動的方法,來更改該隱藏目錄中的任何數(shù)據(jù)。

        如果在某臺Linux用戶本機(jī)上配置了版本控制體系,并保存了所有的文檔,由于該機(jī)同時(shí)保持著倉庫和用戶,因此用戶想使用倉庫中的數(shù)據(jù),必須先將其下載后才可以對其進(jìn)行編輯,當(dāng)執(zhí)行提交修改的時(shí)刻,才上傳到倉庫中。

        因?yàn)橛袆e的用戶在該機(jī)上登錄,所以無法直接對倉庫中的文件進(jìn)行編輯,倉庫是加密的庫,用戶無法看到的。

        訪問倉庫的方式有多種,對于存儲在本地的倉庫來說,其格式為“file:///repo/path”。對于存在于遠(yuǎn)程主機(jī)上的倉庫來說,其格式為“svn+ssh://hostname/repo/path”,這是對于SSH方式而言的。

        對 于WebDav方 式來說,其格式為“http://hostname/repo/path”。只要執(zhí)行過一次和版本控制相關(guān)的指令,就會生成上述“.svn”目錄,其中記錄這一系列的元數(shù)據(jù),包含了服務(wù)器的地址和下載的項(xiàng)目名稱等內(nèi)容。這里以RHEL 6.0為例進(jìn)行說明。

        在本地管理版本控制系統(tǒng)

        當(dāng)建立一個(gè)空的倉庫時(shí),必須以Root用戶執(zhí)行“svnadmin create /path”命令來實(shí)現(xiàn)。如果允許遠(yuǎn)程用戶使用SSH方式進(jìn)行訪問,需要配置sshd服務(wù),創(chuàng)建所需的賬戶。

        如果使用Web方式進(jìn)行訪問,需要配置Web服務(wù)器(例如Apache等),并安裝“Mod_Dav_Svn”模塊,同時(shí)配置所需的虛擬賬戶。

        在實(shí)際的工作中,為了便于管理,可以先創(chuàng)建一個(gè)目 錄(例 如“AllProject”)用來存放所有的項(xiàng)目,在該總目錄下創(chuàng)建一個(gè)子目 錄(例 如“dept”), 使用“svnadmin create /allproject/dept”命令,對其進(jìn)行初始化,創(chuàng)建一個(gè)新的項(xiàng)目。

        當(dāng)然,該目錄也可以有該命令自動創(chuàng)建。執(zhí)行“l(fā)l/allproject/dept”命 令,可以看到其中生成的所有數(shù)據(jù),其中的“db”目錄用來存放該項(xiàng)目中的所有文件。

        為了便于開發(fā)人員使用該項(xiàng)目數(shù)據(jù),需要進(jìn)行必要的權(quán)限設(shè)定。執(zhí)行“groupadd dept”命令,創(chuàng)建名為“dept”的組。

        執(zhí) 行“useradd user1-G dept”,“useradd user2-G dept”, 將“user1” 和“user2”用戶添加到該組中。

        執(zhí)行“chgrp -Rdept /allproject/dept/db”命令,將“/allproject/dept/db”的屬組設(shè)定“dept”用戶組,即該組擁有對該項(xiàng)目的權(quán)限。

        執(zhí)行“chmod -Rg+w /allproject/dept/db”命令,該組成員擁有對該目錄的寫權(quán)限。這樣,之后只要將用戶加入到該組中,就可以對該項(xiàng)目進(jìn)行開發(fā)。

        對于老版本的Linux來說,可能還需要執(zhí)行“chmod 2770 /allproject/dept/db”命令,確保該目錄中所有新建的文件以及子目錄的權(quán)限與父目錄的屬組一致。

        執(zhí) 行“yumlist subversion”命令,可以查看subversion包的安裝信息。

        對于開發(fā)者來說,需要將對應(yīng)的項(xiàng)目文件導(dǎo)入進(jìn)來。 執(zhí) 行“echo 'export EDITOR=VIM' >>~/.bash_profile” 和“. ~/.bash_profile”命令,為其指定編輯器,將其放置到啟動文件中,并讓其立即生效。

        執(zhí)行“set|grep EDI”命令,可以看到編輯器設(shè)置成功。

        例如項(xiàng)目文件位于“/var/pub/peizhi” 目 錄中,先進(jìn)入該目錄,執(zhí)行“svn import file:///allproject/dept”命令,在打開的編輯器中輸入合適的內(nèi)容后,保存后將其中的文件上傳到上述倉庫中的項(xiàng)目目錄中。

        注意:其默認(rèn)只上傳文本文件,而不是上傳二進(jìn)制文件。

        使用版本控制及存儲數(shù)據(jù)文件

        以 上 述“dept” 組 中的“user1”賬戶身份登錄系統(tǒng),執(zhí)行“svn checkout file:///allproject/dept/”命令,將上述“dept”項(xiàng)目下載到本地。之后進(jìn)入下載得到的“dept”目錄,可以查看其中的文件,執(zhí)行各種編輯操作。

        當(dāng)完成對應(yīng)的修改操作后,假設(shè)了修改了名為“filename”的文件,在“dept”目錄中執(zhí) 行“svn commit filename”命令,輸入關(guān)于該文件的修改說明信息后,執(zhí)行提交操作上傳到倉庫中。

        如 果 只 執(zhí) 行“svn commit”命令,可以自動搜索提交所有變動的文件。

        當(dāng)然,對于該組中的其他用戶來說,也可以執(zhí)行同樣的操作。別的用戶要想及時(shí)了解項(xiàng)目中相關(guān)文件的變動情況,可以執(zhí)行“svn update”命令來獲取更新信息。

        執(zhí)行“svn add filexxx”命令,可以向項(xiàng)目中追加名為“filexxx”的文件,之后再執(zhí)行提交操作。該文件必須位于注入“dept”項(xiàng)目文件夾,而不能隨意將任何路徑中的文件追加上去。中執(zhí)行“svn delete filexxx”命令,可以從項(xiàng)目中刪除文件。

        注意:這只是標(biāo)記為刪除,之后必須執(zhí)行提交操作方可。

        執(zhí)行“svn info”命令,可以檢查項(xiàng)目的狀態(tài)信息,例如訪問地址,倉庫根目錄,倉庫ID等。

        執(zhí)行“svn info -R”命令,可以查看其中每個(gè)文件的版本以及其詳細(xì)信息。執(zhí)行“svn status -vu”命令,也可以查看與之類似的狀態(tài)信息。

        當(dāng)項(xiàng)目組中的某個(gè)用戶希望查看某文件的版本信息時(shí),可以執(zhí)行“svn log flname”命令,可以查看名為“finame”的文件的所有版本變動信息.

        其所有的修改記錄全部被顯示出來,包括具體的版本號(例如r1,r2等)、修改者賬戶名、修改時(shí)間、修改的行數(shù)以及說明信息等。

        如果想查看其與指定版本號存在哪些區(qū)別,可以執(zhí)行“svn diff –r3 flname”命令,可以查看“flname”文件當(dāng)前版本和“r3”版本之間的區(qū)別,包括在哪些行數(shù)據(jù)發(fā)生了變化等。

        當(dāng)在本地對項(xiàng)目中的某文件進(jìn)行了修改并存盤后,如果發(fā)現(xiàn)存在錯(cuò)誤話的,利用版本控制機(jī)制可以將其迅速恢復(fù)到修改之前的狀態(tài)。

        執(zhí) 行“svn revert flname”命令,就可以放棄對“flname”文件的所有修改,放棄存盤恢復(fù)到修改之前的狀態(tài)。

        當(dāng)然,這必須在執(zhí)行提交操作之前進(jìn)行。如果執(zhí)行了提交更新操作,則可以恢復(fù)到指定的版本。

        執(zhí) 行“svn cat -r 1 flname > flname”命令,可以將“flname”文件恢復(fù)到“r1”版本狀態(tài)。

        使用Web方式管理版本控制

        如果想基于Web方式訪問倉庫,可以先在目標(biāo)主機(jī)上安裝和配置好Apache服務(wù)。在該機(jī)上建立名為“Newgc”的目錄,其中包含“devep”文件夾。

        執(zhí)行“svnadmin create/newgc/devep”命令,對其進(jìn)行初始化,創(chuàng)建一個(gè)新的項(xiàng)目。

        執(zhí) 行“chown-R apache.apache /newgc/devep/db”命令,允許訪問Apache的用戶擁有針對該項(xiàng)目的是使用權(quán)限。

        執(zhí) 行“mkdir /newgc/devep/dav”,創(chuàng) 建“dav”目錄,便于Apache在其中存儲數(shù)據(jù)。

        執(zhí) 行“chown-R apache.apache /newgc/devep”命令,針對該“dav”目錄設(shè)置公開的訪問權(quán)限。

        執(zhí) 行“yum install mod_dav_svn.x86_64”命令,安裝“mod_dav_svn”模塊。

        執(zhí) 行“/etc/init.d/httpd restart”命令,重啟Apache進(jìn)程。

        執(zhí)行“vim /etc/httpd/conf.d/subversion.conf”命 令,打 開“subversion.conf”配置文件,在其中可以看到一些示例說明信息,這里只是簡單舉例,添加“”,“DAV svn”,“SVNParentPath /newgc”,“”等 行內(nèi)容,之后保存文件。

        猜你喜歡
        命令倉庫用戶
        倉庫里的小偷
        只聽主人的命令
        填滿倉庫的方法
        四行倉庫的悲壯往事
        移防命令下達(dá)后
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        這是人民的命令
        消防設(shè)備
        国产高潮视频在线观看| 久久夜色精品国产三级| 亚洲中文字幕无码爆乳av| 色综合无码av网站| 在线精品无码一区二区三区| 亚洲女同精品一区二区久久| 国产精品入口蜜桃人妻| 国产aⅴ丝袜旗袍无码麻豆| 在线观看中文字幕一区二区三区| 国产精品成人有码在线观看| 亚洲乱码中文字幕第一页| 亚州av高清不卡一区二区| 丰满的少妇av一区二区三区| 久久精品国产亚洲av麻豆瑜伽| 无码人妻久久一区二区三区免费丨 | 久久精品国产亚洲av蜜桃av| 一区二区三区在线观看视频| 人妻体体内射精一区中文字幕| 日韩人妻久久中文字幕| 亚洲人妻调教中文字幕| 亚洲欧美v国产一区二区| 中文无码精品a∨在线观看不卡| 国产精品久久久久久久免费看 | 在线亚洲人成电影网站色www| 人妻在卧室被老板疯狂进入国产 | 久久综合伊人77777麻豆| 超碰97人人射妻| 亚洲人成无码网站在线观看| 国产精品白浆在线观看无码专区| 全免费a级毛片免费看视频| 国产美女久久久亚洲综合| 男性av天堂一区二区| 日本a级片免费网站观看| 国产精品久久久久高潮| 日本高清h色视频在线观看| 国产爆乳无码一区二区在线| 中文字幕二区三区在线| 中文字幕一区二区人妻性色av| 亚洲国产精品亚洲一区二区三区 | 看全色黄大色大片免费久久| 天天影视色香欲综合久久|