GitHub

Version control, collaboration, and code management for our robotics team

Version Control with GitHub

Why We Use GitHub

GitHub allows our team to collaborate on code safely. Each team member can work on different runs or features without overwriting others' work.

We use branches for experimental changes and commits to track our progress. This means if something breaks, we can roll back to a working version.

Benefits for Our Team
  • Collaboration:Multiple programmers can work simultaneously
  • History:Every change is documented with commit messages
  • Backup:Code is safely stored in the cloud
  • Testing:We can experiment without breaking working code
  • Learning:We review each other's code and learn better practices
GitHub in Action
GitHub repository screenshot

We organize runs, attachments, and PID tuning experiments with clear commit history and pull requests.

Our Repository Structure

File Organization
📁 robot-code/
📁 runs/
📄 run_a.py
📄 run_b.py
📄 run_c.py
📁 attachments/
📄 starter_attachment.py
📄 mission_specific.py
📁 libraries/
📄 drive_functions.py
📄 pid_controller.py
📄 main.py
Branching Strategy
main: Stable, competition-ready code
development: Integration of new features
feature/run-optimization: Individual feature work
hotfix/pid-tuning: Quick fixes and adjustments

Our GitHub Workflow

1
Create Branch

Start with a descriptive branch name like feature/mission-3-optimization

2
Code & Commit

Make small, focused commits with clear messages describing what changed and why

3
Test & Review

Test code on robot, create pull request, and have teammates review changes

4
Merge & Deploy

After approval, merge to main branch and update robot with latest code

Good Commit Messages
fix: Reduce PID Kp from 1.2 to 1.15 for better stability
• Clear action and specific change
feat: Add new attachment for mission 8 scoring
• Describes new functionality
docs: Update run A with latest path coordinates
• Documentation improvements
Avoid These Messages
fixed stuff
• Too vague, no useful information
WIP
• Unclear what work was done
asdfgh
• No meaning, just random text

Team Collaboration Features

Issues & Projects

Track bugs, plan features, and organize work with GitHub Issues and project boards

Code Reviews

Peer review process ensures quality code and helps team members learn from each other

Branch Protection

Prevent direct pushes to main branch, requiring pull requests and reviews for all changes

150+
Total Commits
23
Pull Requests
8
Active Branches
5
Contributors

Website Deployment with GitHub

GitHub Pages Deployment

We used GitHub Pages to publish our team website, making it accessible to judges, sponsors, and the FLL community. GitHub Pages provided us with free hosting directly from our repository.

Benefits of GitHub Pages:
  • • Free hosting for static websites
  • • Automatic updates when code is pushed
  • • Easy integration with our existing workflow
  • • Professional .github.io subdomain
Custom Domain Setup

After getting started with GitHub Pages, we purchased a custom domain to give our website a more professional appearance and make it easier for people to find and remember.

Domain Migration Process:
1 Started with GitHub Pages (.github.io)
2 Purchased custom domain
3 Updated DNS settings
4 Configured GitHub Pages to use custom domain
This website you're viewing is hosted using GitHub Pages with our custom domain!