2015-04-01 14 views
0

我已經想出了一個方法(使用幾個不同的教程)如何將本地回購推送到遠程回放 - 使用後接收掛鉤將內容推送到活動位置。所以在我目前的狀況如何將我的本地回購與我的現場網站同步,向後和向前? Git

Make a change to a website locally 
Use "git push live master" 
Commit gets uploaded to remote repo 
Remote repo pushes the contents to /home/unixuser/public_html 

簡要說明

但是說這個網站上有一個上傳表單,管理員可以上傳文章(活動網站),或者,用戶可以上傳個人資料圖片。如何將本地回購與「public_html」中的新內容同步,因爲回購實際上存儲在服務器上的其他位置?

這聽起來很簡單,但每當我搜索這個我似乎只得到如何做後接收腳本,如何上傳,而不是下載部分......或一個過度膨脹的解釋,離開我的部分困惑。這個問題有沒有簡單的答案,或者我可能會以錯誤的方式討論整個問題。

任何答案讚賞,謝謝!

回答

0

也許你只需要一個副本腳本,每當一個新文件上傳到複製它的repo,提交+推這。

另一個解決方案是使用第二個存儲庫: git-忽略當前倉庫中的上傳目錄。使用第二個在服務器上運行的repo,查看上傳目錄 - 然後您只需將其同步到本地計算機。在舊的回購中使用git-ignore,實際上可以將「上傳」-repo放入舊回購的文件夾結構內(就像它位於服務器文件夾結構中一樣)

+0

有了您的第一個解決方案,有點瘋狂,如果有100的上傳..會有很多提交,它會很難保持在上面?但正如我所說我是新手,所以我可能會錯的!在第二種解決方案中,我將如何「觀察」上傳目錄,並在更改時執行操作,因爲public_html目錄實際上不是git repo ......這是否合理? – Zephni 2015-04-01 20:24:21

+0

git只是節省了一些開銷和文件上的變化,所以它不會那麼瘋狂。當然你可能會放棄對你的提交的概述,但是你可以構造 - 提交註釋+也許使用第二個分支可以幫助組織它。對於第二種解決方案,您可以自己觸發一個腳本,該腳本在Web服務器上運行第二個存儲庫的提交,然後在您的本地計算機上執行(可能全部使用本地計算機上的簡單腳本):commit&push-trigger + git pull,應該不會是那幾行代碼 – fmh 2015-04-02 01:22:34