设为首页
收藏本站
开启辅助访问
全部
问与答
创意
技术
酷工作
生活
交易
资源
节点
飞墙
Follow
明白贴
影视
报酬
登录
注册
飞社-令人惊奇的创意工作者社区-
›
首页
›
问与答
›
多个编程任务的代码管理
FSHEX=FIND+SHARE+EXPRESS
飞社-令人惊奇的创意工作者社区- 是一个关于发现分享表达的地方
现在登录
没有账号?
立即注册
推荐主题
›
垃圾小米!真就一生黑啊!
›
前同事被庞氏骗局洗脑,要帮他报警吗?
›
想问问大家的鼠标侧键都设置成啥功能了?
›
Only Apple can do 苹果的傻 X 逻辑,自己
›
寒冬已至,本周四接到老板电话,说我所在部
今日热议主题
闲鱼上买的手机屏幕有伤,验货宝没有检测出
很难相信这是人能干出来的事, Edge 干得出
iPhone 6s 可以用微信朋友圈实况吗?
京东 Java 岗招聘
我开发了一款黑神话·悟空 内置地图工具,
出一些全新未拆 M.2 SSD 固态 铠侠 RC20 /
aws mysql 数据同步到 clickhouse cloud 的
出爱奇艺和 Reqable
Os-Set.Net-NetBoot.xyz 国内版 Patch
从零到三,如何借助 AI 一口气做了三个网站
多个编程任务的代码管理
FatSheep2020
· 2024-9-10 12:46:41 · 68 次点击
大家好,
虽然已经工作 6 年了,但是这个任务还是经常困扰我。
我司的工作比较多,每个程序员手头都是 3 到 4 个任务同步在处理。不可避免地,两个任务会修改同一个 cpp 文件。
但是我司的代码 review 要求,上传的代码只能有对应任务的代码,其余的修改必须删除掉。所以就经常出现,为了任务 A 的 review ,把任务 B 的代码删了。要做任务 B 的 review 时,又把删除的代码加回来这样尴尬的事情。
之前用 Perforce 的时候,shelve 功能可以解决一大部分的问题。但是现在切成 SVN 了,shelve 功能就不好使了。
所以想请问大家平日遇到此类问题,是如何管理自己的本地工程的。
谢谢。
举报
·
68 次点击
登录
注册
站外分享
微信扫一扫
QQ分享
微博分享
豆瓣分享
复制链接
显示全部
|
最新评论
6 条回复
沙发
ilovey482i
小成
2024-9-10 12:48:56
git 的分支管理
板凳
Maboroshii
小成
2024-9-10 13:02:34
写过多线程代码的都知道,要并行改串行。那么解决办法就是:把人都开掉,留一个程序员,按顺序写代码,就不会冲突了。 ( doge
为什么不用 git 啊。。。
地板
tool2dx
初学
2024-9-10 13:53:48
写点脚本生成 review 专用代码呗。
本质上就是 review 要求太多,需要同一个文件里,进行不同任务的代码隔离。
5#
whitefable
小成
2024-9-10 14:05:04
其实 svn 也有 shelve 功能但的确不太好用,而且事实上我这边也有类似的问题,虽然我司没那么严格的 review 机制。方法也是有的,我这边有 2 种做法吧:
1. A 、B 任务同时开发,那提交记录必然是两者有互相交错;那就在 review A 之前将所有 B 的提交都 refert ,而将 B 加回来也很简单,前面那次 refert 之后会产生一次提交,只需要将这次提交再 refert 一次就 ok 了,这么做就是来回比较麻烦而且提交记录上有比较多这种 refert 再 refert 的记录
2. svn 的分支给我感觉上相比 git 的确是没那么好,但也有适合于 svn 的方式。那就是你在本地开发的时候,假设 svn 当前 head 的版本号在 1000 ,那就任务 A 和任务 B 分别建立两个不同的文件夹都 checkout 1000 这个版本(并不是开新的分支),然后在这两个文件夹内开发。这么做的缺点就是每个任务开发过程中就不好提交了,不然就和 1 其实是类似的,提交记录总是一堆交错。一个折中的方法是文件夹内可以自己用 git 本地管理,然后差不多了再提交一波大的到公司的 svn 去,这样子记录相对干净一点。
其实基于 2 当然也可以用分支的方式,分支的话 A 提交了啥到时候直接将相应提交 merge 到 B 即可。不过 svn 的分支+合并并不像 git 那么清晰;之前也和领导讨论过 svn 的分支比较舒服就是本地直接搞多个文件夹,然后文件夹内开发就是了
6#
meeop
小成
2024-9-10 16:03:14
用 git,git 分支就是专门针对你这个问题给出的解决方案,兵法修改 git 会提示有冲突,然后解决冲突正确合并代码
公司不让用但你自己可以用,本地代码使用 git 管理,使用 svn 合并代码到本地,然后用 git 工具观察变更并合理合并,最后再把合并好的结果提交 svn
另一个优化是对被修改的源码文件拆分子模块,一般来除了核心代码,一个公司会是一个人/小组负责一部分业务逻辑,你把你负责的业务逻辑尽可能独立出来,这样就能减少别人修改你负责模块造成冲突的可能性
7#
purringpal
小成
2024-9-10 17:00:22
是不是也间接说明代码耦合太严重了
返回顶部