当前位置:网站首页>Embedded development: five revision control best practices
Embedded development: five revision control best practices
2022-07-01 15:55:00 【Guangdong embedded Education】
Every embedded software developer should use version control system . When something has been damaged , And cannot be undone , The ability to go back to the previous version is a lifesaver . Even if embedded developers know and use the revision control system , They should also use some best practices , To ensure that their revision control system is fully utilized .
Best practices 1– Exclude debug folder
The debug folder contains all the target files generated by the compiler for the source project 、 Binaries and executables . Although the team may want to save the released versions of these files , However, there are several disadvantages in saving them in the revision control system :
l Goals and executables are often large , It will soon exhaust a lot of space in the revision control system
l When the revision is checked out , Developers should use their own tool chain to build , Don't rely on files compiled under different conditions
l Unchanged files may be in different states , And cause unexpected behavior when executing software
For these and other reasons , Embedded developers should avoid saving debug folders and their contents in the revision control system .
Best practices 2– Use “ Ignore ” function
Most version control systems , Such as git or mercurial, Both have the function of ignoring certain files and file types . A good way to use this feature is for objects that the repository system should ignore and not add to the repository 、 Executable files and other files create an ignored entry . The exact method of how to ignore file types will vary from version control system to version control system . The best way is to consult the user manual .
Best practices 3– Submit a detailed submission log
When developers submit code to a repository , Or do not add comments , Or add few comments , So that it is impossible to determine what has actually changed in the code base . Have a detailed list of code and changes , It is critical to rollback and find previous versions when needed . Countless times , Something in the software broke , Embedded developers need to check logs , And determine when the feature was added or modified . If there is no detailed log , This process becomes a time-consuming nightmare . Each log should contain some key information :
l Software version number
l What is added to the software , Where to add
l What has been modified in the software , Which modules are affected
l Contains a list of all currently known unresolved issues for the software version
l Any useful general comments
Best practices 4– Synchronize frequently
Revision control systems are only useful when developers who use them often synchronize their software libraries . Not submitting code for a few days or weeks is like asking for trouble . If developers don't get the latest changes frequently enough , The same problem can arise . Their software will soon be out of sync with the rest of the code base . therefore , Embedded developers need to ensure frequent synchronization . If they don't do that , They may find themselves spending too much time trying to merge their code into the main branch .
Best practices 5– label / Branch officially released
When a code base will be released to the wild , Separate the code by branching or marking it as officially released . Separating these codes will make it easier for developers to go back and find the code version . Code marked or branched into formal versions should not be modified in any way , It should be kept as an original copy .
Conclusion
Following these best practices will help ensure that you not only use revision control systems , You can also get the maximum benefit from the system . If used properly , Revising the control system can save time and energy , These best practices will help ensure that embedded developers make full use of their systems .
边栏推荐
- GaussDB(for MySQL) :Partial Result Cache,通过缓存中间结果对算子进行加速
- [target tracking] | template update time context information (updatenet) "learning the model update for Siamese trackers"
- Summer Challenge harmonyos canvas realize clock
- [target tracking] |stark
- 电脑照片尺寸如何调整成自己想要的
- For the sustainable development of software testing, we must learn to knock code?
- Hardware development notes (9): basic process of hardware development, making a USB to RS232 module (8): create asm1117-3.3v package library and associate principle graphic devices
- Pico,能否拯救消费级VR?
- 电脑屏幕变色了怎么调回来,电脑屏幕颜色怎么改
- Create employee data in SAP s/4hana by importing CSV
猜你喜欢
Don't ask me again why MySQL hasn't left the index? For these reasons, I'll tell you all
Comment win11 définit - il les permissions de l'utilisateur? Win11 comment définir les permissions de l'utilisateur
Photoshop插件-HDR(二)-脚本开发-PS插件
电脑照片尺寸如何调整成自己想要的
ATSs: automatically select samples to eliminate the difference between anchor based and anchor free object detection methods
张驰课堂:六西格玛数据的几种类型与区别
[stm32-usb-msc problem help] stm32f411ceu6 (Weact) +w25q64+usb-msc flash uses SPI2 to read out only 520kb
Win11如何设置用户权限?Win11设置用户权限的方法
Automatic, intelligent and visual! Deeply convinced of the eight designs behind sslo scheme
Photoshop plug-in HDR (II) - script development PS plug-in
随机推荐
【Pygame实战】你说神奇不神奇?吃豆人+切水果结合出一款你没玩过的新游戏!(附源码)
【OpenCV 例程200篇】216. 绘制多段线和多边形
[stm32-usb-msc problem help] stm32f411ceu6 (Weact) +w25q64+usb-msc flash uses SPI2 to read out only 520kb
基于PHP的轻量企业销售管理系统
嵌入式开发:5个修订控制最佳实践
Description | Huawei cloud store "commodity recommendation list"
搜索框和按钮缩放时会有缝隙的bug
并发编程系列之什么是ForkJoin框架?
有些能力,是工作中学不来的,看看这篇超过90%同行
智慧党建: 穿越时空的信仰 | 7·1 献礼
Comment win11 définit - il les permissions de l'utilisateur? Win11 comment définir les permissions de l'utilisateur
Don't ask me again why MySQL hasn't left the index? For these reasons, I'll tell you all
【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(三)
Seata中1.5.1 是否支持mysql8?
What time do you get off work?!!!
2022 Moonriver全球黑客松优胜项目名单
How to adjust the size of computer photos to what you want
超视频时代,什么样的技术会成为底座?
Photoshop plug-in HDR (II) - script development PS plug-in
从 MLPerf 谈起:如何引领 AI 加速器的下一波浪潮