2017-06-06 79 views
1

我無法在任何地方找到答案。是否有可能爲Web服務器上的文件設置本地git存儲庫?由於空間不足,我不想將回購站放在網絡服務器上。遠程目錄的Git本地存儲庫

+0

這些文件在任何git倉庫中? – 5208760

+0

你能澄清你的要求嗎?你在網絡服務器上有一些文件,你想下載到你的機器上......沒關係。然後你可以創建一個Git倉庫中的文件。你還想做什麼? – bdesham

+0

@bdesham我不想下載這些文件。我想知道,如果Git有一個命令,它將獲得服務器的文件,然後添加它們。即它會自行下載。 –

回答

0

聽起來你想要一個本地存儲的回購站,但是你希望它的工作樹與你的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服務器上的文件。如果您希望能夠(或推)更新服務器,則必須進行適當的配置(如果回購站位於服務器上)。

0

絕對是的。最簡單的方法是在本地保存資源庫,並使用ftp/rsync遠程放置代碼(僅工作目錄)。而已。你的主人不需要你的回購。