New Views on your Source Code History with "git replace"

Git has become the most popular version control system in the Open Source world, and more and more companies are also using it. The source code history when managed by Git is supposed to be immutable, because Git uses a content addressed database. The Git objects are indexed by their SHA-1 hash. When mistakes have been made, or to make some history based features more useful or more reliable, though, it can be interesting to transform the Git source code history. To do that it is a good idea to use "git replace".

"git replace" makes it possible to have different "views" on the history, instead of only one. It works by creating special references and using these special refs to dynamically use some git objects instead of the original ones.

About the author Christian Couder:

Christian Couder is a software engineer with 17 years of professional experience in software development, release, build and version control. He is a Git developer since June 2006 and he worked especially on "git bisect", an innovative tool to help find the changes that introduced a regression.