GitHub Practices
Learnings from Experience
Overview
●
●
●
●
●
●
GitHub General
Branching
Pull Requests
Continuous Integration (CI) Pipeline
GitHub Project Board
AI Tools and Code Generation
GitHub 2FA
●
●
Everyone must manually turn on 2FA for their GitHub accounts
Settings > Password & authentication > Two-factor authentication
GitHub Basics
●
Source / Version Control
○
○
○
○
●
Keeps tracks of changes
Allows you to ‘go back’
Collaboration features
Cloud backup
Previous methods
○
○
○
X Google Drive or Cloud Storage
X Local Files
X USB Drives
GitHub Basics
Normal Workflow:
●
●
●
Pull
Commit
Push
Advanced:
●
●
Checkout
Rebase
Branching
●
Feature Branches
○
○
○
●
Building something new, create a branch
Merge the branch
Delete the branch
Naming schema suggestions:
○
○
○
○
○
user/feature-name
feature-name
user-feature-name
release-version-v0
issue-123
Pull Requests
●
●
●
Protects the main (master) branch
Ensure that a code review takes place
Keeps the main branch clean
Special Features
●
●
●
Request number of reviewers
Continuous Integration (CI) Checks
Code Management
Live Demo
Continuous Integration (CI) Pipeline
●
●
●
Runs linting (formatting checks) for consistency
Runs general compiler and installation tests for stability
Runs more advanced checks: unit testing
Live Demo
GitHub Project Board
●
●
●
●
Manages the project
Can have automatic workflows built into it.
Can link PRs and commit history more easily to issues
Task tracking
Live Demo
Code Generation and AI Tools
●
●
Can be useful to speed up code
Be careful: not always right
●
●
Chat GPT
GitHub CoPilot