23-1 SVN(版本控制系統)基本使用教程


1 TortoiseSVN的基本使用

SVN 的一些概念

  • repository(源代碼庫):源代碼統一存放的地方
  • Checkout(提取):當你手上沒有源代碼的時候,你需要從repository checkout一份
  • Commit(提交):當你已經修改了代碼,你就需要Commit到repository
  • Update (更新):當你已經Checkout了一份源代碼, Update一下你就可以和Repository上的源代碼同步,你手上的代碼就會有最新的變更

日常開發過程其實就是這樣的(假設你已經Checkout並且已經工作了幾天):Update(獲得最新的代碼) -->作出自己的修改並調試成功 --> Commit(大家就可以看到你的修改了) 。

如果兩個程序員同時修改了同一個文件呢, SVN 可以合並這兩個程序員的改動,實際上SVN管理源代碼是以行為單位的,就是說兩個程序員只要不是修改了同一行程序,SVN都會自動合並兩種修改。如果是同一行,SVN 會提示文件 Conflict, 沖突,需要手動確認。

1.1 瀏覽倉庫

彈出如下界面:

點擊ok,要求輸入用戶名和密碼

1.2 checkout 檢出

Checkout 操作是用來從版本庫創建一個工作副本。工作副本是開發者私人的工作空間,可以進行內容的修改,然后提交到版本庫中。

Checkout 操作將SVN倉庫的代碼烤到本地,比如你現在參與一個團隊項目,項目代碼在你之前肯定已經寫了很多了,你可以通過checkout項目代碼,獲得整個項目。

進入如下界面:

其中URL我可以在SVN服務器獲取到。

點擊ok,彈出如下界面。

點擊ok,此時桌面多出一個圖標。

此時,本地的lucky目錄與svn中的lucky倉庫關聯上了。

注意事項:

   .svn這個隱藏目錄記錄着兩項關鍵信息:工作文件的基准版本和一個本地副本最后更新的時間戳,千萬不要手動修改或者刪除這個.svn隱藏目錄和里面的文件!!,否則將會導致你本地的工作拷貝(靜態試圖)被破壞,無法再進行操作。

TortoiseSVN圖標介紹

(1)一個新檢出的工作復本使用綠色的對勾重載,表示Subversion狀態正常。

 

 (2)在你開始編輯一個文件之后,狀態就變成了已修改,而圖標重載已變成了紅色感嘆號。通過這種方式,你可以很容易地看出那些文件從你上次更新工作復本被修改過,且需要提交

1.3 執行變更

當檢出之后,你就可以做很多操作來執行變更。編輯是最常用的操作。你可以編輯已存在的文件,例如進行文件的添加/刪除操作。

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

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

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

<1>add操作

在svntest項目文件下,新建一個b.txt文件,提交到版本庫的方法如下2種:

   1. 先提到變更列表中,再commit到配置庫中,選擇新增文件,右鍵SVN菜單執行“Add“操作提交到”變更列表中”,然后右鍵SVN菜單執行”SVN Commit”提交到版本庫中。

   2. 不提交到變更列表中,而是直接commit配置庫中,選擇該文件,右鍵svn菜單執行”SVN Commit”操作。

打開桌面上的本地lucky文件夾

此時會出現下圖

這就說明了這個ItemsDao.java文件已經添加到了變更列表中

<2>delete操作

標記刪除操作,本地文件會刪除,我們需要進行提交,才能真正從服務器刪除

彈出如下界面:

<3>commit操作

將ItemsDao.java文件添加到svn服務器

此時彈出如下界面:

提交結果圖:

點擊ok即可。

<4>查看當前日志

彈出如下界面:

<5>update 操作

顧名思義,update 操作是用來更新版本庫的。這個操作將工作副本與版本庫進行同步。由於版本庫是由整個團隊共用的,當其他人提交了他們的改動之后,你的工作副本就會過期。

讓我們假設 Tom 和 Jerry 是一個項目的兩個開發者。他們同時從版本庫中檢出了最新的版本並開始工作。此時,工作副本是與版本庫完全同步的。然后,Jerry 很高效的完成了他的工作並提交了更改到版本庫中。

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

操作方法如下:

更新本地代碼與SVN服務器上最新的版本一致,只要在需要更新的文件夾上點擊右鍵或者在文件下空白處點擊右鍵,選擇”SVN Update” (獲取指定版本中的內容,點擊右鍵執行SVN菜單中的“Update to reversion“),就可以了。

彈出如下界面:

<6> SVN還原(SVN Revert)

右擊想要回退的文件或者文件夾,在TortoiseSVN彈出菜單中選擇”Update to reversion…” 然后會彈出一個窗口,如下:

比如說我們要回退到第1個版本只需要在Revision中填寫相應的版本號,然后點擊ok即可。

<7>檢查修改(Check for modifications)

此功能可以顯示你所做的修改有哪些還沒有提交的,此功能不光能看到對文件的修改變化,所有的變化都能看到,包括增加文件或者目錄,刪除文件或者目錄,移動文件或者目錄等,如果你點擊了檢查版本庫,那你還可以看到版本庫里的改動,既別人提交了哪些文件的改動,你還沒更新到本地,如下:

<8>Import將本地資源導入到svn服務器

 

<9>沖突問題與解決

多個用戶同時操作同一個文件時,就可能產生沖突情況。

2.IDEA下 SVN 配置與使用

(1)IDEA下svn配置

前提是我們的電腦上已經安裝了TortoiseSVN.

(2)share project

彈出如下界面:

進入如下界面:

彈出如下界面:

點擊ok,等待上傳完成。

上傳完成后,頂部菜單欄會多出幾個按鈕。

上圖5個按鈕的作用:

<1>Update Project 更新項目
<2>Commit changes 提交項目上所有變化文件
<3>Compare with the Same Repository Version 當前文件與服務器上該文件通版本的內容進行比較。如果當前編輯的文件沒有修改,則是灰色不可點擊。
<4>Show history 顯示當前文件的歷史記錄
<5>Revert 還原當前被修改的文件到違背修改的版本狀態下

參考文獻:https://www.cnblogs.com/0zcl/p/7309766.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM