What are Git, GitHub, and GitHub classroom?
Git is a free and open source distributed version control system designed to track and manage changes to software code over time.
GitHub is a code hosting platform for version control and collaboration.
GitHub classroom is a tool that lets educators create and manage classroom assignments and submissions using GitHub.
I’m new GitHub where can I find help and resources on campus?
Every semester, we run a workshop on GitHub for introductory Software Engineering courses. You should attend a workshop or watch a previous one here:
I keep getting authentication failed errors as the ones listed below. What should I do?
“remote: Invalid username or password. fatal: Authentication failed”?
“remote: Support for password authentication was removed on August 13, 2021. … fatal: Authentication failed.”"
Whenever you run the commands push/pull/fetch/clone to a remote repository on GitHub, git needs to authenticate with GitHub. By default, git will ask for your username and password. You can’t use your GitHub password to authenticate git as GitHub will prevent you from doing so for security reasons. You need to generate a personal access token (think an application specific password for git only) as described below.
Generate a new personal access token
Log onto your Github.com, click on your profile picture, and .
On the settings page, click on “Developer Settings”.
- Click on Personal access tokens (classic)
Click on Generate new token -> Generate new token (classic)
Select an expiration date and the repo scope. Scroll to the bottom and click on Generate token
Copy the generated personal access code.
Run any
git
command that requires authentication and paste the personal access token when prompted to enter your password.
git fetch origin main
Username for 'https://github.com': YOUR_USER_NAME
Password for 'https://username@github.com': PASTE_ACCESS_TOKEN_HERE
- Caching your GitHub credentials in Git
- If you’re on Windows and have Git for Windows installed, then your personal access token should be stored using Git Credential Manager (GCM). The next time you clone an HTTPS URL that requires authentication, Git will prompt you to log in using a browser window, and GCM will store it locally on your device. For more information, see Caching your GitHub credentials in Git.
- If you’re on macOS, you should add the personal access token to your keychain. For more information, please refer to this article from the GitHub documentation..
If I have a question on a lab or ran into a problem with using GitHub classroom, whom should I ask?
You should reach out to your lab instructor.