Table of Contents | ||||
---|---|---|---|---|
|
Info |
---|
If you are to be working on the Data & Controls team, please use this Google Form to request GitHub Access: https://forms.gle/J718HJVWyPdvwXKL8GitHub Basics |
Setting Up Git
Install Git
Note Git is already installed on macOS
(non-WSL) Make sure you install Git Bash along with your installation, and leave everything else default
(WSL) from WSL:
sudo apt install git
If you’re already using Linux I bet you know what Git is
For Ubuntu, run
apt-get install git
For Arch Linux, run
pacman -S git
Set up SSH tokens (do this from WSL if using WSL)
First, run
ssh-keygen
...
https://docs.google.com/presentation/d/1nP5Vv7l6QYHc8TWUuZY0myEYg0Z-PVdtihv1m5gr7Eo/edit?usp=sharing
...
in a terminal anywhere, and just leave everything default by pressing enter
Navigate to
~/.ssh/
and openid_ed25519.pub
orid_rsa.pub
in a text editorThis is a hidden directory, so on Windows you might need to enable hidden folders if in GUI. Note on WSL this is File Explorer → Linux → Ubuntu → home → your name → .ssh → id_rsa.pub
To open from terminal if you have VSCode installed, run
code ~/.ssh/id_ed25519.pub
Copy the ssh key listed in this file into your GitHub’s SSH keys here
If you have multiple machines, you’ll need to do this for each machine (i.e. dual booting or using a VM)
Run these two commands to save your GitHub credentials, but put in your own credentials (from WSL if using WSL)
Code Block $ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com
View the Git 101 Presentation below if you’re not familiar with Git
Widget Connector | ||
---|---|---|
|
Getting Up to Speed with the NER GitHub
Info |
---|
You might need to get added to it, so either fill out the form at the top of the page or talk to your lead/head about getting access |
...
Upon loading the page, you’ll be presented with a bunch of repos that NER uses. Here are some of the big ones for engineering:
Cerberus
Embedded_Code
Contains all the embedded code we use on the car for controls and telemetry
NERduino
Contains a base library for controlling the NERduino board
Is a dependency for a few repos
Schematics22A
Contains all the KiCAD schematics for 22A
Telemetry-Hub
Contains the codebase for the Telemetry Hub Python GUI application
shepherd_bms
Contains the code for shepherd_bms controls and testing
shepherd_bms
andShepherdBMS-2
Ner_Processing
Odyssey
Finishline
LVEmbedded22
Schematics22A
Now let’s say you actually want to contribute, so you’ll want to clone whatever repository you're going to be working in. I want to clone the Embedded_Code
Cerberus
repo, I'd go into that repo, click on the green "Code" button above the file structure in the repository and copy the link, so it would be
git clone git@github.com:Northeastern-Electric-Racing/Embedded_CodeCerberus.git
Info |
---|
Remember:
|
...