有什么好的管理二进制文件的方法?现在用 git 管有点费劲。

2017-10-27 14:20:19 +08:00
 shijingshijing

手上有大量二进制类型的文件和一堆无法愉快解析成普通文本管理的文件。

二进制文件举例:iso 镜像,视频,可执行 exe 文件,嵌入式烧写用的 hex 文件和 bin 文件等等。 无法愉快解析成文本管理的文件:office 全家桶(主要是 word 的 doc 文件,excel 的 xls 文件),chm 帮助文件,调试过程中 dump 出来的 memory map 文件,某些普通文本经过类 Base64 编码后的输出文件(这个略奇葩,比如交付给客户用的配置,不想让他们看懂然后随便改)等。

二进制文件我们最开始没怎么管理,直接存放 ftp,后来有些交付给客户的 iso 文件,客户需求变化频繁,项目迭代较快,版本太多了,客户有时候会要求用以前版本来处理某些特殊的情况,因此为了方便客户,我们也需要对历史版本进行管理了,方便与客户撕逼。因此二进制文件我们需要能记录有哪些变更( git commit 时候的 log 信息)

后续我们希望能够用一个 cms 专门管理二进制文件,最好是 web 系统,每次要使用直接 download 下来,然后每次客户撕逼经历都直接附加到该版本对应的评论区。。。

大家有什么好的软件或者 best practice 来处理这个问题么?先谢谢了~

5898 次点击
所在节点    程序员
19 条回复
b821025551b
2017-10-27 14:28:31 +08:00
好多镜像站不都是 platform/name/version/(version)/../file 么,同级下加入 readme 或者 change log 之类的文本就可以了。
gouchaoer
2017-10-27 15:01:01 +08:00
Use ftp to save binary files.
defunct9
2017-10-27 15:12:25 +08:00
seafile
defunct9
2017-10-27 15:33:29 +08:00
ryd994
2017-10-27 15:38:59 +08:00
上传后返回 hash 把 hash 存到 git 仓库里
yidinghe
2017-10-27 16:01:07 +08:00
Subversion 保存二进制文件的消耗空间比 Git 要小。参考 Quora 帖子 https://www.quora.com/Is-SVN-or-GIT-useful-to-versioning-big-binary-files-PSD-Video-files-etc
HarrisonZ
2017-10-27 16:10:23 +08:00
git lfs 可以搭建 gitea 的实现,现在可用
wangxn
2017-10-27 16:16:27 +08:00
Perforce。据说游戏行业都在用这个。
lulu00147
2017-10-27 16:16:58 +08:00
SmartVersion
http://www.smartversion.com/
很好用一直用来整理 windows 镜像,空下来好几 T 的硬盘
old9
2017-10-27 16:22:47 +08:00
git lfs 正解吧,github、gitlab 都支持
我们多媒体项目,用来管理音视频很好用

不过楼主 dump 文件为什么要管理?
shijingshijing
2017-10-27 18:21:34 +08:00
@defunct9 视频和 dump 文件都是为了还原灾难现场,撕逼专用的。嵌入式里面,有很多问题是客户那边其他设备造成的,特别是网络通信,工业网络通信,最简单粗暴直接有效的就是 dump 给你看。每次提 issue 和发邮件撕逼,都直接附件传上去。除非使用价格不菲的第三方软件,否则这个就是最优解。这个非常重要,撕逼输了要赔钱的,也是花钱买来的教训。
shijingshijing
2017-10-27 18:30:26 +08:00
@b821025551b 以前 ftp 管理的时候就是按照你说的这样去做的,但是有个很大的问题,每次交付给客户的不是单个软件,而是多个工具+输入文件一起打包,这个是历史原因造成的,我们也尝试过把这些东西整合一个做成一个平台,然后各个软件做成模块,客户习惯了用一个个工具处理,而且客户自己写了一些脚本来调用这些工具,这些脚本涉及到他们自身的一些 ip,中间还会调用其他公司的工具,所以改造难度有点大。

我们现在的办法是,软件打包,然后提供一个装箱清单,各个工具版本都放上去,然后给客户去调试的时候,对应这个 package 有什么问题需要记录,dump 文件,视频也是为了这个。个人经验,所有扯皮涉及到金钱的东西,真的是越细致越好,能存多少尽量存多少。
defunct9
2017-10-27 19:55:50 +08:00
@shijingshijing 兄台是搞什么的。
shijingshijing
2017-10-27 20:04:03 +08:00
@defunct9 你猜~ ^_^
print1024
2017-10-27 20:57:35 +08:00
Nextcloud 行不
defunct9
2017-10-27 22:24:09 +08:00
@shijingshijing 我们在找嵌入式的人
主要目的是解决 batman-adv mesh 网络的一个细节问题:

可以不了解 batman-adv, 但是需要了解 WiFi 802.11 驱动和用 Wireshark 抓取空中数据包;
需要在 OpenWRT 上工作过;

有合适人推选么?
bookit
2017-10-28 11:02:39 +08:00
Windows 下 everything,文件名带上版本号,一个大版本的所有文件就放一个目录

然后开启此软件内部 http 服务器,

局域网内在浏览器里面服务器地址,在搜索框内输入要查找的关键字就能列出文件,随意下载,一目了然

客户也不需要学习什么
shijingshijing
2017-10-28 21:37:27 +08:00
@defunct9 抱歉我们做的不太一样,我们做的偏工业控制,了解的都是这一块的,你这个应该找通信或者 IoT 方面的。
lunny
2022-02-25 21:44:29 +08:00
Git LFS

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/401234

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX