我已經建立了使用TortoiseSVN的我家來管理我的寵物項目,學校項目等版本控制系統......它本地工作。遠程連接到我的Home版本控制庫?
現在我需要能夠像學校一樣遠程訪問我的代碼庫,以便我可以在存儲庫中更新學校的源代碼,並在完成工作後再次提交。
的問題是,我怎麼能連接到我的倉庫遠程?例如,我需要在我的路由器上打開哪些端口?
另外,我不能在學校安裝龜客戶端,所以我需要一些其他便攜式應用,做這個任務,無論是界面還是CLI。
我已經建立了使用TortoiseSVN的我家來管理我的寵物項目,學校項目等版本控制系統......它本地工作。遠程連接到我的Home版本控制庫?
現在我需要能夠像學校一樣遠程訪問我的代碼庫,以便我可以在存儲庫中更新學校的源代碼,並在完成工作後再次提交。
的問題是,我怎麼能連接到我的倉庫遠程?例如,我需要在我的路由器上打開哪些端口?
另外,我不能在學校安裝龜客戶端,所以我需要一些其他便攜式應用,做這個任務,無論是界面還是CLI。
有多種方法可以提供遠程訪問。在你的情況下,最簡單的事情可能是建立一個svnserve server。您可以使用--daemon手動啓動它,或者將其作爲Windows服務安裝。無論哪種情況,端口3690都必須打開。確保設置密碼,並將svnserve限制到存儲庫所在的目錄。
作爲一個便攜式應用程序,我推薦使用命令行svn client。適用於Windows的各種command line clients exist。您應該在機器上安裝其中一個,確保您瞭解如何使用它,然後將其與所需的所有DLL一起復制到U盤上。
Martin是對的:它需要作爲守護進程或註冊服務運行。在我的機器上,我使用命令svnserve -d來啓動它。
查看官方SVN書,它有大量的信息太:
我建議你去與誰提供託管SVN一些託管服務提供商,例如Dreamhost的。比自己配置和維護簡單得多。
您可以在記憶棒作爲圖形SVN客戶端使用RapidSVN。 下載是一個安裝程序,但安裝完成後,您可以將程序文件文件夾的內容複製到記憶棒中,然後從那裏運行它。
我想提醒你去在您的家庭網絡的防禦,如果這是第一個「外部服務」您所提供的。如果你是一個老手,在你的防火牆上打開一個洞是非常痛苦的,但是如果你之前沒有做過,你會謹慎對待。做你的閱讀。 :-)
此外,還有免費的代碼項目管理網站(包括SourceForge和Google Code),它們提供了Subversion託管服務。有些服務甚至允許你提供一個svndump來保存你現有的存儲庫(我相信Google Code至少可以通過特殊請求來允許這一點,但我不知道這是否可能)。
一個潛在缺點這兩個是他們的倉庫是公開可見的。如果您想要限制對您的存儲庫的讀取訪問權限,還有其他免費服務允許這樣做,但是恐怕我無法命名我的頭頂。
Assembla.com爲學生提供免費的私人託管服務。 – nickf 2008-12-17 07:49:17
因爲人有回答您的問題特別 - 一種替代方案:一個分佈式版本控制系統。不同於混帳shell腳本,perl腳本/庫和C(或者C++
),git可能是最流行的,但我會推薦嘗試darcs - 因爲它被編譯到一個可移植的單個二進制文件中?)二進制文件。
「DVCS」的固有優勢在於,您可以在不連接中央服務器的情況下提交(並執行其他任何操作) - 當您在學校時,您可以提交,創建/合併分支機構等等。然後,當你在家時,你「推」到你的主要存儲庫。
這意味着沒有必要通過你的路由器打開端口,你不必依賴於您的家用電腦/網絡連接總是往上衝。
另一種替代解決方案是使用第三方SVN服務器(例如谷歌代碼或其他數百人之一 - 其中一些允許私人存儲庫,另一些則收費),並且您不必擔心端口轉發等問題。
的問題是,我怎麼能連接到我的倉庫遠程?例如,我需要在我的路由器上打開哪些端口?
您可以通過像Apache(guide)的Web服務器服務SVN - 那麼你就只需要轉發端口80,它一般是允許在所有網絡上。
我有svn服務器在家裏通過ADSL線路與動態IP。我的設置,使我的遠程訪問:
ADSL路由器上