Preparing GitHub for EECS 441 Labs
There are several ways to interact with GitHub. In this course, we will use GitHub Desktop, which provides a visual interface to interact with GitHub and is independent of any IDEs. If you are proficient with git, you don’t have to use GitHub Desktop. However, we can only help with GitHub Desktop, so if you use anything else, you will be on your own.
- If you do not have a GitHub Student account, please get the GitHub Student Developer Pack so that you have access to GitHub Wiki, which you will need for your course project.
GitHub requires a personal access token to use HTTPS git. Please follow GitHub’s instructions to create a classic personal access token. Create a classic personal access token instead of a fine-grained one as students have had problems with the fine-grained access tokens.
- Download and install GitHub Desktop
- Link to your GitHub account: on GitHub Desktop navigate to
Preferences > Accounts > Sign In
. A window will pop up and you can choose between signing in using your browser and signing in using your GitHub username and password
Create your 441
GitHub repo
On your browser, create a new, PRIVATE 441
repo with your GitHub account:
-
In the upper-right corner of your GitHub page, use the drop-down menu labeled
+
, and selectNew repository
(screenshot). -
Name the new repo
441
and set its visibility toPrivate
. -
Check
Add .gitignore
, choose either
Android
(notKotlin
) if you’re developing on Android, orSwift
if you’re developing for iOS.
- Click the big green
Create repository
. (You will be overwriting the.gitignore
later, this is just the simplest way to create a non-empty repo.)
Note: for this and subsequent labs, we will assume your folders/directories are named according to the “canonical” names used in the spec. You can choose a different name other than
441
, but be aware that you’d have to map the names used in the specs to your naming scheme in all labs, for both front and back end.
Please invite eecs441staff@umich.edu
as collaborator to your repo:
- On your GitHub site on your browser, click on
Settings
, the right most menu item (you may have to click on the...
to reveal it). - Click on
Manage access
on the left menu, and click on the big greenInvite a collaborator
button - Enter
eecs441staff@umich.edu
and click the matching name that shows up - Click the big green button,
Add eecs441staff@umich.edu to this repository
If you’re working on the lab as a team, please keep your lab’s solution in ONE member’s 441
git repo ONLY. Invite your team mate to your repo by navigating to Settings > Manage access > Invite a collaborator
as per above and enter your team mate’s GitHub account or UM email address.
Clone your 441
GitHub repo to your laptop
- Navigate to your newly created
441
GitHub repo on your browser - Click on the green
Code
button and selectOpen with GitHub Desktop
- Tell your browser to allow GitHub Desktop to launch
-
In the
Clone a Repository
dialog box that GitHub Desktop pops up, edit theLocal Path
text field to where you want to put your 441 repo on your local host and clickClone
. For example, if you have a folder namecourses
on your home folder, you can enter/Users/yourusername/courses/
or, on Windows,C:\Users\yourusername\courses\
.This will create a new folder under
Local Path
, which we will refer to asYOUR*LABS*FOLDER
. If yourLocal Path
were/Users/yourusername/courses/
as per the above example,YOUR*LABS*FOLDER
will be/Users/yourusername/courses/441/
.
To prepare your git repo:
- Download a copy of the course gitignore and save it in
YOUR*LABS*FOLDER
as.gitignore
(note the leading dot before the filename). If your laptop OS prevents you from saving a file with a leading dot in its name, download the file to yourYOUR*LABS*FOLDER
asgitignore
without the leading dot and then run in Terminal or PowerShell:laptop$ cd YOUR*LABS*FOLDER laptop$ mv gitignore .gitignore
This overwrites the
.gitignore
GitHub added earlier when creating your repo. - Create a sub-folder
YOUR*LABS*FOLDER/chatter
to hold your project files for thechatter
lab. - From GitHub Desktop commit these changes and push them to your
441
repo on GitHub.
Back to: Chatter Kotlin | Chatter Swift |
Resources
Following are some useful resources to familiarize you with GitHub Desktop.
- Activity: Use the GitHub Desktop client
- Git basics
- Connecting your git repository with a remote server
- GitHub Docs
- How to revert a commit
- Understanding and resolving merge conflicts
- Stashing and rebasing
Prepared for EECS 441 by Mark Wassink, Rithika Ganesh, and Sugih Jamin | Last updated: August 25th, 2024 |