-1

我有一个托管在远程服务器上的项目,使用 git 完成开发,当发布时间到来时,更新应该从存储库上传到服务器,为此我需要下载 tarball,或安装完整的 git分发到服务器,但这都不是很方便。我不需要服务器上的 git,我没有在那里进行开发,我根本没有做任何更改,存储库文件不过是垃圾,我所需要的只是pull.

那么,是否有一个工具可以读取 repo 的提交历史,将当前版本与最新的远程版本进行比较,下载并安装所有必要的补丁,仅此而已?

4

3 回答 3

2

安装 git 是最好的选择。您可能认为您不需要它,但拥有整个系统的原因有很多:

  • 您可以使用一行代码完成您描述的任务
  • 您可以使用 git log 准确查看您签出的软件版本
  • 您可以立即在代码分支之间来回切换,而无需费心重新下载内容或将文件从一个地方移动到另一个地方
  • 如果存在无法在本地重现的错误,您可以在生产代码中打开调试/错误日志记录变量,然后通过切换分支使用单个命令恢复到生产代码
  • 如果您确实在服务器上进行了任何更改,您可以立即使用 git diff 或 git status 查看,因此您无法打开调试然后忘记您在哪里/是否这样做

你说你不需要整个repo历史,但即使是一个大项目,你真的那么缺空间吗?存储非常便宜。

我现在经常在服务器上使用 git,即使我从不打算在那里做任何工作(服务器甚至没有权限推送到 repo),因为它为你描述的情况节省了很多时间和麻烦。

编辑:关于您的 Occam's Razor 评论 - 我已经看到人们对定期异地备份采取相同的“非严格必要”方法。结局并不好;)

于 2012-02-20T15:03:04.423 回答
0

I recommend you to install git, but if you have a reason to can't do this, you can use ViewGit. You can read commit history, compare, and download files.

于 2012-02-20T14:54:30.497 回答
0

如果您要解决的问题只是将某些文件的最新版本发送到服务器(覆盖那里的任何更改),您是否考虑过只使用rsync?

于 2012-02-20T15:20:12.117 回答