[英]Git local repository for remote directory
我在任何地方都找不到答案。 是否可以為Web服務器上的文件設置本地git存儲庫? 由於空間不足,我不想將回購放在網絡服務器上。
聽起來好像您希望將存儲庫存儲在本地,但是您希望其工作樹與Web服務器提供的內容樹重合。
沒有本機支持,但是如果您可以將包含內容樹的基礎驅動器/目錄映射到本地路徑(即,將其視為網絡共享驅動器),則可以使其與git worktree
設置服務器以共享內容目錄以及在本地共享的映射的詳細信息取決於操作系統(也許取決於您的Web守護程序以及其設置方式,盡管如果它只是從本地內容目錄中提供文件,則不應這樣做)。成為一個問題)。
請注意,當您添加工作樹時,git希望看到一個空目錄以便檢入。 因此,您需要一個簡短的“中斷窗口”,在此期間內容樹可以為空。 該過程可能如下所示
# First, map the content tree to ./web-content
# ...
# Now initialize a repo
mkdir repo-init
cd repo-init
git init
# Import the web content into the repo; must be in outage window
mv ../web-content/* .
git add .
git commit
# Re-make the repo as a "mirror" to remove the default work tree
cd ..
git clone --mirror repo-init repo
rm -rf repo-init
cd repo
git remote remove origin
# Now check the content back out to the server
git worktree add ../web-content master
# outage window can now end
您現在有了一個本地存儲庫,該存儲庫正在跟蹤Web服務器上的文件。 如果您希望能夠拉(或推)更新服務器,則必須進行適當的配置(就像回購在服務器上一樣)。
絕對沒錯。 最簡單的方法是將存儲庫保留在本地,並使用ftp / rsync將代碼(僅工作目錄)遠程放置。 而已。 您的房東不需要您的倉庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.