在樂字節(jié)學(xué)習(xí)的一天(在線更新)

在樂字節(jié)學(xué)習(xí)的第14天笤昨,學(xué)習(xí)了挺多知識我注,下面就是我今天在樂字節(jié)學(xué)習(xí)的知識捆憎。

SVN介紹

簡介

SVN全稱Subversion舅柜,是一個開放源代碼的版本控制系統(tǒng),Subversion 在 2000 年由 CollabNet Inc 開發(fā)躲惰,現(xiàn)在發(fā)展成為 Apache 軟件基金會的一個項目致份,同樣是一個豐富的開發(fā)者和用戶社區(qū)的一部分。

SVN是一個開放源代碼的版本控制系統(tǒng)础拨,管理著隨時間改變的數(shù)據(jù)知举。這些數(shù)據(jù)放置在一個中央資料檔案庫(repository) 中瞬沦。 這個檔案庫很像一個普通的文件服務(wù)器, 不過它會記住每一次文件的變動。 這樣你就可以把檔案恢復(fù)到舊的版本, 或是瀏覽文件的變動歷史雇锡。說得簡單一點SVN就是用于多個人共同開發(fā)同一個項目逛钻,共用資源的目的

主要作用

目錄版本控制

Subversion 實現(xiàn)了一個 "虛擬" 的版本控管文件系統(tǒng), 能夠依時間跟蹤整個目錄的變動锰提。 目錄和文件都能進行版本控制曙痘。

真實的版本歷史

Subversion中,可以增加(add)立肘、刪除(delete)边坤、復(fù)制(copy)和重命名(rename),無論是文件還是目錄谅年。所有的新加的文件都從一個新的茧痒、干凈的版本開始。

自動提交

一個提交動作融蹂,不是全部更新到了檔案庫中旺订,就是完全不更新。這允許開發(fā)人員以邏輯區(qū)間建立并提交變動超燃,以防止當(dāng)部分提交成功時出現(xiàn)的問題区拳。

基本概念

Repository(源代碼庫):源代碼統(tǒng)一存放的地方

Checkout(提取):當(dāng)你手上沒有源代碼的時候意乓,你需要從repository checkout一份

Commit(提交):當(dāng)你已經(jīng)修改了代碼樱调,你就需要Commit到repository

Update (更新):當(dāng)你已經(jīng)Checkout了一份源代碼, Update后就可以和Repository上的源代碼同步

工作流程

開始新一天的工作

1届良、從服務(wù)器下載項目組最新代碼笆凌。(Checkout)2、如果已經(jīng)Checkout并且有人已Commit了代碼士葫,你可以更新以獲得最新代碼乞而。(Update

3、進入自己的分支为障,進行工作晦闰,每隔一個小時向服務(wù)器自己的分支提交一次代碼(很多人都有這個習(xí)慣放祟。因為有時候自己對代碼改來改去鳍怨,最后又想還原到前一個小時的版本,或者看看前一個小時自己修改了哪些代碼跪妥,就需要這樣做了)鞋喇。(Commit

4、下班時間快到了眉撵,把自己的分支合并到服務(wù)器主分支上侦香,一天的工作完成落塑,并反映給服務(wù)器。(Commit

注意:如果兩個程序員同時修改了同一個文件罐韩, SVN可以合并這兩個程序員的改動憾赁,實際上SVN管理源代碼是以行為單位的,就是說兩個程序員只要不是修改了同一行程序散吵,SVN都會自動合并兩種修改龙考。如果是同一行,SVN會提示文件Confict, 沖突矾睦,需要手動確認晦款。

生命周期

創(chuàng)建版本庫

版本庫相當(dāng)于一個集中的空間,用于存放開發(fā)者所有的工作成果枚冗。版本庫不僅能存放文件缓溅,還包括了每次修改的歷史,即每個文件的變動歷史赁温。

Create 操作是用來創(chuàng)建一個新的版本庫坛怪。大多數(shù)情況下這個操作只會執(zhí)行一次。當(dāng)你創(chuàng)建一個新的版本庫的時候束世,你的版本控制系統(tǒng)會讓你提供一些信息來標識版本庫酝陈,例如創(chuàng)建的位置和版本庫的名字。

檢出

Checkout 操作是用來從版本庫創(chuàng)建一個工作副本毁涉。工作副本是開發(fā)者私人的工作空間沉帮,可以進行內(nèi)容的修改,然后提交到版本庫中贫堰。

更新

顧名思義穆壕,update 操作是用來更新版本庫的。這個操作將工作副本與版本庫進行同步其屏。由于版本庫是由整個團隊共用的喇勋,當(dāng)其他人提交了他們的改動之后,你的工作副本就會過期偎行。

讓我們假設(shè) Tom 和 Jerry 是一個項目的兩個開發(fā)者川背。他們同時從版本庫中檢出了最新的版本并開始工作。此時蛤袒,工作副本是與版本庫完全同步的熄云。然后,Jerry 很高效的完成了他的工作并提交了更改到版本庫中妙真。

此時 Tom 的工作副本就過期了缴允。更新操作將會從版本庫中拉取 Jerry 的最新改動并將 Tom 的工作副本進行更新。

執(zhí)行變更

當(dāng)檢出之后珍德,你就可以做很多操作來執(zhí)行變更练般。編輯是最常用的操作矗漾。你可以編輯已存在的文件來,例如進行文件的添加/刪除操作薄料。

你可以添加文件/目錄敞贡。但是這些添加的文件目錄不會立刻成為版本庫的一部分,而是被添加進待變更列表中摄职,直到執(zhí)行了 commit 操作后才會成為版本庫的一部分嫡锌。

同樣地你可以刪除文件/目錄。刪除操作立刻將文件從工作副本中刪除掉琳钉,但該文件的實際刪除只是被添加到了待變更列表中势木,直到執(zhí)行了 commit 操作后才會真正刪除。

Rename 操作可以更改文件/目錄的名字歌懒。"移動"操作用來將文件/目錄從一處移動到版本庫中的另一處啦桌。

復(fù)查變化

當(dāng)你檢出工作副本或者更新工作副本后,你的工作副本就跟版本庫完全同步了及皂。但是當(dāng)你對工作副本進行一些修改之后甫男,你的工作副本會比版本庫要新。在 commit 操作之前復(fù)查下你的修改是一個很好的習(xí)慣验烧。

Status 操作列出了工作副本中所進行的變動板驳。正如我們之前提到的,你對工作副本的任何改動都會成為待變更列表的一部分碍拆。Status 操作就是用來查看這個待變更列表若治。

Status 操作只是提供了一個變動列表,但并不提供變動的詳細信息感混。你可以用 diff 操作來查看這些變動的詳細信息端幼。

修復(fù)錯誤

我們來假設(shè)你對工作副本做了許多修改,但是現(xiàn)在你不想要這些修改了弧满,這時候 revert 操作將會幫助你婆跑。

Revert 操作重置了對工作副本的修改。它可以重置一個或多個文件/目錄庭呜。當(dāng)然它也可以重置整個工作副本滑进。在這種情況下,revert 操作將會銷毀待變更列表并將工作副本恢復(fù)到原始狀態(tài)募谎。

解決沖突

合并的時候可能會發(fā)生沖突扶关。Merge 操作會自動處理可以安全合并的東西。其它的會被當(dāng)做沖突近哟。例如驮审,"hello.c" 文件在一個分支上被修改鲫寄,在另一個分支上被刪除了吉执。這種情況就需要人為處理疯淫。Resolve 操作就是用來幫助用戶找出沖突并告訴版本庫如何處理這些沖突。

提交更改

Commit 操作是用來將更改從工作副本到版本庫戳玫。這個操作會修改版本庫的內(nèi)容熙掺,其它開發(fā)者可以通過更新他們的工作副本來查看這些修改。

在提交之前咕宿,你必須將文件/目錄添加到待變更列表中币绩。列表中記錄了將會被提交的改動。當(dāng)提交的時候府阀,我們通常會提供一個注釋來說明為什么會進行這些改動缆镣。這個注釋也會成為版本庫歷史記錄的一部分。Commit 是一個原子操作试浙,也就是說要么完全提交成功董瞻,要么失敗回滾。用戶不會看到成功提交一半的情況田巴。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末钠糊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子壹哺,更是在濱河造成了極大的恐慌抄伍,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件管宵,死亡現(xiàn)場離奇詭異截珍,居然都是意外死亡,警方通過查閱死者的電腦和手機箩朴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門笛臣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人隧饼,你說我怎么就攤上這事沈堡。” “怎么了燕雁?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵诞丽,是天一觀的道長。 經(jīng)常有香客問我拐格,道長僧免,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任捏浊,我火速辦了婚禮懂衩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己浊洞,他們只是感情好牵敷,可當(dāng)我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著法希,像睡著了一般枷餐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上苫亦,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天毛肋,我揣著相機與錄音,去河邊找鬼屋剑。 笑死润匙,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的唉匾。 我是一名探鬼主播趁桃,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼肄鸽!你這毒婦竟也來了卫病?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤典徘,失蹤者是張志新(化名)和其女友劉穎蟀苛,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逮诲,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡帜平,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了梅鹦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片裆甩。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖齐唆,靈堂內(nèi)的尸體忽然破棺而出嗤栓,到底是詐尸還是另有隱情,我是刑警寧澤箍邮,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布茉帅,位于F島的核電站,受9級特大地震影響锭弊,放射性物質(zhì)發(fā)生泄漏堪澎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一味滞、第九天 我趴在偏房一處隱蔽的房頂上張望樱蛤。 院中可真熱鬧钮呀,春花似錦、人聲如沸昨凡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽土匀。三九已至,卻和暖如春形用,著一層夾襖步出監(jiān)牢的瞬間就轧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工田度, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留妒御,地道東北人。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓镇饺,卻偏偏與公主長得像乎莉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子奸笤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,697評論 2 351