This repository contains:
- A template kit mouse project with KiCad
- Short installation guide for the overall project
- Helpful Git Commands
Important
Contents here are summarized from IEEE@UCI Micromouse Website. More details of the tools installed will be under "Modules" and "Lectures."
Note
All teamates should install the same version of KiCad, preferably the newest stable release here: https://www.kicad.org/download/. Files modified from newer versions can no longer be read by older versions.
The installation guide will be using KiCad ver. 10.5
Windows
- Download and Launch the installer: https://www.kicad.org/download/windows/
-
Select Next 2 times, and give permissions to the installer.
-
At "Choose Components," make sure all check boxes are selected (should be default)
- Select Next, and then install.
macOS
-
Download the installer: https://www.kicad.org/download/macos/
-
Double-click
kicad-unified-universal-#.#.#.dmgfile in finder
- Click and drag the
KiCad.appto Application folder.
- Close the window, and Eject the
.dmgfile from Finder.
Linux
Install as an AppImage or use your desired package manager.[!NOTE] KiCad does not support Wayland, but the AppImage version defaults to Wayland instead of Xwayland under GTK3. Installing via PPAs instead defaults to Xwayland, likely bringing graphical bugs.
Check if Git is installed with this command:
git --versionIf git is missing, here are official steps in installing Git, and a recommended step-by-step installation will be provided below.
Windows
- Install Git for Windows from this link: https://git-scm.com/install/windows.
- After installing the executable, give the installer permissions.
- Select Next 4 times, and reach "Choosing the default editor used by Git"
Choose your favorite editor, and after setup you can still change the default editor with this command:
git config --global core.editor "editor-name"- Select Next to "Adjusting the name of the initial branch in new repositories"
- Use default branch name as
main, since GitHub defaults tomainas well.
- Keep selecting Next and finish installing.
macOS
Install Xcode Command Line Tools from Apple for git and other tools:
xcode-select --install... and more info about what is downloaded is here.
If you prefer installing ONLY git with homebrew, here is the command:
brew install gitLinux
Install git with package manager or build from source,
as seen from this site: https://git-scm.com/install/linux.
After installing git, you need to configure a few things before being able to edit your remote repositories on GitHub.
Note
If Authentication is via GitHub Desktop, Git environment (in cli) does not also get authentication.
GitHub Desktop
Source:-
Install and Run GitHub Desktop: https://desktop.github.com/download/
-
Login or Create your GitHub account, and authorize access:
- Setup your Git Username and Email
- Select "Configure Manually" if
user.emailanduser.namehave been setup before
- Select "Configure Manually" if
GitHub CLI
Source:
- https://cli.github.com/manual/gh_auth_login
- https://docs.github.com/en/github-cli/github-cli/quickstart#prerequisites
- Install GitHub CLI with this link: https://cli.github.com/
- Follow the prompts below:
- Authentication with HTTPS, so authentication automatically used for HTTPS repo clones
.gitconfigwill be modified
Personal Access Tokens
For a GUI experience, try out these software:
- Connecting GitHub to VS Code, and utilizing Source Control
GitHub Desktop
- At the top of this page, click the green button labled <> Code
- Then select Open with GitHub Desktop
- Choose where the local Clone Repo location, and then press Clone
On Terminal
Source: https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository.
- At the top of this page, click the green button labled <> Code
- Copy the clone link as HTTPS
-
Open your terminal, change directory to somewhere you want to put your local repository in.
-
Type
git clone, then paste and run the command:
$ git clone https://github.com/Maahi-V/26-27-UCI-Kit-Micromouse.git
> Cloning into '26-27-UCI-Kit-Micromouse'...
> remote: Enumerating objects: 135, done.
> remote: Counting objects: 100% (135/135), done.
> remote: Compressing objects: 100% (78/78), done.
> remote: Total 135 (delta 69), reused 118 (delta 52), pack-reused 0 (from 0)
> Receiving objects: 100% (135/135), 3.28 MiB | 12.25 MiB/s, done.
> Resolving deltas: 100% (69/69), done.GitHub Desktop
- Find you local git repository in your file manager, and make sure you
have hidden files enabled
- Windows: In File Explorer, go to View -> Show -> Hidden Items
- macOS: In finder, use
Cmd + Shift + .to show hidden files
-
Delete the
.gitfolder (contains the local repo edit history) and revert the local repository back to a normal folder- After cloning the repository, it still has commits made by other people. To start fresh, these commits needs to be deleted
-
GitHub Desktop should now have an error popup, and "Remove" this repo to stop tracking it
- Select Add an Existing Repository from your Local Drive...
- Find the location of the local repo (default location is
~/Documents/GitHub/), and press Add Repository
- Now select create a repository
- GitHub Desktop automatically fills out everything required. Keep everything as default and select Create Repository
- After creation, GitHub Desktop would automatically create a commit. Select the Publish repository to create a new remote repo
- Insert a name and description of the project, and select Publish Repository
- Now you can view your repository on browser as well
With `github.com` and Terminal
- Go to your GitHub Dashboard (at https://github.com/ and login), and press the + button, then New repository
- Configure your repository to whatever you like, just make sure
these 2 settings are set (since cloned repo already has a README
and
.gitignoreconfigured)
- Now you should see Quick Setup, but the local repository needs to be modified a bit before being pushed to the remote server.
- Go back to your local git repository, and make sure you have
hidden files enabled
- Windows: In File Explorer, go to View -> Show -> Hidden Items
- macOS: In finder, use
Cmd + Shift + .to show hidden files
-
Delete the
.gitfolder (contains the local repo edit history) and revert the local repository back to a normal folder- After cloning the repository, it still has commits made by other people. To start fresh, these commits needs to be deleted
-
Copy-paste this command to create a new local git repository:
git init
git add -A
git commit -m "First Commit"
- Then go back to GitHub, and copy-paste the commands under …or push an existing repository from the command line
- Reload the GitHub page, and your remote repository should now show up
Tip
Update and personalize this README page! Feel free to edit/replace the README.md to be about your project instead.
When sharing edits to other teamates, users have to use git push
push/share their local edits to the remote repository.
Teamates then need to use git pull to obtain
the new edits to their local repository.
The example below has the following local edits:
README.mdfile modified- New file
temp.txt
When pushing edits to the remote server, you can control what remote file gets updated by staging the local files you want to be updated.
In this example ONLY the README.md edits are shared,
and temp.txt is not shared.
GitHub Desktop
1. GitHub Desktop should have an overview of the local edits made.Here is README.md
... and here is temp.txt
- Only the
README.mdfile should get updated, so unstagetemp.txtby unchecking this box at the left
The bottom Commit 2 files to main button should now change to Commit 1 file to main instead
- Write a Commit Message and Description, and press Commit 1 file to main
to create a new commit
- Commits are saved as an edit history
- Use commits as a checkpoint completed, and to organize the work you made
- This commit is only recorded locally
- Commit Summary: Write a concise change made, and easy to understand
- If needed, add more details in Commit Description
Edits from temp.txt has not been recorded/commit, so GitHub Desktop
still display the file
- Now push your local commits to origin (the remote server)
- Recommended to push multiple commits at once, instead of commit once then immediately push.
- It is easier to fix mistakes in local commits that are not pushed yet, or to squash multiple local commits into one for a cleaner commit history
On Terminal
- Check overall status of the local repo with
git status
- Modified File: File already on remote server, but locally is edited
- Untracked files: New file not tracked by remote server
$ git status
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
temp.txt
no changes added to commit (use "git add" and/or "git commit -a")
- Only stage
README.mdwithgit add <file>
- Also you can stage all files with
git add -A
$ git add README.md
$ git status
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: README.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
temp.txt
- Create a commit with
git commit, and use-mto append the commit message
$ git commit -m "Modified README.md"
[main 7311eae] Modified README.md
1 file changed, 1 insertion(+)
Now local repo should be ahead of origin/main (since local repo has newer commits than remote repo),
and temp.txt is not included in the commit
$ git status
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
(use "git push" to publish your local commits)
Untracked files:
(use "git add <file>..." to include in what will be committed)
temp.txt
nothing added to commit but untracked files present (use "git add" to track)
$ git whatchanged
commit 7311eae2b4a877c8229590e44fe4e0f08f418967 (HEAD -> main)
Author: Justin Chen <justin7.chen@gmail.com>
Date: Mon Sep 28 00:05:22 2026 -0700
Modified README.md
:100644 100644 404fe81 91129e9 M README.md
- Now push your local edits to remote server with
git push
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 279 bytes | 279.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/hippoBus/testin.git
0ab9dcf..7311eae main -> main
GitHub Desktop
- If available, select Fetch Origin to check if there are any new remote edits
- Detected that the remote repository is updated, button becomes Pull Origin
- Now the local repository is updated. Check History to see what edits are made
On Terminal
- Check if there are any remote changes with
git fetch
- No changes,
git fetchresults without any output
$ git fetch
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 908 bytes | 151.00 KiB/s, done.
From https://github.com/hippoBus/testin
7311eae..97050af main -> origin/main
- Obtain new changes and rebase to edits in
origin/mainwithgit pull
$ git pull
Updating 7311eae..97050af
Fast-forward
README.md | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
For more details, use the man git command or use the official
documentation: https://git-scm.com/docs.