Git for multi developers

Greetings,

Is there anybody here that could have the best workflow for git for multiple developers ? or based on your experience, it will be nice to get some feedback from XOJO team I guess they are the best example here knowing that they might use that a lot.

So far we run into some issues that let’s say block us on working more on the same project . We did tried .xojo_project, we did tried .xojo_xml_project and always the same issue .

a clear example that I could give is for example you create a blank project. Add it to the master branch, fork it , add things and push it to the new branch, then let’s say other developer forks it again and does other thing and push that to his branch then merge the work with the dev branch let’s say.

So far all ok here but if 2 developers do a branch on the dev branch and then work on different parts of the project , then when they push it and create pull requests the first one will pass and the second one will fail with the coming error

This pull request has changes conflicting with the target branch.
testXML.xojo_xml_project

So , based on that it means that only 1 developer can work on the project in the same time even if they work on different parts and the rest have to wait for this to finish and then do a pull again and take over from there.

if that’s the case then I guess is not to efficient to work this way and we would have to split developers on individual projects so we can avoid this mess .

How would be the best way to do this and what are the steps.

Thanks in advance.

Use the text format instead of XML. Different parts of the project will be in different files, minimizing conflicts.

Each developer should be on their own branch (no sharing branches), but you can create a mini-master branch for a particular feature or project.

For example, let’s say you want to add a widget. You can create a Widget/base branch that developers can fork, work on, then merge back into base. When developer 1 has merged into base, developer 2 should merge base into her branch and resolve conflicts there.

When Widget/base is complete, it gets merged into the develop branch. Once develop is deployed, it gets merged into the master branch.

master should always represent what’s already in production. develop should always be ready to go to production.

HTH.

4 Likes

Hello Kem, i assume that by resolving conflicts that means that they have to manually open each commit and see the changes and doing them manually in the branch they want to push, as for text format , I assume that this is the .xojo_project one.

Thanks.