Lingua-e
← Back

Developer English guide

Advanced Git Vocabulary: English Terms for Modern Dev Workflows

August 11, 2026

Once you know commit, push, and pull, the next step is the advanced Git commands that power day-to-day team workflows. This bilingual glossary covers 25 advanced terms, from rebase and cherry-pick to reflog and sparse checkout, with real examples from English-language teams.

Key Takeaways

  • Rebase rewrites history. Use it to keep a clean, linear history before merging a PR.
  • Cherry-pick copies a single commit to another branch. The standard use case is backporting a bug fix.
  • Stash temporarily saves uncommitted changes. Pop the stash to restore them.
  • Reflog is your safety net. If you lose commits with reset or rebase, reflog helps you recover them.
  • Git LFS and sparse checkout are essential for working with large files or large monorepos.

1. History rewriting

Commands that change the commit history. These are powerful but should not be used on shared branches that others have already pulled.

rebase

rebase (reorganizar historial)

Moving or replaying your commits on top of a different base commit. Rebase rewrites commit history so your changes appear after the latest upstream changes, resulting in a linear history without merge commits.

Rebase your feature branch onto main before opening the pull request to avoid a messy merge commit.

interactive rebase

rebase interactivo

Running git rebase -i lets you edit, reorder, squash, fixup, or drop individual commits before sharing them. It is the standard way to clean up a messy commit history.

Use interactive rebase to squash the five WIP commits into one clean commit before merging.

squash

squash (aplastar commits)

Combining multiple commits into a single commit. Squashing is done during an interactive rebase or with the squash option in a pull request merge strategy.

Squash all the 'fix typo' commits so the history stays readable.

cherry-pick

cherry-pick (seleccionar commit)

Copying a specific commit from one branch and applying it to another. You identify the commit by its SHA. Cherry-pick is commonly used to backport a bug fix to a release branch.

Cherry-pick the security fix commit onto the 2.x release branch without merging all of main.

revert

revert (revertir commit)

Creating a new commit that undoes the changes introduced by a previous commit. Unlike reset, revert is safe for shared branches because it does not rewrite history.

Revert the deploy commit to roll back the broken feature on the main branch.

reset (soft / mixed / hard)

reset (suave / mixto / duro)

Moving the current branch pointer to a different commit. Soft reset keeps staged changes. Mixed reset unstages changes but keeps them in the working directory. Hard reset discards all changes.

Use git reset --soft HEAD~1 to undo the last commit but keep your changes staged.

2. Working with changes

Terms for managing work in progress, branches, and the relationship between local and remote.

stash

stash (guardar cambios temporalmente)

Temporarily saving uncommitted changes so you can switch branches or pull updates without losing work. 'git stash' saves and cleans the working directory. 'git stash pop' restores the changes.

Stash your changes, pull the latest commits, then pop the stash to continue working.

fast-forward merge

merge sin commit (fast-forward)

A merge that simply moves the branch pointer forward because no divergent work exists. No merge commit is created. Git uses fast-forward by default when the branch can be merged this way.

The branch was fast-forwarded because no other commits had been made to main since the branch was created.

merge conflict

conflicto de merge

Occurs when two branches have made incompatible changes to the same part of a file. Git cannot resolve the conflict automatically and requires manual intervention.

There is a merge conflict in utils.ts. Open the file, resolve the markers, then commit.

detached HEAD

HEAD desconectado

A state where HEAD points directly to a commit instead of a branch. Any commits you make are not on any branch and can be lost when you switch branches.

You are in detached HEAD state. Create a branch now if you want to keep your commits.

upstream

upstream (rama de seguimiento)

The remote branch that a local branch tracks. When you push or pull without specifying a target, Git uses the upstream. Set with 'git push -u origin branch-name'.

Set the upstream so you can use git push and git pull without specifying the remote every time.

fork

fork (bifurcación)

A personal copy of someone else's repository on GitHub or GitLab. Forks let you make changes without affecting the original. Pull requests go from a fork back to the original (upstream) repo.

Fork the open-source library, fix the bug in your fork, then open a pull request to the original repo.

3. Debugging and recovery

Commands that help you find bugs in history and recover from mistakes.

bisect

bisect (búsqueda binaria de bugs)

A Git command that uses binary search to find which commit introduced a bug. You mark a known good commit and a known bad commit, and Git checks out the midpoint for you to test.

Run git bisect to find which of the 200 commits between v1.4 and v1.5 introduced the regression.

blame

blame (autor de cada línea)

Shows which commit and author last modified each line of a file. Useful for understanding why a line exists, but not for assigning fault.

Use git blame to see who added this conditional and when, so you can ask them about the context.

reflog

reflog (registro de movimientos de HEAD)

A local log of every time HEAD moved. The reflog lets you recover commits that appear to be lost after a hard reset, branch deletion, or rebase gone wrong.

You accidentally ran git reset --hard. Use git reflog to find the SHA of the lost commit and restore it.

4. Advanced features

Tags, hooks, large file handling, and strategies for large codebases.

tag

etiqueta / tag

A named reference to a specific commit, typically used to mark release versions. Tags are immutable, unlike branches.

Create a tag v2.1.0 on the release commit so it is easy to check out later.

annotated tag

etiqueta anotada

A tag that includes metadata: the tagger's name, email, date, and a message. Annotated tags are stored as full objects in Git and are recommended for releases.

Use an annotated tag for releases: git tag -a v2.1.0 -m 'Release 2.1.0'.

pre-commit hook

hook pre-commit (gancho previo al commit)

A script that runs automatically before each commit is created. Commonly used to run linters, formatters, or tests to prevent bad code from entering the history.

The pre-commit hook runs ESLint and Prettier. Fix the warnings before committing.

LFS (Large File Storage)

LFS (almacenamiento de archivos grandes)

Git LFS replaces large files (videos, datasets, binaries) with text pointers in the repository, storing the actual files on a remote server. This keeps the repo fast to clone.

Track PSD and MP4 files with Git LFS so the repository does not bloat over time.

sparse checkout

sparse checkout (checkout parcial)

A Git feature that lets you check out only a subset of a repository's files. Useful in large monorepos where you only need to work on one package.

Use sparse checkout to pull only the packages/api directory from the monorepo.

monorepo

monorepo (repositorio único)

A single repository that contains the code for multiple projects or packages. Monorepos make sharing code and coordinating changes easier, but require tooling (Nx, Turborepo, Bazel) to scale.

We moved to a monorepo so the frontend and backend can share type definitions.

submodule

submódulo

A Git repository embedded inside another repository at a specific commit. Submodules let you include a dependency as source code rather than a package.

The design system is included as a submodule. Run git submodule update --init to clone it.

worktree

worktree (árbol de trabajo adicional)

A linked working directory attached to the same repository. Worktrees let you check out multiple branches simultaneously without cloning the repo twice.

Use git worktree to work on the hotfix branch without stashing your current feature branch.

Practice this vocabulary for free

Interactive exercises with real developer scenarios. No account required.

Start free practice

Ready to practice your English at work?

Lingua-e has interactive exercises built around real developer conversations: standups, code reviews, retrospectives, and more. Practice until it comes naturally.

Try Lingua-e for free
Roxana Lafuente

Written by

Roxana Lafuente

Lingua-e's founder

Roxana Lafuente is a software engineer with 8+ years of experience. At the beginning of her career, even though she had already passed the First Certificate in English, she still froze every time she had to speak up in the daily standup. That was a gap nobody was fixing. After 2,000+ standups, she figured out what actually builds fluency: practice that looks like your real work. She built Lingua-e so other developers wouldn't have to take the long road to feel confident working in an international development environment.