I'm moving from Subversion to Git under Visual Studio 2012. In a small team we work with master branch shared across team members.
In Subversion when two team members change the same source file and there's no unsolved conflict the logic on commit is:
- First team member update the local (no changes here) copy and then commit change with tag "Changes in Method A".
- Second team member update the local copy (changes automatic merged) and then commit change with tag "Changes in Method B".
In Git I have other behavior:
- First team member sync and commits and push changes with tag "Changes in Method A".
- Second team member can't sync as there's conflict so he commits changes with tag "Changes in Method B" and then pull changes (changes automatic merged).
- The VS creates a 3rd commit with automatic text "Merge branch 'master' of http://..." where contains the final version with the two commits.
- Then the second member can push this two commits and the history of the file gets 3 commits.
This automatic commit don't allow change text (only when I get conflict to solve by hand). Is that the correct way to work with Visual Studio Tools for Git?