

Do not create any default documents like a README or.Create remote repository on GitHub server.Here's an example image showing how a project might manage its branches: One of the best explainations of how branches can be used practically can be found on Atlassian's website. Especially in the case of open-source projects, anyone can submit a pull request, but it must be approved by the parent repo owner before the merge is finalized. Pull requests are also useful for merging across repositories. Pull requests are a layer on top of merging, if the team wants to see, comment on, and approve the merge before it is committed to the master.

From there you will need to pull the most recent changes from the parent, resolve any conflicts if it reports any, recommit to the branch, and then try merging the branch back into the parent again. Otherwise, it will throw an error indicating that there was a merge conflict. If there were not any changes in v2.0-beta since the v2.0-beta-mynewfeature branch was created, this will work smoothly. The merging process consists of pulling from the parent to get any new changes, then issuing the merge command to merge v2.0-beta-mynewfeature -> v2.0-beta. New branches should be created for each development sprint, and then as soon as they are tested in a branch named something like v2.0-beta-mynewfeature, they can be merged back into their parent branch.

In this hypothetical situation, development commits should not be applied directly to the v2.0-beta branch though. The active development would may be done another v2.0-beta branch. The stable build would probably be part of the master branch. For instance, lets say a development version of an application is being maintained alongside a stable production build. Branches are versitile and can be used for large-scale revisions or for minor bug fixes.
