Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
JBristow
Creator
Creator

GIT Branching

We've switched from SVN to GIT with our upgrade to - 7.2.1. I've seen different articles concerning branching. Some recommend a "Centralized Workflow" - which is what we used in SVN. Development occurred in the TRUNK; then we would promote to a BRANCH, then create a TAGSET off the BRANCH for artifact creation; and the artifact was eventually promoted to Production. This has worked well for a number of years now. Other articles say NEVER do development directly in the MASTER - which aligns with GIT Best Practices as the Master should be your solid code base and not under construction. So I'm confused to say the least. 

 

Now we use GIT with 7.2.1 - and the "Centralized Workflow" would be similar to what we did before except we'd use the MASTER. In theory - easy. But what I'm seeing is that if you checkout from the MASTER and do changes, everything is fine. However - if you want a "local" copy to do work in and you do not create the "local" checkout with the same name; we are getting remote branches created. Example - a developer creates a local copy of the MASTER and calls it "Developers Copy" and we get a new remote branch called "Developers copy". Call it MASTER and it stays as a local checkout as it should and is seen only by the developer on their local setup. Then you do the Pull & Merge and then a Push back to the MASTER and all is good.

 

Is there anyway to control Branching in the Studio? In other words - I want developers to create local copies for development, but in no way do I want them to create remote Branches. I don't see anyway to control this in the TAC permissions or in GIT - and I can see Branching getting out of hand real quick with resources in various locations across the world who might drift from a well defined - but uncontrolled - branching best practice.

 

Any thoughts?

 

Thanks! 

Labels (4)
2 Replies
manodwhb
Champion II
Champion II

@ris.tan , you can not control as you required from studio.

JBristow
Creator
Creator
Author

That was my fear - that developers can create branches at will. We'll just need to enforce governance of our procedures I guess and try and control it, as best we can.

 

I also believe the "remote" branch creation issue has to do with naming of the local branch. If a developer checks out a local copy of the master and calls it "my master" - we end up with a remote branch called "my master" showing up in the TAC and in GIT. If , however, we check out a local copy of the master and leave the name unchanged - "master" - then the local copy works great and there's no remote branch created.

 

Again - it's procedural issue we'll need to implement here to control branch creation.

 

Thanks.