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
    benefits of hiding columns when using datatables
    Benefits Of Hiding Columns When Using Datatables.net
    Aug 24, 2020
    difference between screen size, resolution and display size
    Difference Between Screen Size, Resolution And Display Size
    Sep 8, 2020

    Git Workflow With Multiple People

    Categories
    • Software Development
    • Web Development
    Tags
    • branches
    • git
    • git pull
    • git workflow
    • production evironment
    • projects
    • pull request
    • software development
    • staging
    • web development
    git workflow with multiple people
    git workflow with multiple people

    As LavaLamp is growing larger, and more and more people are working on the same projects, I thought it would be useful to discuss the Git Workflow when multiple people are working on the same projects. I have experience working in larger teams, and I know how frustrating it could be if you encounter a merge conflict or your work is overwritten. Using the below Workflow should help.


    Git Pull


    A "git pull" should be your first step. You might not be in constant communication with your teammates so they can notify you of any changes. You might be working remotely. You may not even have touched the code yourself in months.

    In any case, making sure you have the latest code now can save you many headaches down the line. You could run into merge conflicts otherwise.


    Create your own Branch


    Depending on the changes you have to make, it may be safer to create your own branch. Ideally, you'd want to base it off of the Develop/Staging branch as it would have the latest iteration of code, and when it comes time to deploy you could merge it directly into that branch for testing.

    It's also useful for testing purposes. (See below)


    Pull Requests


    When you create a Pull Request, you can assign/ask one of your teammates to review the code change you made. If you've created your own branch, they could just pull that specific branch and test your code change.


    Merge into Develop


    If you've created your own branch based off develop (or staging), and the testing of your Pull Request has passed, it's time to merge your code back into the branch you based it on.

    Once the code has been merged, you can deploy it to the testing environment for more testing.


    Merge Conflicts


    Merge conflicts happen when you and someone else work on the same file. They can occur for multiple reasons. You could be working on the same line number as someone else. Someone else could have pushed their changes to the file before you, so the file is no longer the same (this is where "git pull" comes in handy).

    In any case, if you encounter one, it is your responsibility to fix the conflict. You can usually do this by adding your changes to the file while maintaining the conflicting changes. For example, if A and B are having a conflict with A and C, add C after A and B.


    Are your Branches Synced?


    This is the next question to ask after all the testing has been completed.

    If they are...

    Then it's time to merge the Develop branch into Master, create a Pull Request, Test, Deploy then have the client test on the Production environment.

    If they're not...

    They might not be synced because you have multiple new features on the develop branch that are still undergoing development or testing. In this case,  you have to create a hotfix branch. In essence, you're just restarting the cycle. You pull down your Master branch, create your own branch off of it, and make the change directly on your new branch. You create a Pull Request, have a teammate test it, and deploy directly to the Production environment once testing has passed.


    Conclusion


    I've used the above cycle in a fairly large team, and it has worked well. Hopefully it will work well for you and save you some headaches, as well.

    Contact us


      Related posts:

      how to setup git-ftp for windowsHow To Setup Git-ftp For Windows git version controlA Simple And Powerful Git Version Control Workflow how to deploy your app/website on herokuHow To Deploy Your App/Website On Heroku how to deploy a backend api to azureHow To Deploy A Backend API To Azure
      Share
      44
      Taylor Plaatjies
      Taylor Plaatjies

      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