Git可以用来更新客户端机器上的软件吗?

时间:2014-06-22 20:41:25

标签: git patch auto-update

所以我有了一个想法,我需要第二个意见,因为我担心我可能会离开我的摇杆。可以使用在客户端更新本地软件(即视频游戏或文字处理器) Git的?例如,每次客户端启动器打开时,它都会运行git pull。然后从包含完整客户端安装的主存储库中提取。

这是个好主意吗?怎么可能出错?这看不起来了吗?

已经存在像libgit2这样的库,它们允许将git集成到应用程序中,那么为什么不将它用于软件补丁呢?

2 个答案:

答案 0 :(得分:2)

是的,事实上有些软件已经这样做了。例如,我使用带有zsh扩展名的oh-my-zsh,要求我在启动新终端时经常更新(并在用户接受时启动git pull)

这种方法最适用于解释型语言(而不是编译语言),因为git可以更有效地处理文本,但二进制文件可以正常工作。

请注意git被滥用"对于其他事情 - 例如,流行的自制OS X包管理器使用git来更新其可用包的数据库。

答案 1 :(得分:1)

这是个好主意吗?

这是一个主观问题,所以我没有给你答案。但它肯定是一个有趣的想法。从the Git documentation

开始查看
  

首先,如果尚不清楚,Git是基本上 内容可寻址文件系统,其上面写有VCS用户界面。 (强调添加)

Git是根据 plumbing 瓷器来描述的。 plumbing 是后端,它实际上只是一个文件系统。 瓷器是您在与Git交互时习惯的,它非常适合源代码控制。

可能出现什么问题?

如果您使用它来分发二进制包,请确保check this link out。 Git可能会错误地认为二进制文件不是二进制文件。

还有很多关于Git没有很好地处理二进制文件的民意。我找不到任何原始材料来支持这一点,但我自己的经验是,它处理它们就好了。显然,你不能合并二进制文件,但我怀疑你是否会为你所描述的内容做到这一点。

很多其他事情都可能出错,因为Git会让你自己很开心地射击自己,但这就是(IMO)最大的优势之一。

这看不起吗?

对于每一个好主意,你会发现很多仇敌。对于每个坏主意,你会发现很多傻瓜。