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
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)
Stay tuned for my next post, which will describe my preferred Windows Terminal. I welcome your feedback or comments at firstname.lastname@example.org