我有一個項目,在遠程服務器上託管的開發是用git完成的,當發佈的時候,更新應該從倉庫上傳到服務器,爲此我需要下載一個tarball,或者安裝完整的git發佈到服務器,但這兩者都不是很方便。我沒有必要在服務器上使用git,我沒有在那裏開發,我根本沒有做任何改變,倉庫文件只是垃圾,我只需要pull
。簡約的混帳拉工具
那麼,有沒有一種工具可以讀取repo的提交歷史記錄,將當前版本與最新的遠程進行比較,下載並安裝所有必要的補丁,僅此而已?
我有一個項目,在遠程服務器上託管的開發是用git完成的,當發佈的時候,更新應該從倉庫上傳到服務器,爲此我需要下載一個tarball,或者安裝完整的git發佈到服務器,但這兩者都不是很方便。我沒有必要在服務器上使用git,我沒有在那裏開發,我根本沒有做任何改變,倉庫文件只是垃圾,我只需要pull
。簡約的混帳拉工具
那麼,有沒有一種工具可以讀取repo的提交歷史記錄,將當前版本與最新的遠程進行比較,下載並安裝所有必要的補丁,僅此而已?
我建議你安裝git,但如果你有一個不能這樣做的理由,你可以使用ViewGit。您可以閱讀提交歷史記錄,比較和下載文件。
安裝git是最好的選擇。你可能會認爲你不需要它,但它是很好的許多原因有整個系統:
你說你不需要整個回購歷史,但即使是一個大型項目,你真的有那麼短的空間嗎?存儲非常便宜。
我現在在服務器上經常使用git,即使我從來沒有打算在那裏做任何工作(服務器甚至沒有權限推回到repo),因爲它爲您描述的情況節省了很多時間和麻煩。
編輯:重新考慮你的奧卡姆剃刀評論 - 我見過人們採取相同的「不是必須」的方法來進行定期的非現場備份。它不能很好地結束;)
而且它不像git是一個擁有300 MB安裝程序的龐大軟件包。任何具有git功能子集的東西都不會比git本身輕巧得多。 – 2012-02-20 15:05:24
如果你試圖解決的問題是隻獲取某些文件的最新版本到服務器(覆蓋任何更改),那麼你有沒有考慮過使用rsync
?
爲什麼你不能只在服務器上安裝git?應該花費大約30秒,這取決於你的軟件包管理器。 – 2012-02-20 14:39:49
因爲我[並不真的需要它](http://en.wikipedia.org/wiki/Occam's_razor),如果有一個工具可以滿足我的需求,我寧可使用它。 – 2012-02-20 15:02:59