Hello all,<br>if you are not an active KMM developer, you can stop reading here.<br><br>-----------------------------------------------------------<br>With git there are several possible workflows, all of them correct, and suitable to different situations.<br>
I've had working experience with git in a context similar to ours (eg. a project with 5-6 developers, several branches, the possibility that we might modify the same files without knowing, etc.)<br>In that project, what each of us would do was:<br>
- Pull --rebase the latest from the server for whatever branch we had to work in (master or stable)<br>- Branch off to a private branch<br>- Write the code, test, etc.<br>- Commit<br>- Switch to the original branch<br>- Pull --rebase the latest again<br>
- Switch to work branch<br>- Rebase from original branch<br>- Fix conflicts if any, test again, commit if needed<br>- Switch to original branch<br>- Merge the work branch<br>- Push to server<br><br>You can maintain several different branches. Keep in mind that branches are extremely cheap. It's totally different from SVN.<br>
<br>What rebasing means, is that it will get the commits from another branch, and it will try apply your commits on top of that. If there is a conflict, you have the opportunity to fix it while rebasing.<br><br>To summarize, this workflow means we always work on the code in private branches, then rebase and merge to master or stable branches.<br>
<br>In cases where a commit has to be applied to several branches, it can be merged to one branch, and cherry-picked from the others.<br><br>It is important to agree on a workflow that suits us, and also doesn't clutter the log, something that can happen very quickly on git.<br>
<br>Input is welcome, but please keep in mind that this only affects people that will be actually pushing to the repository.<br><br>Regards,<br>Alvaro<br><br><br><br>