5 exercises on the verb collocations developers use daily with Git: pull, push, merge, delete, and rebase. These verbs are not interchangeable with general synonyms.
0 / 5 completed
1 / 5
Before you start coding, always ___ the latest changes from the remote repository.
Pull — the everyday Git verb for fetching and integrating remote changes:
git pull is the standard command developers run at the start of their session. It performs two operations in one: fetch (download the latest refs from the remote) and merge (integrate those changes into your current branch).
Why not "fetch"?git fetch downloads the changes but does not merge them into your working branch — you see what changed, but your local branch is untouched. "Pull" in casual speech always means the full operation: fetch + merge. If you want to be precise, you might say "I fetched the changes and then merged" — but in everyday usage, "pull" covers both.
Standard collocations:
pull the latest changes
pull from origin / pull from main
"Did you pull before starting?" — a common question in team stand-ups
"You need to pull first — there are conflicts." — typical Git workflow reminder
"Download" is technically what happens under the hood, but it is not an English Git collocation. "Collect" is never used in this context.
2 / 5
After committing your changes locally, you ___ them to the remote repository.
Push — the standard verb for sending commits to a remote:
git push is one of the most fundamental Git commands. The verb "push" collocates specifically with sending local commits to a remote repository. It is the counterpart of "pull".
Key push collocations:
push to origin / push to main / push to remote
push the changes / push the commit / push the branch
"I'll push my changes and raise a PR." — typical developer workflow sentence
"Force push" (git push --force) — a more aggressive variant, used carefully
The Git vocabulary pair:
pull = bring changes from remote to local
push = send changes from local to remote
"Upload" is what happens technically, but it is not the Git collocation. "Send" and "transfer" are never used in Git vocabulary — native speakers would find them odd in this context.
3 / 5
She ___ a PR after the code review was complete.
Merge — the standard Git verb for integrating a pull request:
Merge a PR is the universally understood collocation in Git-based workflows. When a pull request has been reviewed and approved, you "merge" it — combining the feature branch's changes into the target branch (usually main or develop).
The full PR lifecycle:
open / raise / create a PR → start the review process
review a PR → read the code and leave comments
approve a PR → give a LGTM ("looks good to me")
request changes → ask the author to fix something first
merge a PR → integrate the changes into the target branch
close a PR → close without merging (abandoned)
revert a PR → undo a merge that caused problems
Merge strategies:squash and merge (all commits into one), merge commit (preserve branch history), rebase and merge (linear history).
"Combined", "joined", "united" are synonyms of "merge" in general English, but they are not used in software development. Only "merge" is the correct technical collocation for Git and PR workflows.
4 / 5
The branch was ___ from main because it was no longer needed.
Delete — the standard verb for removing a Git branch:
Delete a branch is the correct and standard collocation in Git. After a feature branch is merged, you "delete" the branch — both locally (git branch -d feature/my-branch) and on the remote (git push origin --delete feature/my-branch). GitHub and GitLab offer a "Delete branch" button directly after merging a PR.
Branch management vocabulary:
create / cut a branch → "Let's cut a branch from main for this feature"
check out / switch to a branch → "Check out the feature branch and run the tests"
push a branch → send local branch to remote
delete / remove a branch → clean up after merging
stale / abandoned branch → a branch no longer in active use
"Remove" is technically acceptable but less conventional than "delete" in a Git context — "delete branch" is the phrase used in the Git CLI and in GitHub/GitLab UI. "Erase" is never used in Git vocabulary. "Drop" is used for other concepts (drop a stash: git stash drop), not for branches.
5 / 5
We need to ___ the feature branch with main to get the latest security patches.
Rebase and sync — two valid verbs depending on the strategy:
Both rebase and sync/synchronise are used when bringing a feature branch up to date with the latest changes from main. The right choice depends on the team's Git strategy:
Rebase (git rebase main): Moves your branch's commits to the tip of main, rewriting history. Result: a clean, linear commit history.
"I need to rebase my branch on main before the PR can be merged."
"Rebase the feature branch with main to resolve the conflicts."
Sync/Synchronise: A more general term — bring the branch up to date with the base branch. Many Git hosting platforms (GitHub, GitLab) use a "Sync branch" button that performs a merge or rebase behind the scenes.
"Click 'Sync branch' on GitHub to get the latest changes."
"Sync your fork with the upstream repository."
"Update" is used informally but is less precise. The key distinction:
Rebase = clean linear history, rewrites commits
Merge = preserves branch history, creates a merge commit
Sync = general umbrella term for bringing a branch up to date