GitHub is a programing organization tool that not only can store all your programs nicely but allow you to collaborate with others on the same “repository” (or 304/314 project folder in layman’s terms).
In this video, you will be walked through how to set up a GitHub repository for your team, how to set up individual branches for each team member, and how to utilize GitHub to easily contribute changes you make to a file on your computer through the app, and then online to the main branch. While the video works with an Arduino file and IDE, GitHub can also manage C/C++ files and work with the PSoC and MPLAB IDE’s as well. All that matters is that you are editing the files located in your local “GitHub” folder, which is linked to the GitHub Desktop app on it’s own. Editing files outside the GitHub folder linked to the desktop app cannot be pushed through the app to the online repository.
As mentioned in the video, GitHub can be a weird transition and hard to follow. Always reach out for help from the teaching staff if you need it, and feel free to YouTube videos on how to use GitHub. Good luck!

Git moves data between four distinct stages. Refer to your diagram to see how these commands act as the “transport” system:
git add to tell Git, “I want these specific changes to be in my next snapshot.”git commit, Git saves a permanent snapshot of your staged files here.git push to share your local work or git pull to grab others’ work.While they are often mentioned together, they serve very different purposes in your development workflow.
When you use the command git push origin main, you are telling the Git software on your computer to send your local snapshots up to the GitHub servers. This bridges the gap between your private work and the public (or shared) project.