App Note 279 Copyright © 2015 ARM Ltd. All rights reserved
Using Git for Project Management with µVision keil.com/appnotes/docs/apnt_279.asp
Using Git for Project Management with µVision
MDK Version 5 Tutorial
AN279, Spring 2015, V 1.0
Abstract
Teamwork is the basis of many modern microcontroller development projects. Often teams are distributed all
over the world and over various time zones. Synchronizing the development work is the main task for project
managers. As this work cannot be done by sending files via email from one location to another, Software
Version Control Systems (SVCS) are used. In the past, Concurrent Versions System (CVS) and Subversion
(SVN) have been popular for workflows with a centralized server infrastructure. Nowadays, more and more
decentralized workflows have been established, making use of a new SVCS called Git.
This application note describes how to integrate Git into µVision and how to establish a robust workflow for
version control of projects using Software Packs.
Contents
Abstract ...............................................................................................................................................................................................1
Introduction ........................................................................................................................................................................................1
Workflows ..........................................................................................................................................................................................2
Centralized Workflow .................................................................................................................................................................2
Using Git with µVision .....................................................................................................................................................................3
Project Files under Version Control ........................................................................................................................................3
Files that do not need to be monitored ..................................................................................................................................3
Configure µVision’s SVCS ...........................................................................................................................................................3
Version Control of Software Packs ..........................................................................................................................................4
Centralized Workflow Example ....................................................................................................................................................5
1. Initialize the Central Repository ......................................................................................................................................5
2. Clone a Repository from a Server ..................................................................................................................................6
3. Feature Work .......................................................................................................................................................................7
4. Manage Conflicts............................................................................................................................................................... 10
Conclusion ....................................................................................................................................................................................... 12
Appendix A: Software ................................................................................................................................................................... 12
Appendix B: Links ........................................................................................................................................................................... 12
Introduction
Revision control is being used for a couple of years now in software development. In the past, centralized server
infrastructures have been used to track the changes in the source code of a microcontroller development
project. With the release of Git, decentralized VCS have become more and more popular.
Git, which is free software distributed under the terms of the GNU General Public License, was developed for
maintaining the Linux kernel. It became more and more popular and is now the de-facto standard in source
control management (SCM), another term for VCS.
This application note assumes that you have installed Git on your PC (refer to Appendix A: Software) and do
know how to use the Windows command shell (cmd.exe).