An independent line of development in a Git repository — a movable pointer to a commit, letting you work on a feature or fix in isolation without touching the main line. Branches are cheap and disposable; the typical flow is branch off `main`, commit work, open a pull request, merge back.
Version Control
Git workflow terms for automation repositories.
7 terms
B
C
Applying a single specific commit from one branch onto another, by its hash — without merging the whole branch. Used to pull one fix into a release branch, or grab a colleague's commit without their other work. `git cherry-pick <hash>` copies just that change.
A saved snapshot of changes in a Git repo, with a message describing what changed and a unique hash identifying it. Commits are the atomic unit of history — each one is a revertible, reviewable point you can return to. Good commits are small and focused; the message explains why, not just what.
G
A named, fixed pointer to a specific commit — used to mark release points like `v2.4.0`. Unlike a branch, a tag doesn't move; it permanently marks "this exact commit is release 2.4.0". Annotated tags also carry a message and author, which is what release tooling reads.
M
A state Git enters when two branches modify the same part of a file in incompatible ways and cannot be automatically combined. Git marks the conflict with `<<<<<<<`, `=======`, and `>>>>>>>` markers and waits for a developer to choose which version (or a manual combination) should survive. Merge conflicts are most common on long-lived feature branches or when several people edit the same test file simultaneously.
P
A proposed set of commits opened for review before merging into a shared branch — the gate where code is reviewed, CI runs, and approval happens. Called a Merge Request on GitLab. The PR is where automated tests, linting, and human review converge before code reaches `main`.
R
Replaying your branch's commits on top of another branch's latest state, producing a linear history instead of a merge commit. `git rebase main` makes your feature branch look as if you started it from the current `main`. Powerful for a clean history, dangerous if used on shared branches — it rewrites commit hashes.