[No000092]SVN学习笔记3-Import/Checkout(迁入/迁出),GetLock(加锁)
一、TortoiseSVN Client 獲取服務器端的文件到新的本地文件夾
1.在本地新文件夾上右鍵菜單:
2.打開Repo-browser(可能需要輸入你的用戶名&密碼)
3.輸入服務器端SVN(倉庫)的地址,OK后就可以看到服務器端的目錄了
@1.可以查看服務端不同版本號下的數據;
@2.如果想下載某個文件夾或文件,右鍵CheckOut;
@3.有些目錄你可能沒有權限。
上圖中的Checkout?Depth,有4個選項,分別是遷出全部、只簽出下一級子目錄和文件、只簽出文件、只簽出空項目,默認的是第一項。
上面的例子中,我們也可以使用web的方式訪問代碼庫,在瀏覽器中輸入:SVN服務器中的代碼庫地址,然后輸入你的用戶名&密碼即可
4.點擊確認后,即可將服務器端的數據下載到本地文件夾。
當數據下載完成后,該文件夾我們稱之為Work Copy文件夾,打開該文件夾
其中.svn是隱藏文件夾啊,保存文件/文件夾版本狀態等數據。
5.打開項目文件后,新建,修改文件/文件夾,其對應狀態會發生改變:
可以設置對應圖標:右鍵TortoiseSVN->Settings
當你通過commit(提交)后,有時候圖標并沒有及時變更,因為Windows本身的問題,此時,多按F5幾次,應該就可以解決這個問題。如果,仍然不行,表示您之前的commit動作有問題。
為了確保您工作目錄中的檔案與大家的檔案是同步的。建議您在編輯前都先進行更新的動作。在此,我們都先假設您已經將檔案Checkout(遷出)過一次。現在要說明的是如何在一個Checkout過的目錄進行update。在想要更新的檔案或目錄icon上面按下鼠標右鍵。并且選擇SVN Update。
6. 有時我們需要回溯至特定的日期或是版本,這時就可以利用SVN的Update to revision的功能。在想要更新的檔案或目錄icon上面按下鼠標右鍵。并且選擇SVN->Update to revision。
可以回溯到Head revision。當然也可以選擇特定的版本。記不住版本就選擇show log選擇一個!
二、TortoiseSVN Client加鎖操作
1.如果某個項目是由你單獨復制或者某個項目某段時間由你負責,你可以在每次改動前都Get lock,這樣其他人就不能更改此文件了。 不然兩個人修改同一個文件的話就麻煩了。鎖上后顯示一個小鎖!沒反應就F5刷新!
?
2.修改完畢后當然要解鎖了!Release lock!
三、簽入(上傳)源代碼到SVN服務器
假如我們使用Visual Studio在文件夾TEST中創建了一個項目,我們要把這個項目的源代碼簽入到SVN Server上的代碼庫中里,首先右鍵點擊TEST文件夾,這時候的右鍵菜單如下圖所示:
點擊Import,彈出下面的窗體
點擊OK按鈕,會彈出窗體,要求輸入憑據(用戶名&密碼)
上傳完成。源代碼已經成功簽入SVN服務器了。這時候團隊成員就可以遷出SVN服務器上的源代碼到自己的機器了。
四、提交修改過的文件到SVN服務器
我修改了位于Model文件中的二個文件ImageInfo.cs和NewsInfo.cs,下面演示如何提交到SVN服務器。
注意:提交源代碼到服務器時,一定確保本機的代碼是最新版本(現update一下),否則可能提交失敗,或者造成版本沖突。
在Model文件夾上點擊右鍵或在Model文件下的空白處點擊右鍵,點擊SVN Commit…彈出下面的窗體:
點擊OK按鈕后,彈出如下圖的窗體:
五、添加新文件到SVN服務器
我們在Model文件下添加一個新的類文件UserInfo.cs,在Model文件下的空白處點擊右鍵,點擊SVN Commit…,和上面講的提交修改過的文件到SVN服務器一樣,就可以了。
另外也可以在文件UserInfo.cs上點擊右鍵,點擊TortoiseSVN=>>Add,彈出如下圖的窗體:
選中UserInfo.cs文件,點擊OK按鈕,這樣并沒有將這個文件提交到SVN服務器,只是將這個文件標記為源代碼庫庫中的文件,并將其狀態置為修改狀態。之后,我們要再SVN Commit這個文件一次,才可以將其真正提交到SVN服務器上的代碼庫中。
上面講是添加文件,實際上,添加文件夾的步驟也是一樣的,這里就不說了。
六、更新本機代碼與SVN服務器上最新的版本一致
這個也很簡單,只要在需要更新的文件夾上點擊右鍵或在該文件下的空白處點擊右鍵,點擊SVN Update,就可以了。
注意:更新操作可能會因為版本沖突而失敗,這時可以使用合并【Merge】或其他方法解決;也可能因為鎖定【Get Lock】而失敗,這是需要先解鎖【Release Lock】。
七、重命名文件或文件夾,并將修改提交到SVN服務器
只要在需要重命名的文件或文件夾上點擊右鍵,點擊TortiseSVN=>>Rename…,在彈出的窗體中輸入新名稱,點擊OK按鈕,就可以了。此方法也不是直接重命名,而是將該文件或文件夾的名稱標記為重命名后名稱,也需要我們使用SVN Commit提交到SVN服務器后才真正重命名。
八、刪除文件或文件夾,并將修改提交到SVN服務器
最簡單就是,你直接刪除文件或文件夾,然后使用SVN Commit提交更新到SVN服務器。另外一種方法是在你要刪除的文件或文件夾上點擊右鍵=>>TortoiseSVN=>>Delete刪除,此方法也不是直接刪除,而是將該文件或文件夾的狀態置為刪除,也需要我們使用SVN Commit提交到SVN服務器后才真正刪除。
說明:實際上,從你把源代碼遷簽入SVN服務器開始,每一個版本的數據和文件,就算是你已經刪除了的,也都可以隨時遷出。
以上只是TortoiseSVN最簡單的幾個功能,其實他的功能遠不止這些,其他的功能大家可以在使用的過程中慢慢體會,有些功能我會在下面的教程中使用到,到時候會和大家講清楚用法。
注意:向SVN服務器提交源代碼的時候,一定不要提交bin、obj等文件夾,否則會很麻煩。但是web項目的bin目錄除外,但是web項目的bin目錄中的引用其他項目而生成的dll不需要提交。
一個好習慣:如果項目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,這時候不要簡單從他們的安裝位置引用,而是在你的解決方案下,添加一個Library的目錄,把需要的程序集復制到這里,然后從Library目錄引用,這樣有什么好處,自己想一想吧!
轉載于:https://www.cnblogs.com/Chary/p/No000092.html
總結
以上是生活随笔為你收集整理的[No000092]SVN学习笔记3-Import/Checkout(迁入/迁出),GetLock(加锁)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 隐藏Home键、返回键
- 下一篇: C#集合类型