Git#
Git is software that tracks and manages the history of code changes (version control). Git is the software underlying Github, which is an online platform that hosts code repositories tracked by Git. Git and Github, or similar software and hosting service, are essential to the sharing and collaborative development of code.
Resources#
Linked below are several excellent detailed descriptions and tutorials on the building blocks of Git, including workflows for practical application. Want more? A simple internet search for “Git basics” will turn up more than you care to count.
Concepts#
Pro Git Book by Scott Chacon and Ben Straub. Comprehensive concepts, with tutorials.
Tutorials#
Our own GitHub Desktop GUI tutorial - an introductory, step by step, overview of basic git functionality using GitHub Desktop (applicable to any GUI git application)
Git tutorial for novices from Software Carpentry
Also see the main Lessons page at Software Carpentry for many other tutorials
Happy Git and GitHub for the useR from Jenny Bryan (for use with RStudio)
Gitignore#
Gitignore generator - a website to generate .gitignore files for your project from templates based on language, OS, project framework, etc. If you provide multiple templates, it will generate a single .gitignore file that combines them.
A brief explanation of .gitignore for RStudio
Python gitignore - a sample .gitignore file for Python projects
Advanced topics#
Pre-commit: git commit hook manager