Saratoga

Saratoga

We partner with successful companies and convert their business ideas into meaningful technology solutions

T (South Africa) +27 (0) 21 658 4100
T (UK) +44 (0) 20 363 78024

Email: [email protected]

Saratoga
4 Greenwich Grove, Station Rd, Rondebosch, Cape Town, 7700

Open in Google Maps
  • ABOUT US
    • ABOUT SARATOGA
    • VALUE PROPOSITION
    • TIMELINE OF SARATOGA & ALACRITY
    • LEADERSHIP TEAM
    • CSR INITIATIVES
  • OUR SERVICES
    • SERVICES
    • CASE STUDIES
    • CLIENT TESTIMONIALS
    • CLIENTS
  • OUR PEOPLE
  • INSIGHTS
  • CAREERS
    • OUR VALUES
    • JOIN THE TEAM
    • SARATOGAN LIFE
CONTACT
US

Source Control – More than just a repository

Mon, 09 Nov 2020 / Published in Insights, Latest News

Source Control – More than just a repository

Written by Fredrik Erasmus, Senior Developer at Saratoga

I find keeping a repository even for very small projects incredibly useful. In fact these days I hardly start a project without creating a code repository first. You just never know where you might need the code again. As a Software Developer who has worked on numerous client projects over the years, I find myself initializing a new git repository almost by habit when creating a new folder for a new project.

Code Repository Benefits

Having a git-based code repository for a project is very useful as you can create branches of work against the repository, and you can commit or revert changes as you choose by creating branches locally.

If you go too far with a feature you can easily revert to a previous version, or in git terms stash it. Ideally, I would suggest that you host your code in a remote repository, as a remote repository would provide more than just a way to keep your code safe.  

Remote Repositories

It’s worth noting that the git version control system has become the de facto standard. The version control system Subversion (SVN) is still in use by many teams. Mercurial was until recently still supported by BitBucket. BitBucket, however, discontinued support for Mercurial in favour of git. Cloud-hosted git providers such as GitHub, Azure Devops, BitBucket, AWS CodeCommit, Google Cloud Repositories and GitLab mostly use the git version control system.

Cloud-hosted git repositories are great for team collaboration. Why? Because they provide so much more than just a place to keep your code. Azure Devops, for instance also provides integrated project management (think Agile) support through Azure Boards. Whereas GitHub provides projects as a way to track work.

GitHub as a Repository

It’s important to recognise the integration of your code repository with the project management tools provided by Azure Devops and GitHub. Your team typically creates user stories with tasks or features using Azure Devops Boards, for instance. The stories (features) are then displayed on a project board. The team then performs work against a task or a feature. The work may involve writing code by a developer for example. In the case of a developer they would typically start the development of a task or feature by creating a git branch in their local environment. Work will be done on the feature or task with regular commits on a local branch. When the developer is finished with the work they will push the local branch to the remote repository.

All the details of the commits are then tracked against the project item. Azure Devops, for instance, shows the commit details against a feature or task. In my mind the project item is no longer just a ‘sticky’ (using Agile terms) to track progress but also a valuable source of information. It promotes transparency. Non-technical stakeholders can sign-in to Azure Devops, for instance, to look at a project’s progress.

In many environments developers will create pull requests from the branches they pushed. A pull request is a great opportunity to collaborate – reviewing code. Both Azure Devops and GitHub provide great support for reviewing code from pull requests, and reviewing code is a great team collaboration mechanism. Teams should regularly perform code reviews as it improves the quality of a project immeasurably. It also helps build trust within a team.

Project and Deployment Benefits

An approved pull request will merge code into a main branch such as master or development. If configured, the merge will trigger a CI/CD pipeline. CI/CD pipelines delivers updates to your project without any human intervention – continuously. With the deployment process being automated the quality of your project increases because it happens after every merge of a pull request. Features can be tested quicker, and feedback from testers (QA) can be received sooner and bugs reported timeously – ultimately enabling developers to fix the bugs quicker.

Source control, therefore, must be seen as more than just keeping your code in a repository. Your source control strategy should ideally provide a collaborative experience for your team. It should also provide a way to speed up the iterations to your project through constant integration using CI/CD pipelines.

What you can read next

Saratoga Shares Insights From The 2016 BA Summit
The future of manual testers in data science
How Design Thinking can help your business

Recent Posts

  • Thabo Payi, Software Developer

    A keen interest in new technological advancemen...
  • Leadership Profile | Karen Milner

    As our Business Development Manager at Saratoga...
  • Mpumelelo Dhlamini, Software Quality Analyst

    At the start of his career, Mpumelelo Dhlamini ...
  • Leadership Profile | Charlene Seini

    “The IT industry offers so many career opportun...
  • Leadership Profile | Carolyn Elliott

    “Growing up, I was always fascinated by people ...

Categories

  • Case Studies
  • Insights
  • Latest News
  • Networking
  • Staff Profiles
  • Technology

CONTACT US

Please fill in this form and we'll get back to you as soon as possible!

T +27 (0) 21 658 4100 | F +27 (0) 86 575 7170 | UK T +44 (0) 20 363 78024

4 Greenwich Grove, Station Rd, Rondebosch, Cape Town, 7700

COVID-19 Information

© Copyright Saratoga 2000 - 2018. All Rights Reserved.

TOP
We use cookies to improve user experience, personalised content and analyse website traffic. By clicking “Accept,” you consent to store on your device all the technologies described in our Cookie Policy. To learn more about our use of cookies, view our "Cookie Settings".
Cookie settingsACCEPT
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorised as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyse and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non-necessary

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.