我有一个托管在远程服务器上的项目,使用 git 完成开发,当发布时间到来时,更新应该从存储库上传到服务器,为此我需要下载 tarball,或安装完整的 git分发到服务器,但这都不是很方便。我不需要服务器上的 git,我没有在那里进行开发,我根本没有做任何更改,存储库文件不过是垃圾,我所需要的只是pull
.
那么,是否有一个工具可以读取 repo 的提交历史,将当前版本与最新的远程版本进行比较,下载并安装所有必要的补丁,仅此而已?
安装 git 是最好的选择。您可能认为您不需要它,但拥有整个系统的原因有很多:
你说你不需要整个repo历史,但即使是一个大项目,你真的那么缺空间吗?存储非常便宜。
我现在经常在服务器上使用 git,即使我从不打算在那里做任何工作(服务器甚至没有权限推送到 repo),因为它为你描述的情况节省了很多时间和麻烦。
编辑:关于您的 Occam's Razor 评论 - 我已经看到人们对定期异地备份采取相同的“非严格必要”方法。结局并不好;)
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.
如果您要解决的问题只是将某些文件的最新版本发送到服务器(覆盖那里的任何更改),您是否考虑过只使用rsync
?