12.3 Git integration

12.3.1 With RStudio

In our case we are interested in how to use GitHub with RStudio, and how to set it up in a new project.

There are two ways for setting up a project which is linked with a version control software support system, such as GitHub.

The experience in using version controls with RStudio would be very beneficial.

12.3.2 As part of a larger world

12.3.3 About git-flow

What is a git flow ? It is intended as the Git workflow, and it relates with differentiating the use of the main branch with the developer (dev) branch which is the “working in progress”.

While the team merge/pull requests (MR/PR) to dev from a feature branch

Branches:

  • main

  • dev

  • feature branch (any given name)

  • hot fix (to correct a critical issue in main)

7 Steps of a software engineer daily work flow:

  1. Identify an issue to work on
  2. Fork dev into issue-XXX
  3. Develop a feature inside the branch.
  4. Regularly run git stash, git rebase dev, and git stash apply to include the latest changes from dev to stay synchronized with dev.
  5. Make a pull request to dev so that the feature is included.
  6. Once the PR is accepted by the project manager, notify the rest of the team that there have been changes to dev, so they can rebase it to the branch they are working on.
  7. Start working on a new feature.