我想使用FTP服務器作爲git repo。 我知道這樣做的唯一方法是使用curlftpfs掛載ftp。Git with curlftpfs
但是對於curlftpfs,不可能執行任何git命令。
有沒有另一種解決方案呢?
我不能使用rsync,因爲我有刪除和新文件的問題。 如果我在源上創建或刪除文件,這也應該發生在目標上。 爲此,我可以使用--delete和update選項。但是,如果源文件中沒有新文件,則該文件不應該被刪除。 我認爲這不適用於rsync,因爲它沒有保存任何歷史記錄。
我想使用FTP服務器作爲git repo。 我知道這樣做的唯一方法是使用curlftpfs掛載ftp。Git with curlftpfs
但是對於curlftpfs,不可能執行任何git命令。
有沒有另一種解決方案呢?
我不能使用rsync,因爲我有刪除和新文件的問題。 如果我在源上創建或刪除文件,這也應該發生在目標上。 爲此,我可以使用--delete和update選項。但是,如果源文件中沒有新文件,則該文件不應該被刪除。 我認爲這不適用於rsync,因爲它沒有保存任何歷史記錄。
我認爲問題在於FTP文件系統與普通的unix文件系統相比是有限的。我正在嘗試構建一些能夠推送到FTP的東西,所以您至少可以拉到並推送到FTP。
至少可以在cuteftpfs或其他FUSE安裝的文件系統上創建本地單用戶git存儲庫。 git --separate-git-dir
選項可以方便地將git存儲庫放回您的物理文件系統。
% cd /home/xxx
% mkdir myproj
% curlftpfs ftp://mysite.com/myproj myproj
% chdir myproj
% git init --separate-git-dir ../myproj-git
% cat .git
gitdir: /home/xxx/myproj-git
這樣做的好處是可以很容易地在FUSE掛接的文件系統和本地目錄之間進行鏡像。
% git clone . ../myproj-local