Git · English usage comparison
Fork vs Clone: English Usage Guide for IT Professionals
"Fork" and "clone" both copy a repository, but at different levels. A fork is a server-side copy on GitHub/GitLab — a new independent repository you own. A clone is a local copy on your machine. You usually fork first, then clone your fork.
Side-by-side comparison
| Aspect | Fork | Clone |
|---|---|---|
| Where it lives | Server (GitHub/GitLab) — a new remote repo | Local machine |
| Who owns it | You — independent copy you control | Same repo — you have a local working copy |
| Use case | Contribute to a project you don't own | Work on a repo locally |
| Git command | GitHub UI / gh repo fork | git clone <url> |
Example sentences
Fork
- "I forked the open-source library to add a feature and then submitted a pull request upstream."
- "Your fork is a server-side copy — make changes there and open a PR to the original."
Clone
- "Clone the repo with git clone to get a local working copy on your machine."
- "After cloning, I set up the .env file and ran npm install."
Exercises: choose the correct English usage
Select the best answer for each question, then check your reasoning.
1. You want to contribute to an open-source project you don't have write access to. First you should ___.
Explanation: Fork creates your own server-side copy — you can then clone your fork and open a PR to the original.
2. "git ___ https://github.com/org/repo.git" downloads the repo to your machine.
Explanation: "git clone" creates a local copy of the remote repository.
3. After forking and cloning, what is "upstream"?
Explanation: "Upstream" conventionally refers to the original project you forked from. You pull updates from upstream to keep your fork current.
4. Which sentence is correct?
Explanation: The correct workflow: fork on GitHub (server copy), then clone your fork (local copy).
5. A colleague says "just clone it and push your branch." This implies you have ___ access to the original repo.
Explanation: If you can push a branch directly, you have write access — no fork needed.
Frequently asked questions
What is the difference between fork and clone in simple terms?
Fork = copy on the server (GitHub). Clone = copy on your machine. You usually fork a project you don't own, then clone your fork to work locally.
What is "upstream"?
The original repository you forked from. You add it as a remote (git remote add upstream <url>) to pull in new changes from the original project.
What is "origin"?
The default remote name for the repository you cloned from — usually your fork. When you run git push origin main, you're pushing to your fork.
How do I keep my fork up to date?
Add the upstream remote, fetch, then merge or rebase: git fetch upstream && git rebase upstream/main.
Can I fork a private repository?
On GitHub, you can fork private repos within the same organisation (if allowed by settings). You cannot fork private repos you have no access to.
What is a "shallow clone"?
A clone with limited history (git clone --depth 1). Faster for CI/CD pipelines that don't need the full git history.
What is "git remote"?
A reference to a remote repository. origin and upstream are common remote names. git remote -v lists all remotes.
What does "fork bomb" mean?
Nothing to do with Git — a fork bomb is a denial-of-service attack where a process continuously forks itself until it consumes all system resources.
What is the gh CLI command to fork?
"gh repo fork <owner/repo>" forks the repo and optionally clones it locally in one command.
What is "detached HEAD"?
When HEAD points to a specific commit instead of a branch — usually happens after git checkout <sha>. Any commits here won't belong to a branch unless you create one.