搜索
bottom↓
回复: 66

程序版本管理不力带来的惨重后果

  [复制链接]

出0入0汤圆

发表于 2016-7-30 22:54:33 | 显示全部楼层 |阅读模式
最近在用单片机开发项目,由于是时间比较短,公司销售死催啊,最后结果只能边出机器边改善代码,最近终于实现了所有认为正确的功能,回头整理,发现头疼了!他么的忘了哪些机器用的哪个版本的代码!本人第一次接手这么急的案子,而且开始项目时候方案都是不确定的,边出机器,边测试,边修正方案!,这次教训比较惨痛!由于只是出了10台机器,而且我的代码都是向前兼容的,才没出现大的问题,关于版本管理大家都是什么方式?
欢迎大家在这里讨论下。
目前我能想到的方案:
1.只要出了机器,就先做备份:工程文件+HEX下载文件,并用excel做版本升级的记录,说明改了哪些地方。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2016-7-30 23:00:31 | 显示全部楼层
git版本管理
bini文件包含commit ID

出0入0汤圆

发表于 2016-7-30 23:25:04 | 显示全部楼层
一直用git,改代码就写commit

出0入0汤圆

发表于 2016-7-30 23:59:11 | 显示全部楼层
svn或git配合Beyond Compare,你值得拥有

出5入0汤圆

发表于 2016-7-31 07:53:30 来自手机 | 显示全部楼层
一个版本独立一个工程文件夹。

出0入0汤圆

发表于 2016-7-31 08:29:24 来自手机 | 显示全部楼层
最简便的在main的顶部加注释,时间+功能模块说明及进度。然后整个文件夹名称做好功能+最后更改时间!

出0入0汤圆

发表于 2016-7-31 08:32:24 | 显示全部楼层
git or svn

出0入8汤圆

发表于 2016-7-31 09:02:17 来自手机 | 显示全部楼层
用 svn 吧。

出0入0汤圆

发表于 2016-7-31 09:10:14 来自手机 | 显示全部楼层
SVN,标准解决方案。

出0入0汤圆

发表于 2016-7-31 09:19:03 | 显示全部楼层
用git 本地安装,不提交就行

出0入0汤圆

发表于 2016-7-31 10:30:20 | 显示全部楼层
每天先把昨天的工程复制新建一个文件夹,干了几天活,就有几个工程,清除.o文件后也没有占多少空间

画PCB也是这么玩

出0入8汤圆

发表于 2016-7-31 11:10:40 来自手机 | 显示全部楼层
12楼方法简单,我也是,新建工程的时候就从V01开始。这是个好习惯。没吃过亏的新司机没有这个意识。

出0入0汤圆

发表于 2016-7-31 12:50:17 | 显示全部楼层
建立一个批处理文件
md %date:~0,4%%date:~5,2%%date:~8,2%
删除无关文件
del *.bak /s
复制
xcopy

出0入0汤圆

发表于 2016-7-31 12:59:38 来自手机 | 显示全部楼层
我每个程序都可以读取编译时间.知道版本.然并卵

出0入0汤圆

发表于 2016-7-31 13:15:35 | 显示全部楼层
让销售去刷固件去

出0入0汤圆

发表于 2016-7-31 13:16:53 | 显示全部楼层
git,很强大,自己一个人用的话都不用搭服务器,init的一下,一个仓库就出来了,根据需要展开分支,切换方便…

出0入0汤圆

发表于 2016-7-31 13:51:53 | 显示全部楼层
生产的文件要交给专人保存,且只保留一个版本。

出0入0汤圆

发表于 2016-7-31 14:19:42 | 显示全部楼层
bg6agf 发表于 2016-7-31 12:59
我每个程序都可以读取编译时间.知道版本.然并卵

怎么做到的,少年

出5入8汤圆

发表于 2016-7-31 14:26:30 来自手机 | 显示全部楼层
用git我也是最近才开始学习使用,虽然现在只会简单的基本功能,但是版本管理起来是蛮爽的

出0入0汤圆

发表于 2016-7-31 17:23:08 | 显示全部楼层
bg6agf 发表于 2016-7-31 12:59
我每个程序都可以读取编译时间.知道版本.然并卵

后来我设计了一个软件。每次出厂时。连接电脑。按一个键。会自动把所有的配置文件程序啥的备份到电脑上的一个文件夹里。傻瓜操作。工人都可以用。

出0入0汤圆

发表于 2016-7-31 17:31:17 | 显示全部楼层
diyeyuye 发表于 2016-7-31 14:26
用git我也是最近才开始学习使用,虽然现在只会简单的基本功能,但是版本管理起来是蛮爽的 ...

赞同!git确实比较爽。
我用git最爽的地方就是他可以最小的代价创建分支。
新建一个分支去开发一个新功能,开发测试完成在合并到develop上,develop上在测试通过合并到master上打tag发布版本。

出95入8汤圆

发表于 2016-7-31 17:35:54 | 显示全部楼层
19504643 发表于 2016-7-30 23:00
git版本管理
bini文件包含commit ID

各位 用 GIT 的 达人 , GIT 服务器啥配置,用的啥操作系统?

出0入0汤圆

发表于 2016-7-31 17:37:41 | 显示全部楼层
推荐SVN!

出0入0汤圆

发表于 2016-7-31 19:32:15 来自手机 | 显示全部楼层
学习一下!

出0入0汤圆

发表于 2016-7-31 20:04:38 | 显示全部楼层
zzsczz 发表于 2016-7-31 17:35
各位 用 GIT 的 达人 , GIT 服务器啥配置,用的啥操作系统?

如果是公司多人使用,建议建设专门的linux服务器,
如果是个人使用,可以使用win板的git服务器软件,
我使用了两个版本库,一个是公司假设的,全部的软硬件都有备份。
一个是我自己使用gitstack假设的单机版(也可以联网)。
还有如果不是经常有分支的话,使用svn也可以。
我是从svn转到git的,git的速度和管理模式是svn无法比拟的。

出95入8汤圆

发表于 2016-7-31 20:24:47 | 显示全部楼层
simplorer 发表于 2016-7-31 20:04
如果是公司多人使用,建议建设专门的linux服务器,
如果是个人使用,可以使用win板的git服务器软件,
我 ...

非常感谢分享经验。

出0入0汤圆

发表于 2016-7-31 20:26:52 | 显示全部楼层
生产发货的bin或者hex,保存并备注版本说明txt

出0入4汤圆

发表于 2016-7-31 20:30:25 | 显示全部楼层
之前用了6年的CVS,后来一直用SVN,用了10年。

出110入93汤圆

发表于 2016-7-31 20:37:17 | 显示全部楼层
买了个群晖的 DS716+II,装了个 Gitlab。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-7-31 20:49:54 | 显示全部楼层
1. 自己代码SVN备份, 重要节点拷贝一份出来记录好实现了哪些功能并测试OK!
2.  出货的产品的固件每个版本包含源码一律导入到研发办,NPI或生产从研发办取固件(不能直接找研发人员要),测试OK出货

出0入0汤圆

发表于 2016-7-31 20:51:22 | 显示全部楼层
你见过从来没做过的东西,经常要未求半个月出量产的产品过没?甚至20天就包括了从零设计到量产产品到客户手上。。每次公司接这样的单我就想骂人。。。。

出0入21汤圆

发表于 2016-7-31 20:53:39 | 显示全部楼层
以前听我们老板讲,有一个工程师画板改了好多次,样板终于全部OK了,由于中间担阁了一些时间,就没时间做小批量试产了.只是样板都全部OK,就直接大批量下订单了,结果那工程师不知道怎么搞的,取了一个旧版本的PCB板投了单.板子回来所有人都晕了.

出0入0汤圆

 楼主| 发表于 2016-7-31 21:18:27 | 显示全部楼层
LM1876 发表于 2016-7-31 20:51
你见过从来没做过的东西,经常要未求半个月出量产的产品过没?甚至20天就包括了从零设计到量产产品到客户手 ...

哥哥,比我更苦逼啊

出0入0汤圆

 楼主| 发表于 2016-7-31 21:19:11 | 显示全部楼层
117433525 发表于 2016-7-31 20:53
以前听我们老板讲,有一个工程师画板改了好多次,样板终于全部OK了,由于中间担阁了一些时间,就没时间做小批量 ...

估计饭碗丢了吧

出0入0汤圆

 楼主| 发表于 2016-7-31 21:21:33 | 显示全部楼层
lsx007 发表于 2016-7-31 20:49
1. 自己代码SVN备份, 重要节点拷贝一份出来记录好实现了哪些功能并测试OK!
2.  出货的产品的固件每个版 ...

你说的是大公司吧,我们这边其实规模也不小,但是流程还不正规,都是研发人员直接烧录,由于是做设备的,板子数量不会太多,一次一般最多也就200块

出0入0汤圆

 楼主| 发表于 2016-7-31 21:22:18 | 显示全部楼层
memstone 发表于 2016-7-31 20:37
买了个群晖的 DS716+II,装了个 Gitlab。

还要买啊,,,

出0入0汤圆

 楼主| 发表于 2016-7-31 21:24:27 | 显示全部楼层
19504643 发表于 2016-7-30 23:00
git版本管理
bini文件包含commit ID

谢谢!看来大家都是比较中意git

出0入4汤圆

发表于 2016-7-31 21:39:44 | 显示全部楼层
一个版本,一个压缩包

出0入0汤圆

发表于 2016-7-31 21:54:42 来自手机 | 显示全部楼层
mark,据专门搞软件的说,git好于svn,貌似谷歌代码托管就是git。
看来也要安装一个git,检查修改的地方方便。

出0入0汤圆

发表于 2016-7-31 22:27:11 | 显示全部楼层
一往无前 发表于 2016-7-31 21:21
你说的是大公司吧,我们这边其实规模也不小,但是流程还不正规,都是研发人员直接烧录,由于是做设备的, ...

是不是你技术这块还是比较小啊

出0入0汤圆

发表于 2016-7-31 22:39:06 来自手机 | 显示全部楼层
wajlh 发表于 2016-7-31 21:39
一个版本,一个压缩包

小工程,我也这么干

出0入0汤圆

发表于 2016-8-1 08:27:24 | 显示全部楼层
每个版本用一个文件夹.文件夹后缀用日期时间命名.

出0入0汤圆

发表于 2016-8-1 10:42:02 来自手机 | 显示全部楼层
这个不光是版本问题了吧,还有生产,序列号,对应的标示与记录。

出0入0汤圆

发表于 2016-8-1 11:09:31 | 显示全部楼层
git + 1.。。

出0入0汤圆

发表于 2016-8-1 11:15:47 | 显示全部楼层
git,有改动就commit

出0入8汤圆

发表于 2016-8-1 11:44:27 | 显示全部楼层
LM1876 发表于 2016-7-31 20:51
你见过从来没做过的东西,经常要未求半个月出量产的产品过没?甚至20天就包括了从零设计到量产产品到客户手 ...

顺德 的小家电行业 都这个样 15天内 从拿到样品到批量出货,一般10~15天的时间。

出0入0汤圆

发表于 2016-8-1 11:56:25 | 显示全部楼层
kebaojun305 发表于 2016-8-1 11:44
顺德 的小家电行业 都这个样 15天内 从拿到样品到批量出货,一般10~15天的时间。 ...

不是拿到样品,是完完全全陌生的东西,还不是抄。。要比原来的还 要好,还是客户定制功能。牛B吧?这不,这两天老板又来一个想法,我们本来是做学校刷卡的,有客户要电动车充电器。老板说做,一个月出成品。我说那东西我们不熟,找贴牌吧。不行,一定要自己做,全新的,不能和市面上的一样,不要抄板,要比他们先进。。。。我就日了动物园了。TMD开关电源都没接触过的,你叫不能抄要设计自己的。。。。光学都不止一个月吧?这还是1个月要出量产成品啊。就算一次定型光画个板打个样都得半个月吧?难不成画好直接出几K的量产板?真不知道他哪来的信心一次能成功的。。。还是可控开关电源这类复杂玩意。。。

出0入8汤圆

发表于 2016-8-1 11:57:59 | 显示全部楼层
LM1876 发表于 2016-8-1 11:56
不是拿到样品,是完完全全陌生的东西,还不是抄。。要比原来的还 要好,还是客户定制功能。牛B吧?这不, ...

你这出来了吗 ,估计出来了,也要返工。 这种老板 我遇到过。

出0入0汤圆

发表于 2016-8-1 12:02:33 | 显示全部楼层
kebaojun305 发表于 2016-8-1 11:57
你这出来了吗 ,估计出来了,也要返工。 这种老板 我遇到过。

才刚到布置完任务呢。
忘了说,这东西还含有c51编程。你猜这项目几个人做?就我一个。。。又要定电路定元件,又要设计画板,又要编程,又要测试,我感觉我得成神。。。。

出0入0汤圆

发表于 2016-8-1 12:11:55 | 显示全部楼层
kebaojun305 发表于 2016-8-1 11:57
你这出来了吗 ,估计出来了,也要返工。 这种老板 我遇到过。

初步打算是,管他的,找个成品直抄,最多PCB新排个版,换上我们常用的单片机。以我的常规做法,至少要出3次以上的样板才能最终定型,一个月出样机就差不多了。至于量产。。。。今天天气不错约。。。。

出0入0汤圆

发表于 2016-8-1 22:26:45 | 显示全部楼层
"c:\Program Files\WinRAR\WinRAR.exe"  a -agYYYYMMDD -df -m5 rar.rar C:\Users\FreeRTOS\Desktop\asssd

可以试试这个批处理。
文件名路径自行修改,呵呵

出0入0汤圆

 楼主| 发表于 2016-8-1 22:31:02 | 显示全部楼层
boboo 发表于 2016-8-1 22:26
"c:\Program Files\WinRAR\WinRAR.exe"  a -agYYYYMMDD -df -m5 rar.rar C:\Users\FreeRTOS\Desktop\asssd
...

什么???????

出0入0汤圆

发表于 2016-8-1 22:41:35 | 显示全部楼层
一往无前 发表于 2016-8-1 22:31
什么???????

自动建立包含建立时间的文件名的压缩包

出0入0汤圆

发表于 2016-8-2 08:36:39 | 显示全部楼层
程序嵌入一段 版本号 ,每次编译更新记得手动修改,,,然后在串口数据或LCM显示设备、TFT、上可以显示查询

出0入0汤圆

发表于 2016-8-2 08:44:43 来自手机 | 显示全部楼层
以前都是每个工程都按照日期整理 都快炸了 自从用了git 一切都清爽了

出0入0汤圆

发表于 2016-8-2 11:31:04 来自手机 | 显示全部楼层
wajlh 发表于 2016-7-31 21:39
一个版本,一个压缩包

+1 搞到个history文件夹里加上checksum

出0入0汤圆

发表于 2016-8-2 12:29:47 来自手机 | 显示全部楼层
svn 但是分支不好用

出0入42汤圆

发表于 2016-8-3 10:50:30 来自手机 | 显示全部楼层
最简单的:弄一个历史文件夹,一旦成了旧版,立刻拖入历史文件夹。这样看到的都是当前版本。

出0入0汤圆

发表于 2016-8-3 11:54:47 | 显示全部楼层
程序版本管理确实git好用

出50入8汤圆

发表于 2016-8-3 11:57:52 | 显示全部楼层
用过git的都说好

出0入0汤圆

发表于 2016-8-3 12:36:20 | 显示全部楼层
软件搞个版本号,可以根据版本号进行识别

出0入0汤圆

发表于 2016-8-3 20:56:24 | 显示全部楼层
LM1876 发表于 2016-8-1 11:56
不是拿到样品,是完完全全陌生的东西,还不是抄。。要比原来的还 要好,还是客户定制功能。牛B吧?这不, ...

老板运气真好,能找到你这样高手给他起家,很幸运

出30入25汤圆

发表于 2016-8-4 13:56:28 | 显示全部楼层
svn,并正确使用tag/branches,能解决绝大多数的问题

出0入0汤圆

发表于 2016-8-4 18:13:31 来自手机 | 显示全部楼层
牛人,到我公司吧,一年出一个产品就可以了。

出0入0汤圆

发表于 2016-8-4 19:22:11 | 显示全部楼层
LM1876 发表于 2016-8-1 11:56
不是拿到样品,是完完全全陌生的东西,还不是抄。。要比原来的还 要好,还是客户定制功能。牛B吧?这不, ...

这样的老板是只认钱的大狼B,狠可恶!

出0入0汤圆

发表于 2016-8-5 12:23:58 | 显示全部楼层
工程文件夹-版本文件夹-修改说明,
因为是自己看,
所以也就没搞什么软件。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-21 17:34

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表