Rebase
intermediateDefinition
Picking up your work-in-progress and placing it neatly on top of someone else's latest changes, so the project's history stays in a clean straight line. It's a tidier alternative to merging when you want the timeline of changes to read in a simple, linear way.
In the wild
A developer started a new feature on Monday. By Friday, the team's main version has moved on with new updates. Instead of merging in messily, she rebases: replaying her week of work on top of the latest team version, so it looks like she just finished her work this morning.
More from Git & Collaboration
Branch
A separate copy of a project's files where you can experiment without affecting anyone else. It's like saving a draft of a document under a new name and editing it freely: when you're happy, you can merge your version back into the official one.
Cherry-pick
Grabbing one specific change from somewhere else in the project's history and applying it to where you're working: without bringing along any of the other changes that came around it. It's how teams move a single fix into a place that needs it.
Clone vs Fork
Cloning means copying a project to your own computer so you can work on it locally. Forking means making your own personal copy of someone else's project up on the internet, which you can then change freely and later offer your changes back to the original.
Commit
A saved snapshot of your work at a particular moment, with a short note describing what you changed. Each commit is a checkpoint you can come back to. The history of an entire project is just one commit after another, going back to its very first day.
HEAD
A bookmark that points to the version of the project you're currently looking at. Wherever HEAD is, that's the version of the files sitting on your computer. When you switch branches or jump to an older snapshot, HEAD moves with you.
Merge
Combining the work from one branch into another, so the two histories come together. Merging is how a feature that was being built off to the side gets folded back into the main version that everyone uses.