My Windows Dev Stack - part 2: Version Control
5 December 2017

Blog written by Stacy Rendall, Principal Spatial Researcher, Interpret Geospatial Solutions
This post is part of a series which describes my development environment from high level technologies down to specific apps. It should be of interest to anyone doing Python or web development. See the first post for a general overview of the technologies that make up this stack.
Installation instructions and configuration/settings for tools introduced in this series can be found in this Bitbucket repository.
What is version control?
You can think of version control as being a little bit like Track Changes in Word, but for code (where you will want to track the multiple files that might make up your project). Version control can be quite useful in helping you keep track of code in solo projects, but it becomes essential when you are working with a team, so that you can see who changed what and why, and manage what happens if two people made changes to the same thing.
You are probably already doing it
Do you have folders like this?
If you do, then you are kind of managing your versions, but without any of the benefits of doing it properly!
How version control helps
- Manage your old versions, allowing you to jump back or forward at will
- Create branches, which are working copies of your project (while the current version is safely stored away); a branch could be used to do some testing or development, and once the changes are complete they can be merged back into the main code base (or discarded if you don't need them any more)
- When working in a team, version control can help you keep track of who has changed what, record why changes were made and easily manage merging changes if different people have both altered the same piece of code
- Remote version control repositories (e.g. Bitbucket, GitHub or Visual Studio Team Services) allow you to easily work across different computers or between different users
Git
Git is one of the most widely used version control systems, and is relatively easy to use from the command line or various GUI tools (such as GitHub desktop or even your code editor). Git is also really well supported across, and integrated into, a wide range of development tools - for example Microsoft Visual Studio Team Services features Git as its default version control system.
Git history across multiple branches
Handling a merge conflict in Git with Visual Studio Code (note that different tools handle this differently)
See the Bitbucket repository for installation instructions (via Scoop) and handy hints for using Git
Stay tuned for my next post, which will describe my preferred Windows Terminal. I welcome your feedback or comments at stacy.rendall@interpret.co.nz
Browse by Date
- April 2018
- March 2018
- February 2018
- January 2018
- December 2017
- November 2017
- October 2017
- September 2017
- August 2017
- July 2017
- June 2017
- May 2017
- April 2017
- March 2017
- February 2017
- December 2016
- November 2016
- October 2016
- September 2016
- August 2016
- July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- June 2015
- May 2015
- April 2015
- December 2014
- June 2014