背景:
1、公司的svn服務器架設在了公司內網環境中,沒有公網ip,所以離開了公司環境就無法訪問(更新、提交。。。)svn服務器了;
2、四個開發人員去客戶現場開發新的需求,在現場找了一台服務器臨時搭建的svn服務器,不過由於環境變化大,都是在自己的筆記本上搭建的svn服務器,這樣便於記錄代碼改動的地方,有log可查,需要幾個人同步代碼的時候使用U盤直接拷貝;
3、每天下班之前把現場的代碼在發給公司同事,然后由公司同事提交,保持現場和公司兩個svn上面的代碼一致;
4、不過沒過多久(不到兩周),又回到公司繼續開發,本來可以直接check公司svn服務器的代碼繼續開發,但是svn上其中的一個eclipse項目沒有更新到公司的svn服務器上,所以才有了本文。
回到公司,發現了問題,如何把現場的svn代碼,提交到公司的svn服務器上面,由於代碼量有限,想到了一個辦法:
1、先在公司的svn上更新一版最新的項目到本地---暫且稱為company_svn;
2、本地拷貝一份現場的項目代碼(不直接在現場的svn代碼上修改,方式出錯),然后刪除所有的與svn有關的文件(搜索*.svn,然后把根目錄的.svn目錄也刪除掉)---暫且稱之為local_svn;
3、拷貝local_svn所有的文件和目錄到company_svn目錄下,win7下會出現提示信息:
選擇是,然后會出來如下提示:
把最下面的復選框選中,選擇復制和替換。當此操作完成的時候,就可以提交company_svn到svn服務器了。也就完成了local_svn到company_svn的svn代碼遷移。
修訂(2013-06-19):svn不像cvs一樣,會在每個目錄下都有相應的文件產生,所以如果想去掉svn的文件,只需要刪除.svn目錄就可以了。