Doing merges in git
One of the things that some people fear in a distributed source control is that they might run into conflicts all the time.
My experience has shown that this isn’t the case, but even when it is, there isn’t really anything really scary about that.
Here is an example of a merge conflict in Git:
Double click the conflicting file, and you get the standard diff dialog. You can then resolve the conflict, and then you are done.
Comments
Did you notice that merging with git requires less work than with svn? This is what everyone says at least.
Merging with any of the major implementations of DVCS is easier and requires much less work than SVN or any other centralized VCS because the system inherently has more information at hand to perform the merge.
I'm surprised to see that dialog...you strike me a "git bash" type of guy. ;)
Tobi,
Yes, git is keeping much more data, so it can handle it better
Tobi, I too see much less manual merging with git than svn/cvs. Funny, yhe only 2 projects where i've had to do a manual merge are FluentMigrator (my fault) and RavenDB (which was probably also my fault).
Ayende,
Are you using tortoise for git?
Yes
What sort of data does git store that makes it much better at merging than SVN?
Jim,
Basically, it records each individual change, so it is able to do merge on each change independently, while SVN need to do merge between the final results.
It would be interesting having more deep comparison between merging in DVCS and standard centralized system like svn. Is true indeed that git stores more information for merges than SVN, but usually I do merge in svn with no great pain.
Tortoise for svn show changes files, conflicted files, and I can open the diff from the tortoise windows, resolve the conflicts, check the merge and commit, basically I see the same windows you show with tortoise git.
Clearly svn only compare the actual state of the source and destination folder, but usually is enough for me.
Alk.
Comment preview