Reputation: 3209
I am new to git (coming from Perforce/P4) and trying to explore what common workflows are for C++ projects and git.
Let's assume 100 devs work on their preferred OS. They create their local branch and work on their new feature.
1) When do they push their commits to the server? In intervals as the feature progresses or only if the feature is (kind of) done?
2) In daily life, devs develop on their preferred OS, push the changes to the Perforce server and use the build server to compile on other platforms and fix the left over bugs and errors. Is there any other workflow with git I don't think of at the moment that works better than that?
3) A dev branched feature/foo-viewport-engine
from develop
. Is foo-viewport-engine
only a local branch or will/should it also exist on the remote too?
Upvotes: 0
Views: 63
Reputation: 2143
1) When do they push their commits to the server? In intervals as the feature progresses or only if the feature is (kind of) done?
They can push their commits as and when required to the server. You can create separate branches for different features.
2) In daily life, devs develop on their preferred OS, push the changes to the Perforce server and use the build server to compile on other platforms and fix the left over bugs and errors. Is there any other workflow with git I don't think of at the moment that works better than that?
You can keep a main branch (develop) and then create branches out of develop branch in order to develop the features and merge back to develop once the development is complete. Same is the workflow for bugs and errors, have a separate branch created for it.
3) A dev branched feature/foo-viewport-engine from develop. Is foo-viewport-engine only a local branch or will/should it also exist on the remote too?
The new branch will be available in remote if the user pushes it to remote.
Take a look at this article for better understanding of git branching model: https://nvie.com/posts/a-successful-git-branching-model/
Hope this will help.
Upvotes: 1