In order to make it easy to see when feature branches are merged to master, one can use Git\'s --no-ff
option when merging their feature branch into master.
Note: a pre-merge hook doesn't exist.
It was introduced in 2008, and criticized then (because the control
had better be implemented on the server (using an update hook).
It is in the process of being re-introduced (September 2012)
And a pre/post-commit hook isn't run on the auto-commit done by a git merge.
So:
git-merge
wrapper which will do that control at the local repo level.That being said, as I mentioned in "fast forward when using pull and no-ff when pull", not using --no-ff
has its advantages, as it won't break git bisect
and git blame
.
So a developer for a feature might want to reorganize his/her feature commits (squash them a little if there are too many of them) before fast-forward them in master branch (instead of creating one giant commit).
See "Understanding the Git Workflow" for more.