Happy Git provides opinionated instructions on how to:
Install Git and get it working smoothly with GitHub, in the shell and in the RStudio IDE. Develop a few key workflows that cover your most common tasks. Integrate Git and GitHub into your daily work with R and R Markdown. The target reader is someone who uses R for data analysis or who works on R packages, although some of the content may be useful to those working in adjacent areas.
The first two parts, Installation and Connect Git, GitHub, RStudio, provide a “batteries included” quick start to verify your setup.
In Early GitHub Wins, we rack up some early success with the basic workflows that are necessary to get your work onto GitHub. We also show the special synergy between R/R Markdown/RStudio and GitHub, which provides a powerful demonstration of why all this setup is worthwhile.
The use of Git/GitHub in data science has a slightly different vibe from that of pure software develoment, due to differences in the user’s context and objective. Happy Git aims to complement existing, general Git resources by highlighting the most rewarding usage patterns for data science. This perspective on the Git landscape is presented in Basic Git Concepts and Daily Workflows.
Have you worked with large spreadsheets in the past? Have you faced the frustration when you had a breakthrough but forgot to save your work and the file crashed? Have you dedicated yourself to saving new versions of your work everyday or with V1, V2, V3?
I've done all of that and am still not always confident I can prevent the situation of losing my work. Even in my R files, I find that with increasing lines of code, it becomes hard to keep track even with a well defined version control system. The turning point was when I broke my code and could not figure out how to fix it and being super angry with myself for making the mistake.
Recently I've started looking into git to solve my version control issues. It may seem foreign to non-coders and to a business person like it was like why bother? Little did I know how useful and how easy it is to commit, push and pull your repo.