目 錄
1.搭建svn環境
1.1搭建svn服務端
1.2創建svn用戶和密碼
2.開始在phpstorm中鏈接svn
2.1打開Subversion
2.2 輸入svn地址
2.3選擇導出文件,進行文件的檢出
2.4報錯處理
2.5本地檢出
2.6進行項目檢出
2.7查看VCS目錄
2.8上傳文件
2.9更新文件
3.模擬多用戶更新,上傳文件
3.1模擬多用戶登陸
3.2登錄新的用戶更新項目
3.3編寫文件提交更新
3.4展示更新改變
3.5合並svn中兩個項目
3.6查看本地歷史記錄
3.7show Changes
3.8查看版本歷史記錄
4.提交問題解析
4.1兩用戶修改同一文件問題
4.2提交圖片等非php或html的文件問題
1.搭建svn環境
1.1搭建svn服務端
在搭建好svn服務器端以后,我們要創建新的repositories,建好之后會產生一個URL地址,一定要記下來。
1.2創建svn用戶和密碼
建好自己的庫以后,創建用戶和密碼,然后別的用戶可通過他的電腦連接到你的電腦上的服務端。
基本的svn環境就搭建好了
2.開始在phpstorm中鏈接svn
VCS是版本控制系統,svn是版本控制器
2.1打開Subversion
打開PhpStorm,找到工具 VCS—>Checkout from Version Control—>Subversion ,點擊進入。
2.2 輸入svn地址。
點擊頁面中的“+”號,然后輸入svn地址(就是上面svn建庫的時候會產生一個URL地址)。點擊OK。
2.3選擇導出文件,進行項目的檢出
這時候我們就能瀏覽到svn服務器上文件列表。選擇我們要導出的文件,點擊Checkout,進行文件的檢出(導出)。
2.4報錯處理
點擊checkout,如果出現 Executable is not specified(未指定可執行項目) 提示;或者出現Connot run program "svn"(……): CreateProcess error=2,…… 的報錯,我們點擊
點擊設置
點擊確定即可。
2.5本地檢出
選擇一個本地的目標目錄,點擊OK。選擇需要更新到本地的版本,點擊OK。
選擇svn服務器版本,點擊OK
然后會彈出賬號密碼輸入框
2.6進行項目檢出
輸入用戶名和密碼后,點擊確認,進行項目檢出。第一次更新可能時間會長一點。耐心等待。完成后會詢問你是否打開該項目,點擊確定,進入項目。到此為止項目已經更新到本地。
2.7查看VCS目錄
接下來是一張漢化的圖片,與上圖內容一致,基本上英文都有翻譯
下面是一些vcs具體的子目錄
svn提交的時候可點擊顯示歷史記錄,查看發生改變的文件,選擇性進行提交(有些文件在提交的時候是不需要提交的,所以可原則性提交)
•對上述svn的使用詳解
①.點擊create External,創建新的目錄
②點擊Commit目錄,進行項目的提交(效果圖)
③點擊更新項目,將svn中的目錄更新到本地(一些不懂的文章其他地方都有解釋)
④.點擊合並項目,進行svn中兩個項目的合並
⑤.點擊edit properties
⑥點擊set properties
⑦點擊revert進行恢復本地文件(有些文件已經更新,你可以進行恢復)
⑧點擊compare whit branch,進行與某個項目的比較
選擇進行比較的項目
比較產生的文件差異
⑨.點擊顯示歷史記錄(顯示的其實就是svn管理器,下面的svn提交的精華就是)
⑩.branch or tag創建新的標簽
11.relocate,進行文件的移動
•svn提交的精華(點擊下圖右下角圖標彈出svn管理器,查看歷史記錄,local changes,觀看哪些文件發生了改變)(基本上每個按鈕的功能圖中都有解釋)
2.8上傳文件
當你的項目有改動的時候,你需要上傳改動的文件點擊VCS↑
舉例:我們新建一個NewfilesController.class.php 和新建文件夾Newfiles以及在該文件夾下面建index.html,然后上傳提交到svn
phpstorm會根據svn當前版本檢測到你改動的文件,你需要勾選上傳你改動的文件,並且在下面填寫你的提交注釋內容(用來標記你什么時候提交了什么),然后點擊commit進行提交。
2.8更新文件
當第二天你要進行項目的時候,你需要先點擊VCS↓進行更新
會彈出更新提示框,點擊確定,就會更新到與svn中相同的最新版本。
3.模擬多用戶更新,上傳文件
3.1模擬多用戶登陸
在文件->設置->版本控制器中 刪除保存的登錄記錄
然后點擊VCS↓ , 參照上面檢出svn版本,此時會彈出一個登錄框讓你登陸另一個證號密碼
然后輸入在svn服務器中設置好的其他的用戶名密碼,進行登錄,更新
可以看到新的用戶檢出的文件名為phpstormchenkout1。
3.2登錄新的用戶更新項目
登錄新的用戶更新項目,我們發現上個用戶上傳的NewfilesController.class.php 和文件夾Newfiles以及在該文件夾下面的index.html全部更新出來了,說明上一個用戶提交沒有問題,咱們更新也沒問題
我們可以發現上一個用戶提交的文件以及文件夾均可以更新出來(我們也可以用這個證號進行上傳,用另一個證號去更新,發現都能正常更新)。
3.3編寫文件提交更新
我們進行文件的編輯以及提交,我們對Newfiles文件進行編寫然后提交
3.4展示更新改變
切換登錄用戶,進行更新,更新完成之后,會提示什么地方發生了改變
3.5合並svn中兩個項目
點擊,選擇合並svn中的兩個項目
3.6查看本地歷史記錄
把現在的版本和歷史版本進行對比,就可以發現我們做出了哪些改動(上述代碼僅供參考,只是為了改變代碼,從而進行提交和比對)
3.7show Changes
把自己文件中的代碼與SVN中的代碼進行對比,查看我們文件中發生了哪些改變
把文件夾與SVN中的文件夾進行對比,查看我們文件發生了哪些改變
3.8查看版本歷史記錄
顯示版本記錄
可對比查看文件差異
對比的差異可能有很多地方,自己的項目自己可以對比一下,然后滾動滾動條,你會發現只要有差異的地方都會顯現出來。
4.1兩用戶修改同一文件問題
如果A和B用戶同時寫了function2(){},B用戶先提交,A用戶在提交的時候會提示有沖突(這種情況,二者應該溝通,進行適當修改)
4.2提交圖片等非php或html的文件問題
問題解析:當我們項目中增加一個圖片文件(非php或者html文件),等我們進行提交,或者查看local changes ,會顯示7.jpg文件在未加入版本控制文件中(有時候也不會顯示在未加入版本控制的文件中),這個時候我們要提交該文件的時候,需要先右鍵點擊該圖片文件,然后加入vcs,之后我們提交的時候,就可以正常提交了。
該文件名由灰色變成綠色,我們就可以進行svn提交了