Get to Know GitHub

17 slides with speaker notes. Present opens one slide at a time: arrow keys move, N shows the notes, Esc leaves.

AIMCLEAR · Thursday, October 29

Get to Know GitHub

How GitHub works, and how you work in GitHub.

Timothy Eastvold

Slide 1 · Speaker notes

Quick hello. This is about an hour, and about 15 minutes of it is you doing it yourself, so have a browser handy and make sure you can sign in to GitHub. I’m recording this for anyone who’s out. Not covering the command line, Actions or deployments today. If you want any of that, grab me for a 1:1.

Quick question

Where does your AI work
live right now?

The code, scripts and notes you’ve built with it.
For most of us, the honest answer is “on my laptop.”

Slide 2 · Speaker notes

This came out of the AI/Software Governance meeting on Oct 7. Most of us are building scripts, Apps Script, little HTML tools and prompt files with ChatGPT and Claude now, and almost all of it lives on somebody’s laptop. Laura’s ask was pretty simple: show everyone how GitHub works, then make it where that stuff goes. Nobody here needs to become a developer. You already work in systems with drafts, versions, approvals and rollbacks every day. GitHub is the same idea, just for files.

Why we’re doing this

Five reasons it belongs in GitHub

The team can find it

A backup restores your laptop. It doesn’t help the next person on the account find what you built.

It can be audited

Nobody can check what’s on everyone’s laptops. In AIMCLEAR’s GitHub, it can be checked for security and safety.

A second set of eyes

Before something touches a client account, ask the dev team to look. They see exactly what changed.

Keys get caught

Every upload is scanned for API keys and passwords, so one gets flagged before it’s merged into main.

You can see what changed

When a report suddenly looks off, you see what changed, who changed it and why, and roll it back if needed.

Get to Know GitHub

3

Slide 3 · Speaker notes

Our laptops are backed up, so this isn’t about losing files. It’s about everyone else being able to see and use what you build. The team can find it: a backup gets your laptop back, but it doesn’t help the next person on the account find the tool you built, or even know it exists. It can be audited: nobody can reasonably go through everyone’s laptops checking everything that’s been built for safety. Put it in AIMCLEAR’s GitHub and it can actually be reviewed for security and safety. A second set of eyes: this isn’t a new approval step. It means when you want someone to look before a script touches a client’s ad account or data, you can ask, and they see exactly which lines changed. Drive and Box can tell you a file changed, but not what changed inside a script. Keys get caught: every upload is scanned for API keys and passwords, so a pasted key gets flagged before it’s merged into main. And you can see what changed: when a report suddenly looks off, history shows what changed, who changed it and why, and you can roll it back.

The rule

If you’ve built it and you might use it again, it goes in
AIMCLEAR’s GitHub.

Slide 4 · Speaker notes

This is the rule from leadership, and it’s the one thing I want everyone to walk out with. Everything else today is how.

Sound familiar?

Two problems everyone’s had

Last save wins

Two people edit the same file. Whoever saves last wipes out the other person’s work, and nobody notices until something’s missing.

Which version is this?

campaign_brief.docx

campaign_brief_v2.docx

campaign_brief_v2_FINAL.docx

campaign_brief_v2_REAL_final.docx

GitHub fixes both. There’s one current version, every older one is kept with a note on what changed, and nobody’s work gets saved over.

Get to Know GitHub

5

Slide 5 · Speaker notes

Before the vocabulary, two problems everyone in this room has had. Last save wins: two people are in the same file, and whoever saves last wipes out the other person’s work. Usually nobody notices until something’s missing. And which version is this? We’ve all seen campaign_brief_v2_REAL_final.docx sitting next to campaign_brief_v2_FINAL.docx. GitHub fixes both. Every version is kept with a note on what changed, so there’s only ever one current file. And nobody saves over anybody, because changes get proposed and looked at before they land. We’ll see exactly how in a minute. Hold onto those two problems. Everything on the next few slides is how GitHub solves them.

If you’ve worked in Google Docs

You already know most of this

Repo

A shared Drive folder for one project, with every version kept.

Branch

Making a copy to work in, so the original stays untouched.

Commit

A named version in version history, with a note on what changed.

Pull request

Suggesting mode. Someone sees exactly what changed before it’s accepted.

mainbranch: make a copycommits: named versionspull request: suggestnext: review and merge

Get to Know GitHub

6

Slide 6 · Speaker notes

If you’ve worked in Google Docs, you already get most of this. A repo is a shared Drive folder for one project, with every version kept. A branch is making a copy to work in, so the original stays untouched. A commit is a named version in version history, with a note on what changed, and small and often beats one giant save at the end. A pull request is suggesting mode: you’re asking to merge your branch into main, and someone sees exactly what changed before it’s accepted. The strip along the bottom is that first half: branch off main, save a few commits, open the pull request. The next slide finishes it.

If you’ve worked in Google Docs

The rest works the same way

Review

An approval round. Comments on specific lines, then approve.

Merge

Accepting the suggestions. Your changes are now in main.

Main

The approved, final version. Changes get there through a PR.

Issue

A ticket stuck to the repo. Think ClickUp task.

mainbranchcommitsreview: approvemerge: accept into main

Get to Know GitHub

7

Slide 7 · Speaker notes

Same idea for the back half. Review is an approval round, with comments on specific lines. Merge is accepting the suggestions. Main is the approved, final version. An AIMCLEAR org rule protects it, so changes come in through a pull request. An issue is a ticket that lives with the code, basically a ClickUp task stuck to the repo. The strip along the bottom picks up where the last slide left off: the pull request gets reviewed and approved, then merged back into main.

The vocabulary

That’s the whole loop

Branch

Your own copy to work in. Main stays untouched.

Commit

Save a version with a short note on what changed.

Pull request

Ask to merge your branch. Someone sees exactly what changed.

Same loop whether you click through it yourself or Claude does it for you.

Merge

Your changes are live in main. Start the next branch from here.

Review

A second set of eyes. Comments on specific lines, then approve.

Get to Know GitHub

8

Slide 8 · Speaker notes

Branch, commit, pull request, review, merge. That’s the whole loop, and it’s the same loop whether you click through it yourself or Claude does it for you. Next I’ll run it once in the browser so you can see it.

Demo · 9 minutes

Watch it once, in the browser

  1. A tour of the repo: files, the README, who changed what last
  2. A file’s History: every version of it
  3. An edit with the pencil icon
  4. A commit to a new branch, with a short note
  5. A pull request with a description and a reviewer
  6. Files changed: red came out, green went in
  7. A comment on one line, an approval, a merge
  8. Add file, then Upload files, for something already on a laptop

Get to Know GitHub

9

Slide 9 · Speaker notes

Share screen in the practice repo and run the loop once. As you click each step, name it out loud: that’s the branch, that’s the commit, that’s the pull request. That way the words from the Google Docs slides land on something real. Tour the repo: files, the README, who changed what last. Open a file and hit History to see every version of it. Edit it with the pencil icon. Commit changes, write a short note, pick Create a new branch for this commit and start a pull request, then Propose changes. Create the pull request, write a description, and pick a reviewer from Reviewers on the right. A dev team helper is on deck to approve it, so there’s no switching accounts. Files changed tab: red is what came out, green is what went in. Leave a comment on a line, the helper approves with Submit review, then resolve the comment and merge. Last, Add file then Upload files, for something that already lives on your laptop. Three things to point out as they happen: main is protected by an AIMCLEAR org rule, so GitHub won’t let you commit straight to it and offers a new branch for you. You can’t approve your own PR, so someone else has to. And an open comment has to be resolved before Merge unlocks. If the live demo misbehaves, the backup recording is github_training_pr_loop_demo.gif in your Downloads folder, and the real example is PR #2 in aimclear/TimothyEastvold.

Get to Know GitHub

10

Hands-on · 15 minutes, in pairs

Your turn: open a pull request

  1. Everyone, open the shared practice repo: github.com/aimclear/github-practice
  2. Add file, then Create new file: people/firstname-lastinitial.md
  3. Three lines: your name, your team, one script or AI tool you’ve built or want to
  4. Commit changes, new branch: add-firstname-lastinitial, then Propose changes
  5. Create the pull request and pick your partner under Reviewers
  6. Review your partner’s: one comment, then approve. Don’t merge.
  7. Watch a few get merged live

Done early?

Make your own repo: open github.com/aimclear/employee-repo-template, hit Use this template and set Owner to AIMCLEAR. Then upload a script you’ve already checked for keys into scripts/ on a new branch.

The template brings the Gitleaks check along, so every upload gets scanned for keys and passwords.

Slide 10 · Speaker notes

Pairs are posted in the Meet chat, and I’ll post them again right now for anyone who joined late. If you can’t get into the repo, your partner shares their screen and drives, and you follow along. A couple of dev team folks are hanging out in the chat for anyone who gets stuck. Everyone: open the shared practice repo, github.com/aimclear/github-practice. The link is in the chat too. It’s one repo for the whole group, so you can review each other’s PRs, and your own repo comes after. Then Add file, Create new file, name it people/ plus your first name and last initial, like people/laura-w.md. We have two Lauras and two Joes, so the initial keeps names from colliding. Three lines: your name, your team, and one script or AI tool you’ve built or want to build. Commit changes, choose Create a new branch for this commit and start a pull request, call it add-firstname-lastinitial, then Propose changes and Create pull request. Pick your partner under Reviewers on the right. Then review your partner’s: Files changed, leave one comment, then Submit review with Approve. Don’t click Merge. I’ll merge a few live so everyone sees it land. If the check says Waiting for a runner, keep going, I’ll merge after. Hard stop at 37 minutes in. Done early? Make your own repo from AIMCLEAR’s template at github.com/aimclear/employee-repo-template. Hit the green Use this template button, choose Create a new repository, and set Owner to AIMCLEAR. Then upload a script from your laptop that you’ve already checked for keys, on a new branch, and open a PR for it. The template brings the Gitleaks check along, so every upload gets scanned for keys and passwords. If it flags something, stop and ask the dev team.

Safety basics

Three things that never go in GitHub

Passwords, keys, tokens

Use a placeholder like YOUR_API_KEY_HERE. Real keys live in LastPass, or ask the dev team.

Client data

Exports, customer lists, emails, ad account data. Test with dummy data instead.

Personal stuff

Your own logins. Private details about someone, like HR, health or home addresses.

Get to Know GitHub

11

Slide 11 · Speaker notes

Never commit passwords, API keys or tokens. Use a placeholder like YOUR_API_KEY_HERE. Real keys go in LastPass, or ask the dev team where they belong. No client data: exports, customer lists, emails, ad account data. Test with dummy data, like the alias account from the governance meeting. And no personal stuff: your own logins, or private details about someone, like HR, health or home addresses. Notes on client work are fine.

Committed a secret anyway?

Tell the dev team right away.

Nobody’s going to be mad. Deleting the file doesn’t fix it, because Git keeps every version, so the key has to be rotated: the old one gets turned off and a new one is made. It happens, we’ve all done it. We fix it and move on.

Slide 12 · Speaker notes

If you commit a secret anyway, tell the dev team right away. Nobody’s going to be mad, we just need to move fast. Deleting the file doesn’t fix it. Git keeps every version, so the key has to be rotated, which means the old one gets turned off and a new one is made. It happens, we’ve all done it. We fix it and move on.

Get to Know GitHub

13

Making your own repo

Start from our template, then make three choices

Open github.com/aimclear/employee-repo-template, hit the green Use this template button, then Create a new repository.

1

Owner: AIMCLEAR

Not your personal account. In AIMCLEAR’s GitHub, your work can be found and audited.

2

Visibility: Private

Public means anyone on the internet. Nothing gets set to public.

3

What goes in: your stuff

Stuff you built with AI. Not code you found online and want to try.

Create a new repository

Template: aimclear/employee-repo-template

Owner

AIMCLEAR ▾

Repository name

yourname-scripts

○ Public

● Private

Create repository

Slide 13 · Speaker notes

To make your own repo, open AIMCLEAR’s template at github.com/aimclear/employee-repo-template. It’s a different repo from the practice one we just used, and it’s there so everyone starts from the same setup. Hit the green Use this template button, then Create a new repository. Starting from the template brings the Gitleaks check along, which scans every upload for keys and passwords. Main’s protection comes from an AIMCLEAR org rule, so you don’t set that up yourself. After that, there are really only three choices that matter, and they’re all on that first screen. Owner: pick AIMCLEAR from the dropdown, not your personal account. Stuff on laptops can’t be audited, but stuff in AIMCLEAR’s GitHub can, and the team can find it. Visibility: Private. Public means anyone on the internet can read it, so nothing gets flipped to public without asking first. And what goes in is your stuff, the stuff you built with AI. Don’t download something you found online and run it. New tools get approved first, per the new software policy.

GitHub Desktop

Same loop, from a folder on your laptop

1

Clone your repo. That downloads a copy that stays linked, as a normal folder you can open and save into.

2

Make a branch, then work. Desktop’s Changes tab shows red out, green in.

3

Commit, then Push origin. Origin is the copy on GitHub. Gitleaks checks every push there, and on your laptop it catches keys before they leave.

4

Preview Pull Request. Then it’s the same review and merge we just did.

Current Repository

yourname-scripts

Current Branch

add-report-script

1 commit to push

Push origin

Changes 1

History

☑ scripts/report.gs

Add weekly report script

Description

Commit to add-report-script

function weeklyReport() {

- const range = 'A1:D50';

+ const range = 'A1:F200';

+ const sheet = 'Weekly';

sendSummary(range);

}

Get to Know GitHub

14

Slide 14 · Speaker notes

Slide walk only, no live demo, about two minutes. If you’d rather not do this in the browser, GitHub Desktop is the same loop as an app on your laptop, for Windows or Mac. You sign in with your GitHub account and clone your repo, which downloads a copy that stays linked to GitHub, as a normal folder. Before you change anything, pick or make a branch from Current Branch. Then open and save files in it like you do anything else. When you come back to Desktop, the Changes tab shows exactly what’s different, red out and green in. Write a short summary, hit Commit, then Push origin. Origin just means the copy on GitHub. Gitleaks runs on GitHub for every push, so there’s always a check on our side. The better habit is having it on your laptop too, because then it runs every time you commit from Desktop and catches a key before it ever leaves your machine. That setup happens once per laptop, since the template can’t install it for you, and the dev team can help. Make sure Desktop is on version 3.5.5 or newer so it runs. Desktop has a Bypass Commit Hooks option. Don’t use it. When you’re ready, Preview Pull Request and finish it on GitHub, same review and merge as before. This is what Claude Desktop and Claude Code are doing under the hood too, which is next.

Letting Claude drive

Claude can do every step. Tell it what you’re aiming for.

“Save this script to my repo on a new branch and open a PR for review.”

“Before you commit anything, check it for API keys, passwords or client data.”

“Write a README for this: what it does, how to run it, who owns it.”

“What changed in this repo since last week?”

Claude opens the pull request. Add a note on what the script is for, and someone on the dev team will review it.

Get to Know GitHub

15

Slide 15 · Speaker notes

Most of you are in Claude Desktop or Claude Code every day already, and that’s probably how a lot of this will actually happen. Claude knows how to do every step we just did: branches, commits, PRs, all of it. What it needs from you is what you’re aiming for. Show the pre-recorded clip of Claude taking a script and one of these prompts, then look at the PR it opened together. If there’s time, run one live. Why we did it by hand first: it helps to know what Claude is doing for you. When it opens a PR, you don’t need to judge the code yourself. Add a quick note on what the script is for, and someone on the dev team reviews it. If Claude can’t reach GitHub from your machine, ping me and we’ll get you set up.

Before you go

If you’ve built it and might use it again, it goes in AIMCLEAR’s GitHub.

Your homework

Hit Use this template on github.com/aimclear/employee-repo-template, make your own repo under AIMCLEAR, and move everything you still use into it by [date].

Stuck?

Email me at timothy@aimclear.com, or grab anyone on the dev team. No question is too basic.

Want more?

Grab time with me for the command line, Actions, or getting Claude Code working with GitHub.

Get to Know GitHub

16

Slide 16 · Speaker notes

The rule one more time: if you’ve built it and might use it again, it goes in AIMCLEAR’s GitHub. Your homework is to hit Use this template on github.com/aimclear/employee-repo-template, make your own repo under AIMCLEAR, and move everything you’ve built that you still use into it by [date]. If you get stuck, email me at timothy@aimclear.com or grab anyone on the dev team. I’m happy to field them, and no question is too basic. Two things you already saw today have names, if you want to look them up later. Actions are automatic checks, like Gitleaks scanning every upload. Branch protection is why main wouldn’t take a direct edit in the demo. The template brings the Gitleaks check, and an AIMCLEAR org rule protects main, so you don’t set either up yourself. Anyone who wants the command line, more on Actions, or help getting Claude Code working with GitHub, grab time with me.

Questions?

Timothy Eastvold · Full-Stack Web Development Manager

Slide 17 · Speaker notes

Open floor.