Git
將只讀文件系統的內容推送到遠端 git repo
我在系統 A 上有一個(通過 sftp/sshfs 從伺服器 B 安裝的遠端只讀文件系統),上面有需要定期推送到遠端 git 儲存庫的數據。
我找不到一個 git 命令,它只獲取目錄(及其子目錄)的內容並將其推送到遠端儲存庫,而無需將本地目錄轉換為儲存庫本身(這需要寫入本地安裝的讀取 -只有目錄)。
可以將overlayfs放在伺服器A上遠端目錄的掛載點之上,但我讀到lowerdir上的更改(這將發生在伺服器B上)偶爾會導致陳舊文件句柄出現問題,而這些問題有時只能通過重新啟動來修復機(一)。
由於需要推送的數據量很大,暫時將其複製到本地機器 A 並從那裡 git-push 是沒有辦法的。
編輯:文件託管在受限網路中的伺服器 B 上,無法訪問 git 儲存庫。
如果沒有某種儲存庫來儲存數據,Git 無法將目錄的內容推送到遠端伺服器。但是,如果您想將 Git 目錄儲存在不同的磁碟或分區上,您可以這樣做。
為此,您可以將環境變數設置
GIT_DIR
為指向您想要使用的目錄,而不是.git
指向GIT_WORK_TREE
您想要用作工作樹的目錄(這將是包含您想要的數據的目錄犯罪)。然後,您可以正常執行 Git 命令,包括git init
初始化儲存庫,git add
等等git commit
。但是,這將導致對像被寫入本地系統,這將佔用一些磁碟空間,即使它們會被壓縮。不過,這可能會大大少於工作樹。如果該磁碟空間量太大,那麼不幸的是沒有辦法做你想做的事,你將不得不採用不同的方法。