2011-02-28 134 views
13

我有ftp服務器,我無法在其上安裝其他軟件。是否有可能創建它的git倉庫和克隆到本地電腦?我試圖創建本地存儲庫並將其複製到ftp。它會起作用嗎?我如何從FTP服務器克隆?ftp服務器上的Git存儲庫

回答

5

如果Git在服務器上運行,它將工作。

但是從你所描述的內容來看,我猜測它不是。

6

有討論這個議題在計算器上各種其他問題,例如:

...這可能有一個解決方案,它適合你的情況。

你不說你使用的是什麼操作系統,但如果它是基於Linux的什麼,我會嘗試安裝FTP服務器爲您的本地文件系統與FUSE + fuseftp的一部分。如果您使用的是Mac OS,則可以嘗試使用MacFuse。 (n.b.我從來沒有試過保險絲,我自己,所以我不能推薦或推薦它。)毫無疑問,Windows也有相應的功能。

然後你應該只能在掛載的目錄下運行git init --bare,並從它推拉它,因爲它是一個本地存儲庫。您還應該啓用示例post-update鉤子,以便在每次推送後運行git update-server-info,否則當與服務器進行交互時,使用ftp://存儲庫URL進行交互時會出現問題。

2

是的,它應該工作。見this other answer,也是如何做到這一點。

這是基本相同的通過HTTP訪問,只是用ftp://協議說明中的網址:

git clone ftp://username:[email protected]/repos/project.git

注:

  1. 你只問克隆,但是如果你還需要寫回任何東西回遙控器回購(即也會推),那麼你就沒有運氣,只能使用FTP安裝,並且沒有權限在服務器上運行其他軟件。

  2. FTP訪問不是沒有它的警告,如其他SO答案(上面鏈接)或this post here(關於不可訪問的文件,取決於FTP服務器/配置)所暗示的。

  3. git-clone man page表示FTP傳輸已成爲「棄用」,應該避免出於各種原因。因爲

    a)懲罰已經足夠悲慘的只有FTP作爲共享回購股票的唯一選擇的可憐的傢伙,似乎是一個非常不友好的想法。(其他人,有其他選擇的人會更喜歡使用那些)。

    b)似乎與gitremote-helpers man page不一致,它也明確提到了ftp傳輸,沒有任何反對。 c)每一種運輸都有其限制/優點,FTP也不例外。 (通過capabilities命令的運輸幫手,也可以談判工具沒有問題,什麼使用一個和什麼不)。

    希望git克隆將繼續在FTP上工作(也許是什麼可怕的評論實際上意味着git並不支持它),只要FTP仍然是一個實用的選擇。

1

您可以使用git-ftp project工具部署到ftp服務器。它易於使用,可以安裝在本地服務器上進行遠程部署。以下是適合我的基本配置:

- git config git-ftp.user YOUR_FTP_USERNAME # ftpuser 
    - git config git-ftp.password YOUR_FTP_PASSWORD # ftppass 
    - git config git-ftp.url YOUR_FTP_SERVER # ftp.domain.com, might be a path to subdirectory ftp.domain.com/public_html 
    - git config git-ftp.syncroot public_html/ # optional if you only want to push a part of your repository 
    - git ftp init 
    - git ftp push