版本跟蹤與subversion(svn)為初學者

您是否曾經想過在一個專案上工作,該專案能夠跟蹤更改並恢復這些更改?如何使用流行的版本跟蹤系統Subversion(a.k.a SVN)解釋如何使用。...

版本跟蹤與subversion(svn)為初學者

您是否曾經想過在一個專案上工作,該專案能夠跟蹤更改並恢復這些更改?如何使用流行的版本跟蹤系統Subversion(a.k.a SVN)解釋如何使用。

影象的清晰模糊

普雷洛格

本指南的目的是讓您能夠在一般情況下使用subversion客戶端,如果您有,還可以在您的*DD-WRT路由器上使用。本指南絕不是顛覆的權威指南,很多資訊都可以在顛覆紅皮書上找到。本指南僅為您提供最基本問題的速記答案。

概述

對於使用版本控制系統的軟體專案,您希望能夠“簽出”最新程式碼的原因可能有很多。這樣做可以讓您從最新的尚未釋出的更改中獲益,幫助您進行測試甚至開發。在本指南中,我們將介紹一些基本的SVN術語,展示如何在Linux、Windows上安裝SVN客戶機,如果您有一個支援OPKG的DD-WRT路由器。我們還包括一個專案的例子,你可以簽出和使用的路由器說。

什麼是顛覆(subversion)?

Subversion並不是現存的唯一版本控制系統,其他的版本控制系統包括Git(由Linux核心創始人Linus Torvalds建立)、Mercurial和PerForce等等。也就是說,它是一個免費的,它的成熟和廣泛使用的世界各地。

走出顛覆“紅皮書”:

Subversion is a free/open source version control system (VCS). That is, Subversion manages files and directories, and the changes made to them, over time. This allows you to recover older versi*** of your data or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of “time machine.”

注意:這本書是關於subversion的知識的終極集合,建議您在所有與subversion相關的主題上參考它。

什麼是版本控制(versioning)?

版本控制是儲存專案在某個時間點的狀態的過程。這類過程通常用於管理軟體開發,以便工作可以繼續改進專案或新增功能,同時能夠跟蹤從上一次總體“儲存”點更改的內容。更詳細地說,這種程式對於一個人來說是有用的,但是對於一組在同一個專案上工作的人來說更有用。這是因為,通常,當作為一個團隊來處理一個專案時,會有一個責任分配,不同的人會改變專案的不同方面。如果沒有版本控制機制,就很難讓每個人都對其他人的最新工作更改保持同步。

術語

儲存庫儲存庫是儲存所有不同位置的所有資料的位置。在subversion世界中,從客戶機的角度來看,是伺服器儲存了專案的資料庫。此資料庫包含作為專案一部分的所有檔案及其所有以前版本。

修訂

建立儲存庫時,它的修訂號為零(0)。每次執行提交時,此數字將遞增一(1)。版本號是儲存庫的全域性版本號。也就是說,儲存庫中的各個檔案沒有單獨的修訂號,即使該檔案中針對該特定提交沒有任何更改。

工作副本

工作副本是特定版本的本地副本(或“簽出”)。通常,簽出時的這個版本是“最新”版本(也稱為“head”),但可以請求以前的版本。使用者可以對本地副本執行任何他/她想要的操作,並且知道,最壞的情況下,他們可以再次簽出程式碼。此外,此副本是“私有的”。這是因為,除非您更新或提交您的副本,否則您不會看到其他人的更改,他們也不會看到您的更改。

更新和衝突解決

可以更新本地工作副本。也就是說,如果您“簽出”了某個版本,並且在工作時,儲存庫上的版本已更新,則可以將工作副本更新為最新版本。事實上,伺服器將阻止您在更新到與儲存庫匹配的最新版本之前提交更改。這樣做是為了迫使您在本地解決衝突,然後才考慮向儲存庫提交更改。

合併

合併是指將更改後的程式碼混合到一個版本中的過程。這也可能需要解決衝突。

提交

提交是將您對本地副本所做的更改合併回儲存庫的過程。這是流程中最危險的部分,因為您所做的更改可能會影響使用同一儲存庫的其他人。這就是為什麼這通常是在經過一些考慮之後,在團隊的一致意見下,在您解決了任何合併衝突之後進行的。

工作流

使用subversion時,從使用者的角度來看,最基本的工作流是:

1簽出現有程式碼(通常是“head”)。2。進行修改、新增檔案和一般程式碼的開發。更新到最新版本,以確保本地副本與儲存庫上的更新同步。4。必要時進行區域性合併並解決衝突。將合併的更改提交到儲存庫中。轉到步驟2。

我們開始吧

安裝客戶端

為了能夠使用subversion,您需要在您的計算機上安裝客戶端。

在Linux上

你只需要安裝軟體包。在Ubuntu/Mint上,這將透過以下方式完成:

sudo aptitude install subversion

在DD-WRT上

如果您遵循了“How To Install Additional Software On Your Home Router(DD-WRT)”,只需發出以下命令即可安裝svn客戶端:

opkg update; opkg install subversion-client

在Windows上

儘管我們這些極客使用者可能會開始忘記GUI有時甚至存在,但並不是每個人都有。如果您想使用windows客戶機連線到SVN儲存庫,到目前為止最流行的是“Tortoise”。要使用它,只需下載程式並以常規的“下一步,下一步,完成”方式安裝。

建立“儲存庫”

雖然在本指南中我們不會詳細介紹如何設定subversion伺服器,但Google替代方案對於新手使用者來說並不是一個壞的開始。要建立Google儲存庫,請執行以下操作:

  • 前往谷歌程式碼託管網站和“建立”一個新的專案。
  • In the next page, fill in the required fields and select the type of “version control system” to be subversion. 007Ys3FFgy1gpgy3o12xzj30i20hr40j Note: You may want to glance over what is the difference between the licenses Google offer, before you select one for the project.
  • 單擊“建立專案”。

“Checkout” your working copy

Once your project has been created, you Should be able to find the instructi*** on how to access it in the “Source” tab. 版本跟蹤與subversion(svn)為初學者

Google程式碼的好處是它將為您的專案啟用匿名只讀版本。如果您不想處理建立自己專案的麻煩,您可以匿名簽出此作者的儲存庫。

關於hotfortech專案的一個注意事項是:這個專案是為了包裝已經新增到DD-WRT中的關於如何極客(我個人使用)的特性,以及一些個人的調整。雖然這個專案與howtogeek上發表的文章結合使用,但它仍然是我的私人專案。也就是說,它非常適合我的Buffalo路由器(AR71xx架構),我個人的突發奇想,而且很容易偶爾出現borkage。

在Linux/DD-WRT上

建立要在其中工作的目錄,例如在DD-WRT上,可以是:

mkdir -p /jffs/svn; cd /jffs/svn

Linux上的full命令由SVN命令本身、“checkout”指令、儲存庫地址和要簽出的目錄組成。建立一個空目錄並執行以下命令:

svn checkout http://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-read-only

請注意,在上面的示例中,只讀版本正在簽出。如果選擇建立自己的儲存庫,則需要使用httpS連結。

在Windows上

Because tortoise is a shell extension, you will need to use the Windows file explorer’s context menu (right-click) to use it. In fact, if you try to invoke it from the start menu, you will get: 版本跟蹤與subversion(svn)為初學者

  • 建立一個空目錄。
  • 在其中單擊滑鼠右鍵以開啟關聯選單。
  • 選擇“SVN Checkout”:
  • 將專案連結(如果有)複製並貼上到“URL”文字框中:
  • 根據專案的大小,這可能需要一段時間,但當“簽出”完成後,您應該會看到以下內容:
  • 你可以開始發展了。

“更新”&“合併”您的工作副本如果您與同事或您自己正在從多個位置(即膝上型電腦、桌上型電腦甚至路由器)更新程式碼,則必須在提交最新更改之前更新工作副本。

在Linux/DD-WRT上

在這些POSIX系統上執行此操作的命令很簡單:

svn up

在Windows上

  • 右擊工作目錄,選擇“SVN更新”:
  • 如果您遇到衝突,請嘗試按照螢幕上的說明進行操作,並根據您的判斷來處理衝突。

“提交”您的更改就是這樣,您應該沒有衝突,並準備好用您的改變。改變這裡需要注意的一點是,向提交中新增“日誌”訊息是一種常見的做法,這樣可以很容易地回憶起為什麼要進行更改。事實上,Google的儲存庫將此作為提交的強制性前提條件。

在Linux/DD-WRT上

這是我對hotfortech專案所做的承諾的一個例子,該專案將其升級到版本19:

svn commit -m “updated to reflect new ant-ads pack link”

在Windows上

  • 在工作目錄中單擊滑鼠右鍵,選擇“SVN Commit”:
  • 您將看到一個視窗,該視窗允許您記錄日誌訊息:
  • 點選OK,當提示輸入密碼時,輸入Google生成的密碼。
  • 如果提交成功,您應該看到如下內容:
  • 就是這樣,你應該能夠像老闆一樣承諾。

最後的評論這應該足以讓你開始。建議您閱讀SVN參考書,以便更深入、更好地掌握SVN的所有用法、選項和注意事項。此外,我們(再次)提醒您,subversion不是唯一的版本控制系統,GIT(由Linux核心創始人Linus Torvalds建立)近年來似乎越來越流行。

如果你選擇跑步-配置.sh從路由器上的hotfortech專案中,你會發現它目前將為你安裝:反廣告包、Opkg geek init指令碼,以及完整的GNU“ls”、“less”、“BASH”等等。

/jffs/svn/hotfortech-dd-wrt/running-conf.sh

更多功能正在等待並將在將來新增。


系統管理員將透過編碼來擺脫編碼。

  • 發表於 2021-04-12 14:29
  • 閱讀 ( 59 )
  • 分類:網際網路

你可能感興趣的文章

如何使用git分支來構造程式設計專案

... 如果您要檢查其他版本控制系統(如Subversion)的儲存庫,您會發現它們為每個單獨的檔案維護每個版本的一個副本。這意味著如果您擁有一個檔案的儲存庫,然後建立兩個分支,則repo包含該檔案的兩個不同...

  • 發佈於 2021-03-12 01:24
  • 閲讀 ( 51 )

adobe在youtube上為初學者提供的最新photoshop教程系列

你可能已經使用adobephotoshop很長一段時間了,但即便如此,還有很多小東西要學。為什麼不從初學者的角度重新開始呢? ...

  • 發佈於 2021-03-12 16:01
  • 閲讀 ( 54 )

初學者最容易學習的6種程式語言

...麼難。有了大量的線上和線下資源、專門的社群和專家來跟蹤社交媒體,學習程式設計比過去簡單多了。對你的心理健康有好處。即使是孩子也可以很早就開始程式設計。 ...

  • 發佈於 2021-03-16 10:37
  • 閲讀 ( 66 )

為初學者提供的7個關鍵攝影技巧

攝影是你最難學的東西之一,這就是為什麼我來這裡為初學者提供幾個基本的攝影技巧。用相機指著快門就足夠了——拍攝一張照片來匹配你的視力是困難的地方。 ...

  • 發佈於 2021-03-18 11:31
  • 閲讀 ( 50 )

初學者的10個基本twitter提示

...下,會啟用“與Twitter的業務夥伴共享資料”設定,以及跟蹤在web上檢視Twitter內容的位置。至少,您應該透過指向“設定”>“內容首選項”>“個性化和資料”來關閉這兩個選項。 ...

  • 發佈於 2021-03-19 03:57
  • 閲讀 ( 45 )

5個免費課程和應用程式供瑜伽初學者學習和練習

... 5sunups(android,ios):太陽敬禮瑜伽指南和跟蹤器 ...

  • 發佈於 2021-03-20 09:36
  • 閲讀 ( 49 )

為初學者提供最好的線上攝影課程

你能上的最好的攝影課就是你家門口的那門。換言之,出去拍下所有的東西!不過,也有一些很棒的網上攝影課值得探索。 ...

  • 發佈於 2021-03-20 14:06
  • 閲讀 ( 55 )

為初學者提供的7個最佳線上烹飪指南

... 這張簡單的線上烹飪指南清單是為初學者準備的。不過,如果你在烹飪之旅中走得更遠,看看這些網站上的高階食譜也不會對你造成傷害。 ...

  • 發佈於 2021-03-21 09:24
  • 閲讀 ( 50 )

學習c#程式設計的7個實際原因

... 微軟最近推出了.NETCore作為.NETFramework的開源簡化版本。免費,易於安裝,允許跨平臺開發。這意味著任何開發人員都可以在任何作業系統上建立控制檯和web應用程式。 ...

  • 發佈於 2021-03-21 18:41
  • 閲讀 ( 65 )

你需要看的7個黑色星期五無人機交易

...全景照片 五個視覺感測器,以及GPS和GLONASS跟蹤 飛行時間約20-21分鐘 智慧控制:用手勢控制你的無人機 ...

  • 發佈於 2021-03-22 16:02
  • 閲讀 ( 60 )
lyehduuucx
lyehduuucx

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章