I've seen the word "spike" used in relation to source-control.
For example, a project I'm working with has three top-level folders: trunk, branches and spikes.
What's the meaning of this term?
I've seen the word "spike" used in relation to source-control.
For example, a project I'm working with has three top-level folders: trunk, branches and spikes.
What's the meaning of this term?
"Spike" is a synonym for "Tag". It is a "spike" in the ground meaning it doesn't move versus a branch, which grows.
For further clarification, a 'tag' or 'spike' represents a release version of your project. Tags are snapshots of that release and as such are not actively developed on though branches can be created from a tag and then further developed.
The accepted answer isn't necessarily true anymore. With the introduction of GitFlow in 2010 (after this question was asked and answered), the definition of "spike" has changed. In the context of GitFlow, at least, a "spike branch" is one that is meant for exploration of a particular topic. It is not usually merged into the main/develop branches or deployed.
The term comes from Extreme Programming:
Create spike solutions to figure out answers to tough technical or design problems. A spike solution is a very simple program to explore potential solutions. Build the spike to only addresses the problem under examination and ignore all other concerns. Most spikes are not good enough to keep, so expect to throw it away. The goal is reducing the risk of a technical problem or increase the reliability of a user story's estimate.
"Spike" is a synonym for "Tag". It is a "spike" in the ground meaning it doesn't move versus a branch, which grows.
For further clarification, a 'tag' or 'spike' represents a release version of your project. Tags are snapshots of that release and as such are not actively developed on though branches can be created from a tag and then further developed.
© 2022 - 2024 — McMap. All rights reserved.