Skip to content

All our projects live on GitHub. If you don’t have an account, make one first.

Some of us use the command line, some use GitHub Desktop. Both work fine.

  • If you’re using the CLI, make sure you’re authenticated with a Personal Access Token (PAT).
  • If you prefer a GUI, download GitHub Desktop.

Never commit directly to main or master. Always branch off:

Terminal window
# Create a new branch for your feature or fix
git switch -c your-feature-name

Branch naming convention:

feature-name → new features

fix/bug-name → bug fixes

cleanup-name → maintenance and refactors

Once you’ve wrapped up your work on the feature branch, push it to origin:

Terminal window
git push origin feature-name

Then go to the repository on GitHub. You’ll see a prompt to open a pull request. Click Compare & pull request, add a name and description, and submit.

Pull Request

Tag teammates as reviewers using the Reviewers section in the PR sidebar. If your code isn’t ready but you want early feedback, open it as a Draft Pull Request.

Review

Once it’s approved and checks pass, choose a merge strategy:

  1. Squash & merge (preferred for small changes)

  2. Rebase & merge

  3. Merge commit (for larger features with multiple commits)

Merging

After merging, delete the branch.

Use this when publishing a clean package or template. This is irreversible.

Terminal window
# Clone the repo (skip if you've already got a cloned repo)
git clone git@github.com:USERNAME/REPOSITORY.git
cd REPOSITORY
# Remove all existing Git history
rm -rf .git
# Create a new local repo
git init
## If your default branch is master, switch to main
git branch -M main
# Stage and commit everything
git add .
git commit -m "First commit"
# Force push — this permanently erases history on GitHub
git remote add origin git@github.com:USERNAME/REPOSITORY.git
git push -u --force origin main

Warning: This is irreversible. Only do this for publishing clean packages or templates.

To avoid conflicts, regularly sync with main:

Terminal window
# Pull the latest changes into your branch
git fetch origin
git rebase origin/main

If you’re working from a fork:

Terminal window
git remote add upstream git@github.com:ORIGINAL_OWNER/REPO.git
git fetch upstream
git rebase upstream/main