Welcome to the GitHub Basics Bootcamp. This repo teaches GitHub fundamentals through hands-on tasks that you complete in your own fork. Track completion by checking off items manually in PROGRESS.md.
- You fork this repo to your personal account or an organization.
- You complete tasks in order (A through L).
- You manually check off each task in
PROGRESS.md.
- Click Fork on the top right of this repo.
- Select your personal account as the destination.
- Set the fork visibility to Public (this is required for the bootcamp).
- Click Fork and choose your organization.
- Set the fork visibility to Public (this is required for the bootcamp).
- Ask an org owner to allow forking if required.
Each task has a short lesson in the lessons/ folder. Read them as you go.
Use this as a map while you work through the tasks.
lessons/- Short explanations for each task (A-L). Open the matching lesson right before you do that step.conflict-exercise/- Files used only for the merge conflict practice (task I). Open this folder when you reach the conflict step.PROGRESS.md- Your checklist. Check this after each task to record completion.
Complete these in order. Each step includes:
- Commands to run
- What to click in GitHub
- What you should observe
- Which checkbox to check manually
Commands:
- None
GitHub UI:
- Click Fork on the upstream repo
Observe:
- You now own a fork under your account or organization
Manual check:
- Check off item A in
PROGRESS.md
Commands:
# Replace URL with your fork URL
git clone https://github.com/YOUR-USER-OR-ORG/github-basics-bootcamp.git
cd github-basics-bootcampGitHub Desktop:
- On your fork, click Code > Open with GitHub Desktop (or use File > Clone repository in the app)
- Choose a local path and click Clone
GitHub UI:
- Click the Code button and copy the HTTPS URL
Observe:
- A new
github-basics-bootcampfolder exists locally
Manual check:
- Check off item B in
PROGRESS.md
Commands:
git checkout -b feature/first-changeGitHub Desktop:
- Click Current Branch > New Branch
- Name it
feature/first-changeand create it
GitHub UI:
- No UI action required
Observe:
git statusshows you are onfeature/first-change
Manual check:
- Check off item C in
PROGRESS.md
Commands:
# Edit any file, for example lessons/C-branch.md
# Then commit
git add lessons/C-branch.md
git commit -m "docs: update lesson C"GitHub Desktop:
- Edit a file (for example
lessons/C-branch.md) - In GitHub Desktop, select the change, add a commit message, and click Commit to feature/first-change
GitHub UI:
- No UI action required
Observe:
git log -1shows your new commit
Manual check:
- Check off item D in
PROGRESS.md
Commands:
git push -u origin feature/first-changeGitHub Desktop:
- Click Push origin in the top bar
GitHub UI:
- Go to your fork and you should see a banner suggesting a PR
Observe:
- The branch appears on GitHub
Manual check:
- Check off item E in
PROGRESS.md
Update the certificate profile so your name appears in the certificate assets.
Commands:
# Edit certificate/profile.json and replace FIRST/LAST with your name
git add certificate/profile.json
git commit -m "docs: add certificate name"
git pushGitHub Desktop:
- Edit
certificate/profile.jsonand replaceFIRSTandLAST - In GitHub Desktop, add a commit message and click Commit to feature/first-change
- Click Push origin
GitHub UI:
- No UI action required
Observe:
- Your changes to
certificate/profile.jsonare pushed to the branch
Manual check:
- Check off item F in
PROGRESS.md
Commands:
- None
GitHub UI:
- Click Compare & pull request on your fork
- Ensure the base branch is your default branch (usually
main) - Create the PR
Observe:
- The PR is open
Manual check:
- Check off item G in
PROGRESS.md
Commands:
- None
GitHub UI:
- On the PR page, click Merge pull request
- Confirm the merge
Observe:
- The PR shows as Merged
Manual check:
- Check off item H in
PROGRESS.md
Follow the instructions in conflict-exercise/README.md to create and resolve a conflict.
Commands:
- See
conflict-exercise/README.md
GitHub Desktop:
- Follow
conflict-exercise/README.mdfor the edits - When GitHub Desktop shows a conflict, open in your editor, fix it, mark as resolved, then commit and push
GitHub UI:
- You may resolve locally or in the GitHub conflict editor
Observe:
- The conflict is resolved and merged to the default branch
Manual check:
- Check off item I in
PROGRESS.md
Commands:
- None
GitHub UI:
- Go to Issues
- Click New issue
- Add a title and description
Observe:
- The issue appears in the list
Manual check:
- Check off item J in
PROGRESS.md
Commands:
- None
GitHub UI:
- Open your issue
- In the right sidebar, click Labels
- Add any label (create one if needed)
Observe:
- The label appears on the issue
Manual check:
- Check off item K in
PROGRESS.md
Commands:
- None
GitHub UI:
- Go to Releases
- Click Draft a new release
- Create a new tag (for example
v1.0.0) - Publish the release
Observe:
- The release appears in the list
Manual check:
- Check off item L in
PROGRESS.md
This repo includes certificate assets, but it does not auto-generate a PDF. If you want to personalize the certificate data:
- Open
certificate/profile.json - Replace
FIRSTandLASTwith your real name - Commit and push the change
- Check off your progress in
PROGRESS.md. - Use the lessons in
lessons/if you get stuck. - When finished, keep this fork as your personal GitHub practice repo.