当前位置:网站首页>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 .
边栏推荐
- [300 + selected interview questions from big companies continued to share] big data operation and maintenance sharp knife interview question column (III)
- [每日一氵]Latex 的通讯作者怎么搞
- Go语学习笔记 - gorm使用 - 表增删改查 | Web框架Gin(八)
- Crypto Daily:孙宇晨在MC12上倡议用数字化技术解决全球问题
- HR面试:最常见的面试问题和技巧性答复
- Task.Run(), Task.Factory.StartNew() 和 New Task() 的行为不一致分析
- ThinkPHP进阶
- 药品溯源夯实安全大堤
- AVL balanced binary search tree
- [IDM] IDM downloader installation
猜你喜欢

Automatique, intelligent, visuel! Forte conviction des huit conceptions derrière la solution sslo

How to adjust the size of computer photos to what you want

Go language learning notes - Gorm use - table addition, deletion, modification and query | web framework gin (VIII)
![Stm32f411 SPI2 output error, pb15 has no pulse debugging record [finally, pb15 and pb14 were found to be short circuited]](/img/ea/8c9f716717bc08f2e563c577738ec8.png)
Stm32f411 SPI2 output error, pb15 has no pulse debugging record [finally, pb15 and pb14 were found to be short circuited]

Reading notes of top performance version 2 (V) -- file system monitoring

What time do you get off work?!!!
![[one day learning awk] function and user-defined function](/img/e1/a378211ef05fcc4d469363f3e509a7.png)
[one day learning awk] function and user-defined function

近半年内连获5家“巨头”投资,这家智能驾驶“黑马”受资本追捧

Deep operator overloading (2)

马来西亚《星报》:在WTO MC12 孙宇晨仍在坚持数字经济梦想
随机推荐
STM32ADC模拟/数字转换详解
Research on manually triggering automatic decision of SAP CRM organization model with ABAP code
MySQL高级篇4
Day 3 of rhcsa study
Photoshop插件-HDR(二)-脚本开发-PS插件
跨平台应用开发进阶(二十四) :uni-app实现文件下载并保存
基于PHP的轻量企业销售管理系统
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?
Redis seckill demo
Description | Huawei cloud store "commodity recommendation list"
Gaussdb (for MySQL):partial result cache, which accelerates the operator by caching intermediate results
[pyGame practice] do you think it's magical? Pac Man + cutting fruit combine to create a new game you haven't played! (source code attached)
【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(三)
ThinkPHP kernel work order system source code commercial open source version multi user + multi customer service + SMS + email notification
【显存优化】深度学习显存优化方法
【Pygame实战】你说神奇不神奇?吃豆人+切水果结合出一款你没玩过的新游戏!(附源码)
July 1, 2022 Daily: Google's new research: Minerva, using language models to solve quantitative reasoning problems
Microservice tracking SQL (support Gorm query tracking under isto control)