How to Execute GitHub Hello World Quickstart
Walk the GitHub hello-world quickstart: create the repo, open a branch, commit a file, open a pull request, and merge it so the PR loop is muscle memory.
What are we building and why?
We are executing GitHub's foundational Hello World exercise to practice the universal pull request workflow. This workflow forms the bedrock of modern software engineering: creating a repository, creating a short-lived branch, making and committing changes, opening a pull request, and merging the validated updates into main.
Whether collaborating across distributed development teams or supervising autonomous coding agents, the pull request workflow ensures code changes are isolated, peer-reviewed, and verified before merging into production. Bypassing branches and committing directly to default branches creates code collisions and prevents automated test suites from running.
At ZeroShot Studio, we treat the Hello World lifecycle as the mandatory integration handshake for every new engineer and AI coding assistant. Verifying that a contributor can branch, commit, and merge cleanly ensures all repository permissions and automation webhooks function properly before production tasks begin.
flowchart LR
Main[main branch] --> Branch[Create readme-edits branch]
Branch --> Edit[Edit README.md & Commit]
Edit --> PR[Open Pull Request]
PR --> Review[Review Diff & Confirm]
Review --> Merge[Merge PR into main]
Merge --> Delete[Delete readme-edits branch]Related reading: How to Set Up GitHub CLI and Initialize a Workspace and How to Implement GitHub Flow in Production. Authority specifications: GitHub Hello World Guide and GitHub Flow Documentation.
"A standardized pull request loop is the foundation of reliable software collaboration."
We established this training standard at ZeroShot Studio after auditing repository histories where unreviewed commits damaged production branches. Standardizing on short-lived branches and pull requests turns software delivery into an auditable, repeatable routine.
What are the required prerequisites?
Before starting this quickstart exercise, verify you have:
- GitHub Account: A registered account on GitHub.com.
- Web Browser or Terminal: Any modern desktop browser (Chrome, Firefox, Safari, Edge) or a terminal with GitHub CLI installed.
- Zero Coding Experience Needed: You do not need to install local compilers, run complex scripts, or understand Git internals to complete this exercise.
| Prerequisite Layer | Minimum Requirement | Recommended Tool | Purpose in Stack |
|---|---|---|---|
| GitHub Account | Free personal account | Verified GitHub account | Host repository and authenticate PR operations |
| Interface | Web Browser | Chromium / Safari / Firefox | Visual navigation of GitHub repository UI |
| CLI (Optional) | gh 2.40+ | GitHub CLI 2.45+ | Terminal automation for headless agent workflows |
| Network Access | HTTPS Port 443 | Unrestricted TLS outbound | Communication with github.com |
How do you implement the step-by-step recipe?
Follow these steps using the GitHub web interface, or execute the companion CLI commands.
-
Create the hello-world repository. In the upper-right corner of any GitHub page, select the
+icon and click New repository.- Repository name:
hello-world - Description:
This repository is for practicing the GitHub Flow. - Visibility: Select Public
- README: Check Add a README file
- Click Create repository
CLI Alternative:
gh repo create hello-world --public --add-readme --description "This repository is for practicing the GitHub Flow." - Repository name:
-
Create an isolated branch. Click the Code tab of your
hello-worldrepository. Above the file list, click the branch dropdown labeled main. Typereadme-editsinto the text box, then click Create branch: readme-edits from main.CLI Alternative:
cd hello-worldgit switch -c readme-edits -
Make and commit file changes. In the file list on the
readme-editsbranch, clickREADME.md. Click the pencil icon (Edit this file). Add a few lines describing yourself or your project goals. At the bottom of the editor:- Enter a commit message:
docs: update README with project overview - Ensure Commit directly to the readme-edits branch is selected
- Click Commit changes
CLI Alternative:
echo "Practicing GitHub Flow and pull request mechanics." >> README.mdgit commit -am "docs: update README with project overview"git push -u origin readme-edits - Enter a commit message:
-
Open a pull request. Click the Pull requests tab, then click New pull request. In the base dropdown, ensure
mainis selected. In the compare dropdown, selectreadme-edits. Review the diff below to confirm your changes. Click Create pull request, give it a title and short summary, then click Create pull request.CLI Alternative:
gh pr create --base main --head readme-edits --title "docs: update README with project overview" --body "Initial documentation update practicing GitHub Flow." -
Merge the pull request and delete the branch. On the pull request page, click Merge pull request, click Confirm merge, and finally click Delete branch to clean up the finished feature branch.
CLI Alternative:
gh pr merge --merge --delete-branch --yes
How do you verify the deployment works?
To verify your Hello World exercise completed successfully:
- Navigate back to the Code tab of
hello-world. - Ensure the active branch is
main. - Verify that your new edits appear in
README.md. - Click the commit history link (e.g.
2 commits) to verify the merge commit:- Initial commit
docs: update README with project overviewMerge pull request #1 from readme-edits
In terminal environments:
git switch maingit pull origin maingit log -n 3 --onelineExpected output:
a1b2c3d (HEAD -> main, origin/main) Merge pull request #1 from readme-editse4f5g6h docs: update README with project overview1a2b3c4 Initial commitWhat are the common production failure modes?
When practicing pull request workflows, watch out for these common issues:
- Committing directly to main: Editing files while
mainis selected bypasses branch isolation. Always switch to or create a dedicated feature branch before making commits. - Comparing identical branches: If you select
mainas both the base and compare branch, GitHub reports "There isn't anything to compare". Always compare your feature branch againstmain. - Leaving stale feature branches: Forgetting to delete merged feature branches creates branch clutter across active repositories. Always click Delete branch once merged.
- Unauthenticated CLI: If using
gh, running commands without prior authentication fails. Rungh auth loginbefore executing CLI steps.
How can AI agents execute this directly?
Autonomous coding assistants can execute this workflow using the companion skill manifest below:
name: github-hello-world-flowdescription: Deterministic creation of branches, README commits, and pull requests.## Execution Rules1. Verify active branch is main before creating new feature branch.2. Create feature branch isolated from main: git switch -c readme-edits.3. Commit atomic modifications with structured conventional messages.4. Push tracking branch to origin: git push -u origin readme-edits.5. Create pull request and execute clean merge once checks pass.Standardizing on this workflow ensures that autonomous agents follow the same code review hygiene as engineering practitioners.
FAQ
Why should I delete the feature branch after merging? Deleting the branch prevents clutter in your repository list. The commits remain permanently preserved in the repository history on the main branch.
Can I create branches from other branches instead of main? Yes, but in standard GitHub Flow, feature branches are cut directly from main and merged back into main to keep delivery cycles short and avoid nested merge conflicts.
What is the difference between an issue and a pull request? An issue tracks an idea, task, or bug report, while a pull request proposes concrete code changes to resolve an issue or add a feature.