3分鐘學會SVN:SVN快速上手

選擇SVN客戶端

Windows平臺

TortoiseSVN:也叫烏龜SVN,Windows上最流行的SVN客戶端,安裝后你的右鍵就會多了幾個SVN相關的菜單,非常方便
Eclipse插件:在Eclipse中集成SVN插件,適合使用Eclipse開發的用戶,查看使用教程

Mac平臺

CornerStone:Mac上最流行的SVN客戶端之一,查看使用教程
Versions:Mac上最流行的SVN客戶端之一,查看使用教程

以下教程以TortoiseSVN為例


Checkout同步代碼

在你需要保存代碼的地方右鍵選擇“SVN Chekout...”
填寫倉庫地址,例如:svn://svnbucket.com/nate/hello/trunk。
點擊確定就能同步代碼到本地了。

如果你還沒有代碼倉庫,你可以到SVNBucket注冊一個。

Update更新代碼

右鍵“SVN Update”就能更新到別人提交的代碼了。

Commit提交代碼

在提交代碼前我們應該update下代碼,這是個好習慣,可以避免覆蓋別人代碼和代碼沖突。

提交代碼也很簡單,右鍵“SVN Commit...”,填入提交描述,就可以把本地提交的代碼提交到服務器了。

忽略文件

有時候某些目錄或者文件我們不想提交到SVN服務器,這時我們可以忽略這些文件。
比如我們需要忽略hello這個目錄,選中需要忽略的文件夾或者文件,右鍵,依次選擇下面的菜單,就添加一條忽略了,recursively表示遞歸忽略,會忽略掉這個目錄下的所有東西

圖片描述

撤銷本地修改

有時候我們本地修改了一些文件,但是突然又不需要了,想丟棄本地的修改回去SVN上最新的版本怎么操作呢?

右鍵選中需要撤銷的文件,TortoiseSVN->Rever就可以丟棄本地修改了。

撤銷已經提交的代碼

已經提交到SVN倉庫的代碼發現改錯了,還能后悔撤回嗎?

1.TortoiseSVN==>show log查看提交記錄

2.選擇我們需要回去的版本,假設版本號2是我們的錯誤提交,這里選擇提交1,右鍵選擇"Revert to this version",這樣就回去了版本號1的版本,版本號2的提交就被撤銷了

3.最后你還需要commit下撤銷后的代碼到SVN倉庫,才是真正的丟棄了版本號2的提交

圖片描述

SVN倉庫目錄和開發建議

我們建議每個倉庫的根目錄都創建trunk、branches、tags目錄,如下圖:

圖片描述

開發時都在trunk寫代碼,上線產品后就創建分支到branches目錄,線上版本出問題了,我們應該在對應的分支上進行修復,并且把修復后的代碼合并到主干上。

Apache官方 SVN 最佳實踐指南

如何創建分支

以上面的目錄結構為例子,我們從當前主干創建一個分支出去,表示1.0版本,操作步驟如下:

1.右鍵trunk目錄=>TortoiseSVN=>Branch/tag

2.填寫分支路徑/branches/online1.0,填寫注釋,選擇最用最新的版本開分支,如下圖:

圖片描述

如何合并代碼

假設我們在分支上修復了一個線上的BUG,需要把代碼那個代碼合并到主干來,操作步驟:

1.在分支的跟目錄點擊show log

2.選中需要合并過去主干的提交記錄(可以多選)

3.點擊merge revision to ...

4.選擇主干的跟目錄,點擊確定,就合并過去了。

5.在主干上提交這次合并的內容

圖片描述

SVN的這個指定提交記錄合并功能非常的方便,我們日常中經常會遇到線上出問題需要修復,修復后把代碼合并到主干的情況。

這里需要注意的是,你在分支上的什么目錄點擊合并,那就需要定位到主干的對應目錄合并,不然會出錯。

另外如果你有大量的代碼需要合并或者不知道哪些提交記錄需要合并,可以使用Beyond Compare來進行對比合并,也是非常方便的。

切換分支

右鍵TortoiseSVN=>Switch=>選擇需要切換的分支,點擊確定就可以了

修改倉庫地址

如果您的倉庫地址變了,是不是需要重新checkout一份代碼呢?

快速更換:右鍵點擊倉庫根目錄 => TortoiseSVN => relocate,修改倉庫地址,點擊確定后就修改好了

其他相關教程

SVN常用命令
SVN鉤子解放你的雙手
輕松解決SVN沖突
SVN 和 Git 的一些誤解和真相
Mac用戶SVN圖形界面推薦
Eclipse安裝SVN插件和檢出代碼

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452118.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452118.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452118.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

flask框架(三):flask配置文件

flask中的配置文件是一個flask.config.Config對象(繼承字典),默認配置為:{DEBUG: get_debug_flag(defaultFalse), 是否開啟Debug模式TESTING: False, …

C語言可變參數全解

cstdarg(stdarg.h)可變參數的處理 這個頭文件定義了一些宏,可以通過這些宏來逐個訪問被調函數的沒有名字的參數列表,這些參數的個數 和類型都是不知道的。 一個函數可以通過包含一個逗號和三個點(,...)接收可變數量的額外參數,而不需…

Diango博客--23.單元測試:測試 blog 應用

文章目錄1. 前言2. 搭建測試環境3. 測試模型4. 測試視圖5. 測試模板標簽6. 測試輔助方法和類1. 前言 我們博客功能越來越來完善了,但這也帶來了一個問題,我們不敢輕易地修改已有功能的代碼了! 我們怎么知道代碼修改后帶來了預期的效果&…

一般與特殊結構關系 整體與部分結構關系

一般與特殊結構關系又稱為分類結構關系,是“is a”關系。 例如:飛機與交通工具都是類,飛機是一種特殊的交通工具。他們之間是“is a”關系。 上層類體現一般性和共性,下層類體現特殊性和具體性。 用這種結構關系來描述現實世界…

簡單版:帶干擾線的圖形驗證碼生成

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1.生成工具類; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; im…

圖片格式轉換工具與方法

2019獨角獸企業重金招聘Python工程師標準>>> 使用ffmpeg進行格式轉換 1.jpg 轉 I420 ffmpeg -i 001.jpg -pix_fmt yuv420p 001_I420_fromJPG.yuv 2.png 轉 I420 ffmpeg -i 222.png -pix_fmt yuv420p 222_I420_fromPNG.yuv 3.bmp 轉 I420 ffmpeg -i xxx.bmp -pix_fmt…

Diango博客--24.單元測試:測試評論應用

文章目錄1. 前言2. 數據基類3.測試 Comment Model4. 測試視圖函數5. 測試模板標簽1. 前言 comments應用的測試和blog應用測試的套路是一樣的。 先來建立測試文件的目錄結構。首先在 comments 應用的目錄下建立一個名為 tests 的 Python 包,然后刪除 comments 應用…

面向對象設計使用語言選擇

面向對象設計的結果既可以用面向對象語言、也可以用非面向對象語言實現。 使用面向對象語言時,由于語言本身充分支持面向對象概念的實現,因此,編譯程序可以自動把面向對象概念映射到目標程序中。 使用非面向對象語言編寫面向對象程序&#xf…

結合shiro 的圖形驗證碼生成

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 在做用戶登錄功能時,很多時候都需要驗證碼支持,驗證碼的目的是為了防止機器人模擬真實用戶登錄而惡意訪問&#…

利用C語言實現計算機圖像處理的方法

1.圖像平移 圖像平移只是改變圖像在屏幕上的位置,圖像本身并不發生變化。假設原圖像區域左上角坐標為(x0, y0),右下角坐標為(x1, y1),將圖像分別沿x和y軸平移dx和dy,則新圖像的左上角坐標為(x0 + dx, y0 &a…

E24- please install the following Perl modules before executing ./mysql_install_db

2019獨角獸企業重金招聘Python工程師標準>>> [roott-cet7 scripts]# ./mysql_install_db --basedir/usr/local/mysql/ --datadir/app/data/ --usermysql FATAL ERROR: please install the following Perl modules before executing ./mysql_install_db: Data::Dumpe…

SpringMVC異常報406 (Not Acceptable)的解決辦法

使用SpsringMVC&#xff0c;使用restEasy調試&#xff0c;controller請求設置如下&#xff1a; Java代碼 RequestMapping(value"/list",methodRequestMethod.GET,producesMediaType.APPLICATION_JSON_VALUE) ResponseBody public List<EditTimeout> list()…

Diango博客--25.使用Coverage統計測試覆蓋率

文章目錄1. 前言2. 安裝 Coverage3. 簡單配置 Coverage4. 運行 Coverage5. 完善 Coverage 配置6. 生成 HTML 報告7. 完善單元測試1. 前言 我們完成了對 blog 應用和 comment 應用這兩個核心 app 的測試。現在我們想知道的是究竟測試效果怎么樣呢&#xff1f;測試充分嗎&#x…

面向對象語言的優點

1.一致的表達方法 從前面章節的講述中可以知道&#xff0c;面向對象開發基于不隨時間變化的、一致的表示方法。這種表示方法應該從問題域到OOA&#xff0c;從OOA到OOD&#xff0c;最后從OOD到面向對象編程(OOP)&#xff0c;始終穩定不變。 一致的表示方法&#xff1a; 既有利…

最好的英文詞典

辭典對于學外語的作用&#xff0c;怎么強調也不過分。經常接觸英語的人都知道&#xff0c;遇到生詞不可怕&#xff0c;可怕的是遇到認識的單詞&#xff0c;又不明白這句話什么意思。這個時候&#xff0c;辭典的作用就發揮出來了。 今天一位朋友問我一句英文的意思&#xff0c;…

oracle用戶創建及權限設置

權限&#xff1a; create session create table unlimited tablespace connect resource dba 例&#xff1a; #sqlplus /nolog SQL> conn / as sysdba; SQL>create user username identified by password SQL> grant dba to username; SQL> conn username/password…

Android動畫之逐幀動畫(FrameAnimation)詳解

今天我們就來學習逐幀動畫,廢話少說直接上效果圖如下: 幀動畫的實現方式有兩種&#xff1a; 一、在res/drawable文件夾下新建animation-list的XML實現幀動畫 1、首先在res/drawable文件夾下添加img00-img24共25張圖片 2、新建frame_anim.xml [html] view plaincopy <?xml v…

ajax-簡單參數方法實現陰影效果

注&#xff1a; 簡單參數 &#xff08;按照參數的數量和位置傳遞參數&#xff09; 使用時按照位置、數量傳遞 shadow.js函數//簡單參數實現方式/** slices:陰影* opacity:透明度* zIndex:層級* */jQuery.fn.shadow_simple function (slices,opacity,zIndex) { //獲取到每個…

第一二三范式的簡單理解

第一范式&#xff08;無重復的列&#xff09; 定義&#xff1a;數據庫表的每一列都是不可分割的原子數據項&#xff0c;而不能是集合&#xff0c;數組&#xff0c;記錄等非原子數據項。如果實體中的某個屬性有多個值時&#xff0c;必須拆分為不同的屬性 通俗解釋&#xff1a;一…

網絡爬蟲--1.通用爬蟲和聚焦爬蟲

文章目錄一.前言二.通用爬蟲1.工作原理2.通用爬蟲的局限性三.聚焦爬蟲一.前言 根據使用場景&#xff0c;網絡爬蟲可分為 通用爬蟲 和 聚焦爬蟲 兩種。 其中通用網絡爬蟲是捜索引擎抓取系統&#xff08;Baidu、Google、Yahoo等&#xff09;的重要組成部分。主要目的是將互聯網…