我有一個web開發人員。客戶端使用不允許shell訪問的共享主機,因此不能訪問SVN,Git等。我試圖說服他移動到允許它的許多便宜選項之一,但他不會做它。如果我在登臺服務器上使用版本控制,是否有任何工具可以讓我通過ftp將更改複製到生產中?在本地我有兩個mac &窗口,登臺服務器是linux,所以這些平臺上的工作原理....如何通過ftp進行版本控制?
2
A
回答
0
找不到/實現一些基於FUSE的CoW文件系統支持不可變版本..我' d只需找到另一個(更適合開發者)的主機。據我所知,沒有FTP服務器本身支持這一點,我也不能想到任何優雅的手段,用腳本hackery把它放在適當的位置。
我可能是錯的。
0
你可能需要編寫一個批處理文件,它能夠
- 出口SVN倉庫
- 將通過FTP 上傳導出的文件到你的Linux服務器
1
某種類型的ftp鏡子軟件就是你需要的。沒有測試它,但一個快速搜索給了我this Java application。你可以在你最新的檢出版本庫上運行它。
3
使用您的Linux臨時服務器,您可以保留專門用於該主機的單獨檢出副本,然後使用實用程序將該目錄與主機服務器進行鏡像。
LFTP對這種事情很有用。它可用於大多數Linux發行版,幷包含「鏡像」功能:
將指定的源目錄鏡像到 本地目標目錄。如果目標 目錄以斜線結尾,則將源基本名稱附加到 目標 目錄名稱。源和/或目標可以是指向 目錄的URL。
1
保持SVN回購和FTP副本同步的好處是svn2web。我可以建議爲生產副本創建單獨的分支,併合併到該分支以上傳到生產服務器。
0
這個問題(和答案)剛好幫助我,因爲我通過gitolite
在單獨的服務器和lftp上實現了版本控制。
這裏就是我所做的:
- Set up
gitolite
我的Ubuntu的臨時服務器上
- 創建的基本回購(即
foo.git
)臨時服務器上 - 克隆
foo.git
到工作目錄上的臨時服務器 - 克隆
foo.git
到本地開發機的工作目錄
- 創建的基本回購(即
- 本地開發上登臺服務器
- 到
foo.git
回購推變化在登臺服務器上,登錄到工作目錄,並從foo.git
lftp
在共享主機-ed到共享主機(像你提到的上面)- 一次,跑:
mirror -R --only-newer --delete --parallel=10 /source/directory/ /target/directory
注意在mirror
命令選項:
-R
- 這推動source/directory
到target/directory
。 (mirror
從目標拉入到源代碼沒有這個,覺得r
EVERSE)—only-newer
- 沒有這個選項,即使你只改變了一個文件,該mirror
命令將發送的所有文件的源目錄到目標目錄。使用此選項時,只有更改的(較新的)文件通過電線傳輸。—delete
- 刪除不在源目錄中但仍在目標目錄中的文件。我的一個推動涉及刪除過期的資產。如果沒有這個選項,在執行mirror
命令後,相同的文件會留在我的共享主機上。—parallel=10
- 一次傳輸10個文件(默認爲1個)。這使得這個過程更快
雖然這是對我來說是什麼工作,我敢肯定有辦法改善這一點。我很感激這個問題,我想分享我的經驗。
相關問題
- 1. 學習使用git或通過SVN進行版本控制?
- 2. Android應用程序通過eclipse進行版本控制
- 3. 通過DAV對JCR節點進行版本控制 - howto?
- 4. 通過PHP FTP進行文件版本維護?
- 5. 如何通過刪除輸出和轉換來對.ipynb進行版本控制?
- 6. 版本控制多個FTP服務器
- 7. 通過Powershell刪除Sharepoint版本控制
- 8. 如何使用Mercurial進行文本文檔的版本控制?
- 9. 使用TFS進行PDF版本控制
- 10. 在Rails中進行版本控制?
- 11. 使用cmake進行庫版本控制
- 12. 使用MVFS進行版本控制
- 13. 擊/ FTP:如何通過FTP
- 14. 指令如何通過控制器進行通信?
- 15. 如何通過串口與NCI NFC控制器進行通信?
- 16. Dreamweaver和二進制PUT通過FTP
- 17. 如何通過JasperReports使用版本控制
- 18. 如何通過ant(版本控制)更新數據庫?
- 19. 如何通過互聯網設置版本控制系統
- 20. 使用Accept頭對版本信息進行版本控制
- 21. 如何使用VBA代碼進行版本控制?
- 22. 你如何在Self中進行版本控制?
- 23. 如何使用vC++對靜態庫進行版本控制
- 24. 如何在olingo odata url上進行版本控制
- 25. 集成測試如何進行版本控制?
- 26. 如何使用maven2進行數據庫版本控制?
- 27. 如何使用Xcode進行版本控制?
- 28. 如何使用Intellij進行版本控制?
- 29. 如何在git gui中使用標籤進行版本控制
- 30. 如何在Slick中進行版本併發控制?
正如我所說的:客戶端不會移動主機 – sprugman 2009-11-03 03:10:00
@sprugman:有些問題根本無法在給定的約束條件下解決。你不能在火星上寫你的名字,你不能使用FTP作爲VCS而不會跳過火車。如果FTP服務器由http://ext3cow.com分區支持,那麼您可能會有一個開始,並且我至少用_try_來提供某種解決方案。 – 2009-11-04 15:28:21
@tinkertim:我試圖讓你投降,但它不會讓我('投票太舊以至於無法改變')。 FWIW,我沒有真正讀過你的初始文章作爲建議。你寫這本書的方式是:「缺乏這聽起來不可能的東西(鑑於這位主持人的限制),做你在你原來的帖子中說過的東西,你不能這樣做」,這就是爲什麼我下投票。 – sprugman 2009-11-04 18:00:10