帶你玩轉Visual Studio——帶你高效管理代碼

原文鏈接:http://blog.csdn.net/luoweifu/article/details/48866717

上一篇文章帶你玩轉Visual Studio——帶你高效開發通過對VAssistX優秀插件的講解,讓我們掌握了快速開發C++代碼的技能。然而大部分的程序都不是一個人的開發的,是由一個團隊的多個人一起開發的,大型的系統還可能由多個不同的團隊分包進行開發。多人進行協作開發時,代碼的管理就顯得及爲重要,需要藉助代碼管理工具的輔助,這種工具又稱爲版本控制系統

目前主流的版本控制系統有: 
CVS:是一個用於代碼版本控制的自由軟件,它是一個比較早出現的工具,由於它有很多自身的缺陷,現在幾乎被SVN所取代了。 
**SVN:**SVN是Subversion的簡稱,它是集中式的版本控制系統。SVN繼承了CVS的基本思想,包含了CVS的幾乎所有功能。你可以認爲SVN是CVS的升級版(但實際上它們完全是兩個軟件)。 
**Git:**GIT是分佈式的版本控制系統。相信玩過開源代碼的都知道github吧,它就是一個基於git的代碼託管平臺。 
關於SVN與GIT的區別,可參考:GIT和SVN之間的五個基本區別

本文假設您已經對SVN有基本的瞭解和掌握,並用TortoiseSVN客戶端進行過代碼的遷入、選出、更新等功能進行團隊的協作開發。如果沒有這方面的知識,建議先查閱其它的相關資料,以對SVN有大致的瞭解後再來閱讀本文。

VisualSVN的簡單介紹與下載安裝

簡介

VS2010有一個自帶的版本管理工具,也就是菜單中的Team(團隊協作),但用過的人應該都知道非常難用,與SVN和GIT相比已經被甩出幾條街了。 
所以很多的公司或團隊會選擇SVN來進行代碼的管理,安裝一個SVN的客戶端進行的遷入與遷出。但可能很少人知道VS上還有一個插件可以幫助我們更好地使用SVN,它就是VisualSVN

VisualSVN是一個用在Visual Studio上的插件,SVN的客戶端TortoiseSVN(SVN有一個服務器Server用於集中管理資源庫,有一個客戶端Client用於團隊的每一個成員進行訪問資源庫、提交代碼和遷出代碼等。)是一個版本控制工具。VisualSVN是基於TortoiseSVN的,也就是說VisualSVN要調用TortoiseSVN軟件的功能,所以要使用VisualSVN,必須同時安裝VisualSVN和TortoiseSVN。

下載

VisualSVN的官方下載地址: 
https://www.visualsvn.com/visualsvn/download/ 
SVN的官方下載地址: 
http://tortoisesvn.net/downloads.html 
**注意:**SVN的版本要和VisualSVN的版本對應,也就是要下載給定的VisualSVN版本建議的SVN的版本。如VisualSVN5.1.2可用的SVN版本是1.8.x、1.9.x,建議的SVN版本是 TortoiseSVN 1.9.2.

安裝

安裝這個很簡單,一般先安裝TortoiseSVN再安裝VisualSVN。選擇默認的設置就可以,這個不多說了。

VisualSVN的常用功能介紹

向服務器上傳一個工程

關於SVN環境的搭建是另外一個主題,你可以自己去查找相關的資料,這裏只講VS相關的東西。您也可以參考這篇文章:Windows下的SVN環境搭建詳解,個人覺得寫的還可以。要是在公司裏一般會有已經搭建好的SVN環境,你只需要一個代碼存放的地址。

現在假設你已經搭建好了SVN的環境,有一個SVN的工作地址:svn://localhost/CppRepos(這是我本SVN機服務器的庫地址,遠程服務器的地址也是一樣的),有一個SVN的用戶名(luoweifu)和密碼(svn_luoweifu)。現在要把本機D:\CppWorkspace\DesignPattern下的DesignPattern工程上傳到服務器,以後在VS2010下開發這個工程並在VS2010提交和更新代碼。基本的操作流程如下:

  1. 用VS2010打開DesignPattern工程。安裝完VisualSVN插件後,VS上會多一個菜單項VisualSVN。
  2. 選擇菜單VisualSVN\Add Solution to Subversion…

  3. 選擇要添加工程的本地路徑,一般會自動給你設置好,如果路徑是正確的就直接一步。 

    Add Solution to Subversion 1 
    圖 1:Add Solution to Subversion 1

  4. 這裏我們選擇Existing Repository,因爲我們已經有一個SVN的地址,如果服務器沒有創建對應的庫可選擇New Repository創建一個新的庫。 

    Add Solution to Subversion 2 
    圖 2:Add Solution to Subversion 2

  5. 這裏填入你的SVN的地址:svn://localhost/CppRepos 

    Add Solution to Subversion 3 
    圖 3:Add Solution to Subversion 3

  6. 點擊Import就可以了,這時你的VS會有一個Pending Changes的視圖,如果沒有可通過View\Other Windows\Pending Changes菜單調出來。這個視圖將顯示所有你要添加到服務器的文件。 

    Add Solution to Subversion 4 
    圖 4:Add Solution to Subversion 4

  7. Import後只是將本地的文件與服務器上的地址做了映射,並沒有真正將文件上傳到服務器。你需要將所有文件提交(Commit),纔是真正上傳到服務器。選中Pending Changes中的所有文件並右鍵Commit。 

    Add Solution to Subversion 5 
    圖 5:Add Solution to Subversion 5

  8. 對話框的底部會顯示你要提交的所有文件,你可以勾選要提交或不提交哪些文件。寫上你提交的原因或備註(這個很重要,一定要有這樣的習慣,以便後期查看歷史記錄時一看就能知道你做了什麼),然後點擊Ok就可以了。 

    Add Solution to Subversion 6 
    圖 6:Add Solution to Subversion 6

  9. 第一次提交會要求輸入用戶名和密碼,輸入你的SVN用戶名和密碼就可以了。 

    Add Solution to Subversion 7 
    圖 7:Add Solution to Subversion 7

VisualSVN的主要功能

VisualSVN有TortoiseSVN的幾乎所有功能,它的作用就是將TortoiseSVN集成到VS中,這樣代碼的編碼、代碼的管理就可以都在一個IDE中進行,而不用每次提交或更新代碼都要切換到TortoiseSVN去做。這跟Java的MyEclipse、Intellij IDEA的SVN插件是類似的。

添加VisualSVN插件後,VisualSVN菜單會有TortoiseSVN的幾乎所有功能。如將Solution添加到服務器,從服務器獲得Solution,更新代碼、提交代碼,打分支、合併分支等,如下圖。這些功能只要你對SVN有大致的瞭解,模索模索就會用了,不再過多的介紹。

VisualSVN的整體視圖 
圖 8:VisualSVN的整體視圖

Pending Chages視圖將顯示所有新添加、刪除或被改動的文件。 
Solution Explorer視圖對不同狀態的文件也會用不同顏色的圓點標註:綠色表示未做更改的文件,黃色表示已做改動或新添加的文件。

C++工程上傳服務器要忽視的文件

帶你玩轉Visual Studio——帶你新建一個工程一文中講到了C++工程中的各種類型文件,然後我們在代碼的版本控制時有很多文件和目錄並不需要上傳到服務器。因爲服務器中只需要存一些有用的數據和文件,一些無用的輔助性文件(如pch文件,Debug目錄等)只會給服務器和管理帶來負擔。這裏將列出需要上傳和不需要上傳的文件類型。

需要上傳的文件類型:

h: 頭文件 
cpp: 源文件 
txt: 說明文件,如readme 
rc: 資源文件 
rc2: 資源文件 
ico: 圖標,如logo等 
sln: 解決方案工程文件 
vcxproj: 工程文件 
filters: 文件過慮器

不要上傳的文件類型

Debug、Release等編譯結構目錄 
ipch目錄 
aps: last resource editor state 
exe: build result 
idb: build state 
ipch: build helper 
lastbuildstate: build helper 
lib: build result. Can be 3rd party 
log: build log 
manifest: build helper. Can be written yourself. 
obj: build helper 
pch: build helper 
pdb: build result 
res: build helper 
sdf: intellisense dbase 
suo: solution user options 
tlog: build log 
user: debug settings. Do preserve if just one dev or custom debug settings

如果用TortoiseSVN進行管理,需要手動添加ignore屬性將不需要上傳的文件忽略掉。在你工程目錄裏,右鍵->TortoiseSVN->Properties->New->Other,彈出的對話框中Property name中選擇svn:ignore,Property value中填入要忽略的內容(這裏可以使用能配符),如下圖。 

添加ingore屬性 
圖 9:添加ingore屬性

用VisualSVN進行上傳Solution時,默認就幫你設置好了,將不需要的文件給屏蔽了。這也是VisualSVN的一大好處。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章