Configuring Git for GitHub

Like any other computer, you need to configure Git before you can begin developing software and collaborating on GitHub. This page will get you started.

Setting up Git

At a minimum, configure your name and email. Open a terminal and run:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

You can configure many more aspects of Git. The LSST DM Developer guide has some ideas to get you started. If you’ve already customized a ~/.gitconfig file on your local computer, you might want to copy that over to the ~/.gitconfig on the Notebook Aspect.

Storing GitHub credentials

You can cache your GitHub credentials in the Notebook Aspect so that you don’t have to type in your password each time you git push or work with a private repository.

Open a terminal and run:

git config --global credential.helper store

The next time Git asks for your credentials, it will store them in a ~/.git-credentials file. You can read more about the “store” credential helper in the Git documentation.

Important

If you’ve enabled two-factor authentication for GitHub, you need to use a personal access token instead of your GitHub password.

Follow GitHub’s documentation to create a personal access token.

Tip

Even if you haven’t turned on two-factor authentication, we recommend using a personal access token instead of your password as a security best-practice. That way you can monitor how your token is used and revoke it quickly if necessary.

Git LFS for LSST

The Notebook Aspect includes the Git LFS client.

Git LFS is preconfigured to allow anonymous access to LSST’s Git LFS-backed data repositories (such as https://github.com/lsst/afwdata). Members of the lsst organization on GitHub can set up authenticated Git LFS access to push to LSST’s Git LFS repositories. See the LSST DM Developer Guide for details.