switchon@lavalamp.biz
+27(0) 83 419 4851 / +27(0) 21 036 1165
Application & software development
Get A Quote

    • Home
    • Services
      • Application & software development
      • Outsourced software development
      • Project based resourcing
      • Digital marketing & consulting
      • Graphic design & consulting
      • UI / UX design & consulting
      • Recruitment services
      • Lease an expert
    • About
      • How we work
      • NBConsult Group
      • Partners
      • Lightbox Digital
    • Blog
    • Join us
    • Contact

    • Home
    • Services
      • Application & software development
      • Outsourced software development
      • Project based resourcing
      • Digital marketing & consulting
      • Graphic design & consulting
      • UI / UX design & consulting
      • Recruitment services
      • Lease an expert
    • About
      • How we work
      • NBConsult Group
      • Partners
      • Lightbox Digital
    • Blog
    • Join us
    • Contact

    • Home
    • Services
      • Application & software development
      • Outsourced software development
      • Project based resourcing
      • Digital marketing & consulting
      • Graphic design & consulting
      • UI / UX design & consulting
      • Recruitment services
      • Lease an expert
    • About
      • How we work
      • NBConsult Group
      • Partners
      • Lightbox Digital
    • Blog
    • Join us
    • Contact

    • Home
    • Services
      • Application & software development
      • Outsourced software development
      • Project based resourcing
      • Digital marketing & consulting
      • Graphic design & consulting
      • UI / UX design & consulting
      • Recruitment services
      • Lease an expert
    • About
      • How we work
      • NBConsult Group
      • Partners
      • Lightbox Digital
    • Blog
    • Join us
    • Contact
    optimize site performance
    Optimising Site Performance In Vue.js
    Jun 27, 2022
    asp.net
    ASP.NET
    Jan 17, 2023

    Git Flow

    Categories
    • Deployment
    • Git
    Tags
    • agile
    • branches
    • Deployment
    • git
    • git flow
    git flow
    git flow

    It is always good to establish a git foundation to work off. There are many reasons such as if you are working with multiple developers on one project, and if your client wants certain changes to be on specific sites. By following a great git foundation this will prevent you from having an extreme amount of merge conflicts to go through and this will help instil an agile methodology of work.



    Why do you need to establish a git foundation?


    Some people might use git with just one branch, and these are the negative effects below which can be prevented by implementing a good git flow practice.

    • If there are multiple developers working on one branch this can lead to lots of merge conflicts as the developers could be working in the same files. Also, if the developers are committing small changes as they go this could also lead to new functionality being developed on top of incomplete functionality.
    • If the client wants a new feature deployed on to their production site and they want the rest of the changes to stay on the staging site. This would be impossible since everything is on one branch it is impossible to only deploy one feature, everything would need to be deployed together.


    What is good git flow practice?


    1. First step is to have a branch per site your client has (eg. dev branch, staging branch and a production/master branch). This will help with being able to deploy specific features to specific sites. Another benefit is that if there is particular configuration per site you can have a file that is ignored by git on each branch which will have the correct configuration for that site and will never need to be changed.
    2. Next would be to create a new branch whenever you are working on a new feature or a bug.
      Some things to note:

      • You should always create your branch off of master/production. This is because the master branch will contain all the changes that are on all the branches whereas the changes on the other 2 branches might not be on all the other branches. Whichever branch you create a branch off of means that everything on that branch is now on your branch.
      • If your team is using Jira, it is good to name your branch with the Jira code. This will then link that branch to the task in Jira and you will be able to see if that branch has been merged in anywhere or not.
      • Only merge master into your branch.
      • Make a PR (Pull Request) when you are fully complete with your changes to the dev branch.
    3. Next when a client requests a particular feature or bug fix you make a PR for the task branch into the relevant branch (dev, staging, master) and then the branch has been merged into master you can delete the branch as it is at its final stage.

    Happy git flowing!

    Contact us


      Related posts:

      how to setup git-ftp for windowsHow To Setup Git-ftp For Windows how to deploy your app/website on herokuHow To Deploy Your App/Website On Heroku laravel envoyer and forgeProvisioning A New Digital Ocean Server With Laravel Forge, And Deploying Code With Laravel Envoyer git workflow with multiple peopleGit Workflow With Multiple People
      Share
      0
      Rayne Logan
      Rayne Logan
      Rayne is a web developer with experience in PHP web apps and has an interest in project management and mobile development.

      Leave a Reply Cancel reply

      Your email address will not be published. Required fields are marked *

      Lava Lamp Lab


      Like technology, a lava lamp constantly changes form, producing new conditions with every passing moment



      lava lamp lab facebook   lava lamp lab twitter   lava lamp lab linkedin   lava lamp lab instgram

      Services


      Application & software development

      Outsourced software development

      Project based resourcing

      Digital marketing & consulting

      Graphic design & consulting

      UI / UX design & consulting

      Contact Us


      +27(0) 83 419 4851

      +27(0) 21 036 1165


      switchon@lavalamp.biz


      Unit 4 Monaco Square,
      14 Church Street,
      Durbanville,
      Cape Town, 7550

      NBConsult Group


      nbconsult
      nbconnect msp
      nbclearning
      river broadband
      designer needed
      © 2023 Lava Lamp Lab (Pty) Ltd | All Rights Reserved | Privacy Policy
      Contact us now

        Application & software development

          Outsourced software development

            Project based resourcing

              Digital marketing & consulting

                Graphic design & consulting

                  UI/UX design & consulting

                    Lease an expert

                      Recruitment services

                        We are using cookies to give you the best experience on our website.

                        You can find out more about which cookies we are using or switch them off in settings.

                        Lava Lamp Lab
                        Powered by  GDPR Cookie Compliance
                        Privacy Overview

                        This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

                        Strictly Necessary Cookies

                        Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

                        If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.

                        3rd Party Cookies

                        This website uses Google Analytics to collect anonymous information such as the number of visitors to the site, and the most popular pages.

                        Keeping this cookie enabled helps us to improve our website.

                        Please enable Strictly Necessary Cookies first so that we can save your preferences!

                        Cookie Policy

                        More information about our Cookie Policy