# Getting Started with `git` and GitHub

We use the `git` version control system and the GitHub web interface to manage
version control.

To get started, follow the steps outlined by the chapters in @bryan22_happy. In particular, 

* Register a GitHub account (The Lab @ DC requests that you make a separate account from any person GitHub account you may have.)
* Update R and RStudio (if you will use R, or use RStudio for interacting with `git` regardless of whether you use R)
* Install `git`
* Introduce yourself to `git`

You are basically ready, but press on. First, simplify interacting with `git`, so that you
don't have to enter your password every time you make a commit or fetch remote
code. 

* Set up a PAT or SSH key. GitHub provides [advice](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) about managing your secure keys, using "fine-grained" (repo-specific) keys, etc.

* Add a copy of your key to your Lab LastPass account.

Then, practice making a repo in the chapter "Connect to GitHub".

At The Lab, we

* do not store sensitive data on GitHub.

We have a few template repositories:

* The data science team's current [template](https://github.com/thelabdc/dsProjectTemplate)
* A simple, not-organized-by-project-phase one [here](https://github.com/thelabdc/Template)
* An older (out of date?) [one](https://github.com/thelabdc/LAB-PythonProjectTemplate)