Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
Correct use of branching?

Hello,
I almost never using the merge tool, because when I branch I often explore a whole new design approach. That basically makes my chosen branch my "Main" workspace.
(Big downside is that Onshape many times revert back to Main as default and I need to pay attention and switch to the correct branch)
Any thoughts about this? I was wondering if my practice is legit or I am totally missing something here.
Thank you.
0
Comments
In that case, I would merge the branch back to main, using replace.
I will try that. So you are saying that anyways I should try and work in "Main" as main.
Thank you @S1mon
@ben_partouch
There's no rule that says you have to, but I've found that it makes it ever so much easier. You don't have the annoying behavior of occasionally opening up to the wrong branch, and it communicates to team mates (or your future self) that "main" is indeed the most important branch. I also like to delete dead-end branches, so I don't accidentally use them for something. You can always branch from those if you really need to reopen an active workspace.
I struggled with some of the same challenges. When support finally got through my thick head to design and test in branches and merge back to the main before releasing, the branching and merging workflow began to make sense. This is now my preferred workflow; however, if you are not using release management, your case might be different.
@ben_partouch I align with other's here. Just merge it back to Main and replace what's there. Going forward, think of a branch as ONE experiment at a time. Wanna try more than one thing? Use more than one branch. When they're done I also am a big fan of deleting the dead ends so you don't end up there by mistake.
You can either work in Main and branch when you know you're trying something you're unsure of. Or you can exclusively work in branches and merge to Main when you're happy with each milestone. They recently added the ability to right click a workspace and "add workspace protections", so you could literally prevent yourself from modeling in Main if you like.
Branch hygiene matters way more if you're on a team of people than flying solo, but can certainly also be a big favor to your future self too.
I just wish the default was to Branch individual Tabs and not the entire Document…
As a Data Management snob makes absolutely no sense to me that to iterate on a part, you have to duplicate an entire project. It creates a lot of noise and clutter in the Document and en the overall environment, since those Branches show up on searches and everywhere else. Yes there's ways to reduce the issues, but is all depended on users doing all this housekeeping, that is not a very reliable process.
CAD Engineering Manager
@adrian_vlzkz Now that Onshape supports selective merge, you can delete irrelevant tabs on the branch and merge back only the tab you care about.
Yes, there have definitely been improvements, but like I said, this is still relying on the users to do all this maintenance. Also, if there's a lot of versions created in the Branch (before the merge) those will permanently exist in the system.
Ideally there should be an Enterprise Level or Project Level setting that allows for the default to only branch the Tab, or a dialog that allows the user to check which tabs to branch.
CAD Engineering Manager
Thanks guys. This is helpful. Some great recommendations.
I am interested in @adrian_vlzkz comment. I run into it when releasing drawings. You release the assembly, and then releasing the drawing which is in the same doc as the assembly you released.
Even more confusing when the drawings is referencing a version of the assembly since the version is including the drawings tab as well.
Might be wrong practice on my behalf.