Re: merge result
- From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
- Date
- Sep 9, 2011, 13:00 UTC
- Message-ID
- <vpqmxed6fby.fsf@bauges.imag.fr>
- In-Reply-To
- <CAPgpnMRrSmVrXD__jxv3uNrek8up+scHp+_Kj8+=HX8tfweWzQ@mail.gmail.com>
Lynn Lin <lynn.xin.lin@gmail.com> writes:
> Hi All, > When I merge branch A back to master branch,if there are same > commit(developer do double commit) both in master and A branch, there > will be two same commit in master branch.
They cannot be the "same" commit. They are different commits (i.e. different sha1 identifier, and probably different trees), even though they may have the same commit message and represent the same diff.
> 1->2->3-4>5 Master > | > 4->6->7 A
A more accurate drawing would be
1->2->3-4>5 Master
|
4'->6->7 Aand after merging, you'd get
1->2->3-4>5-->8 A, master
| /
4'->6->7with 8 having both 4 and 4' as ancestors. There's nothing wrong with it. Git cannot remove either 4 or 4' without rewritting history, and "git merge" does not rewrite history.
If you really really want to avoid this duplication in the history, then learn about rebase (which is both powerfull and dangerous, you've been warned).
-- Matthieu Moy http://www-verimag.imag.fr/~moy/