Learn to use Visual Studio, Visual Studio Online, Application Insights and Team Foundation Server to decrease rework, increase transparency into your application and increase the rate at which you can ship high quality software throughout the application lifecycle
More videos »
By: Andy Lewis and Matthew Mitrik
Today we released Visual Studio Tools for Git 0.8.0.0. Install this release to get not only fixes to numerous bugs, (for details see the release notes on the gallery page), but also an enhanced conflict resolution experience. You can now also create scheduled automated builds.
Got the latest version of Visual Studio with Git? If not, click here.
To use the Visual Studio client tools you'll need to install Visual Studio 2012, apply Visual Studio 2012 Update 2, and finally install Visual Studio Tools for Git. If you want to use Team Foundation Service, you can sign up for free.
Visual Studio alerts you when conflicts block you from pulling or merging.
Click the link to open the Resolve Conflicts page, where you can see the conflicts that you must resolve before you can proceed with the pull or the merge. Click a conflict to get information about it. You can then compare the files that are involved.
As you resolve each conflict, Visual Studio moves it to the Resolved section. After you have resolved all the conflicts, click Commit Merge to commit the changes and complete the merge.
This experience is still a work in progress. For example, we need to add Abort Merge. Stay tuned for future updates.
You can now run nightly-builds against your Git codebase.
First connect to a Git team project. How?
Next, create a build process. How?
Select the Schedule trigger and specify when you want the build to be run.
Tip: If you select the Build even if nothing has changed... checkbox, you can effectively schedule builds of a remote repository hosted on a third-party service such as CodePlex, GitHub, or Bitbucket.
Specify the branch you want to build.
For information on how to specify the other settings, see Run CI builds in your Git team project.
What's the experience like if you want to manually edit/merge the changes? Can you do that, or are the "take source" and "keep target" choices all you get?
Project files get conflicts all the time, and I usually try really hard not to give Visual Studio focus until I've resolved those conflicts in an external editor -- because if I give VS focus, it'll ask if I want to reload projects, and that's asking for trouble with those conflict markers in the files. How will this be handled with the integrated Git tools? Will VS be smart enough not to try to reload the project until I've fixed the conflicts?
@Joe - When performing the merge in VS we don't actually drop the inline diff markers in the file, so there isn't really a "manual" experience like you would have on the command line. In the VS Merge tool, you can edit the contents however you like and use those results. As for the project file problem, this is precisely why we don't put the diff markers in the file. In these tools, the solution file should be unchanged until the conflict is resolved and the file on disk is replaced with the new contents. Overall, the experience should be much smoother in cases where the project files have conflicts.
@Joe, are you saying that you have the Project loaded in VS when resolving the conflicts? I always Close Solution before dealing with merges - one thing at once :).