<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                上一篇文章[帶你玩轉Visual Studio——帶你高效開發](http://blog.csdn.net/luoweifu/article/details/48852119)通過對VAssistX優秀插件的講解,讓我們掌握了快速開發C++代碼的技能。然而大部分的程序都不是一個人的開發的,是由一個團隊的多個人一起開發的,大型的系統還可能由多個不同的團隊分包進行開發。多人進行協作開發時,代碼的管理就顯得及為重要,需要借助代碼管理工具的輔助,這種工具又稱為**版本控制系統**。 目前主流的版本控制系統有:? **CVS:**是一個用于代碼版本控制的自由軟件,它是一個比較早出現的工具,由于它有很多自身的缺陷,現在幾乎被SVN所取代了。? **SVN:**SVN是Subversion的簡稱,它是集中式的版本控制系統。SVN繼承了CVS的基本思想,包含了CVS的幾乎所有功能。你可以認為SVN是CVS的升級版(但實際上它們完全是兩個軟件)。? **GIT:**GIT是分布式的版本控制系統。相信玩過開源代碼的都知道[github](https://github.com/)吧,它就是一個基于git的代碼托管平臺。? 關于SVN與GIT的區別,可參考:[GIT和SVN之間的五個基本區別](http://www.vaikan.com/5-fundamental-differences-between-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/](https://www.visualsvn.com/visualsvn/download/)? SVN的官方下載地址:? [http://tortoisesvn.net/downloads.html](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環境搭建詳解](http://www.cnblogs.com/oyjt/p/3295801.html),個人覺得寫的還可以。要是在公司里一般會有已經搭建好的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. 選擇要添加工程的本地路徑,一般會自動給你設置好,如果路徑是正確的就直接一步。? ![](https://box.kancloud.cn/2016-01-19_569dd03847fcf.jpg)? 圖 1:Add Solution to Subversion 1 4. 這里我們選擇Existing Repository,因為我們已經有一個SVN的地址,如果服務器沒有創建對應的庫可選擇New Repository創建一個新的庫。? ![](https://box.kancloud.cn/2016-01-19_569dd03856ea8.jpg)? 圖 2:Add Solution to Subversion 2 5. 這里填入你的SVN的地址:svn://localhost/CppRepos? ![](https://box.kancloud.cn/2016-01-19_569dd03864948.jpg)? 圖 3:Add Solution to Subversion 3 6. 點擊Import就可以了,這時你的VS會有一個Pending Changes的視圖,如果沒有可通過View\Other Windows\Pending Changes菜單調出來。這個視圖將顯示所有你要添加到服務器的文件。? ![](https://box.kancloud.cn/2016-01-19_569dd03872a2d.jpg)? 圖 4:Add Solution to Subversion 4 7. Import后只是將本地的文件與服務器上的地址做了映射,并沒有真正將文件上傳到服務器。你需要將所有文件提交(Commit),才是真正上傳到服務器。選中Pending Changes中的所有文件并右鍵Commit。? ![](https://box.kancloud.cn/2016-01-19_569dd03881e67.jpg)? 圖 5:Add Solution to Subversion 5 8. 對話框的底部會顯示你要提交的所有文件,你可以勾選要提交或不提交哪些文件。寫上你提交的原因或備注(這個很重要,一定要有這樣的習慣,以便后期查看歷史記錄時一看就能知道你做了什么),然后點擊Ok就可以了。? ![](https://box.kancloud.cn/2016-01-19_569dd03896b6f.jpg)? 圖 6:Add Solution to Subversion 6 9. 第一次提交會要求輸入用戶名和密碼,輸入你的SVN用戶名和密碼就可以了。? ![](https://box.kancloud.cn/2016-01-19_569dd038ab043.jpg)? 圖 7:Add Solution to Subversion 7 ## VisualSVN的主要功能 VisualSVN有TortoiseSVN的幾乎所有功能,它的作用就是將TortoiseSVN集成到VS中,這樣代碼的編碼、代碼的管理就可以都在一個IDE中進行,而不用每次提交或更新代碼都要切換到TortoiseSVN去做。這跟Java的MyEclipse、Intellij IDEA的SVN插件是類似的。 添加VisualSVN插件后,VisualSVN菜單會有TortoiseSVN的幾乎所有功能。如將Solution添加到服務器,從服務器獲得Solution,更新代碼、提交代碼,打分支、合并分支等,如下圖。這些功能只要你對SVN有大致的了解,模索模索就會用了,不再過多的介紹。 ![](https://box.kancloud.cn/2016-01-19_569dd038c00ed.jpg)? 圖 8:VisualSVN的整體視圖 Pending Chages視圖將顯示所有新添加、刪除或被改動的文件。? Solution Explorer視圖對不同狀態的文件也會用不同顏色的圓點標注:綠色表示未做更改的文件,黃色表示已做改動或新添加的文件。 ## C++工程上傳服務器要忽視的文件 在[帶你玩轉Visual Studio——帶你新建一個工程](http://blog.csdn.net/luoweifu/article/details/48692267#t6)一文中講到了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中填入要忽略的內容(這里可以使用能配符),如下圖。? ![](https://box.kancloud.cn/2016-01-19_569dd038e08cd.jpg)? 圖 9:添加ingore屬性 用VisualSVN進行上傳Solution時,默認就幫你設置好了,將不需要的文件給屏蔽了。這也是VisualSVN的一大好處。 * * * * * * 上一篇回顧:? [帶你玩轉Visual Studio——帶你高效開發](http://blog.csdn.net/luoweifu/article/details/48852119) 下一篇要講述的內容:? 帶你玩轉Visual Studio——帶你發布自己的工程庫
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看