2012-02-20 23 views
-1

我有一個項目,在遠程服務器上託管的開發是用git完成的,當發佈的時候,更新應該從倉庫上傳到服務器,爲此我需要下載一個tarball,或者安裝完整的git發佈到服務器,但這兩者都不是很方便。我沒有必要在服務器上使用git,我沒有在那裏開發,我根本沒有做任何改變,倉庫文件只是垃圾,我只需要pull簡約的混帳拉工具

那麼,有沒有一種工具可以讀取repo的提交歷史記錄,將當前版本與最新的遠程進行比較,下載並安裝所有必要的補丁,僅此而已?

+1

爲什麼你不能只在服務器上安裝git?應該花費大約30秒,這取決於你的軟件包管理器。 – 2012-02-20 14:39:49

+0

因爲我[並不真的需要它](http://en.wikipedia.org/wiki/Occam's_razor),如果有一個工具可以滿足我的需求,我寧可使用它。 – 2012-02-20 15:02:59

回答

0

我建議你安裝git,但如果你有一個不能這樣做的理由,你可以使用ViewGit。您可以閱讀提交歷史記錄,比較和下載文件。

2

安裝git是最好的選擇。你可能會認爲你不需要它,但它是很好的許多原因有整個系統:

  • 你可以做你用一行代碼
  • 你可以描述的任務確切地看到你使用git log檢出的軟件版本
  • 您可以立即在代碼分支之間來回切換,而無需重新下載內容或將文件從一個地方移動到另一個地方
  • 如果存在無法在本地複製的錯誤,則可以在生產代碼中打開調試/錯誤記錄變量,然後恢復生產代碼wi通過切換分支執行單個命令
  • 如果您確實在服務器上進行了任何更改,您可以立即看到git diff或git狀態,因此無法打開調試功能,然後忘記您是在哪裏/是否這樣做了

你說你不需要整個回購歷史,但即使是一個大型項目,你真的有那麼短的空間嗎?存儲非常便宜。

我現在在服務器上經常使用git,即使我從來沒有打算在那裏做任何工作(服務器甚至沒有權限推回到repo),因爲它爲您描述的情況節省了很多時間和麻煩。

編輯:重新考慮你的奧卡姆剃刀評論 - 我見過人們採取相同的「不是必須」的方法來進行定期的非現場備份。它不能很好地結束;)

+1

而且它不像git是一個擁有300 MB安裝程序的龐大軟件包。任何具有git功能子集的東西都不會比git本身輕巧得多。 – 2012-02-20 15:05:24

0

如果你試圖解決的問題是隻獲取某些文件的最新版本到服務器(覆蓋任何更改),那麼你有沒有考慮過使用rsync