I can't find much resources about what version control to use with SSIS solution. Is it "proper" thing to do to put SSIS solution on GIT repository or there are other (better) solutions for this type of projects. I am familiar with git but I am not sure how would it work with SSIS since it's mostly UI thing I don't know if putting on git can mess up anything, are there any things to be careful with, etc.
问题:
回答1:
Au contraire, the interface to SSIS is generally through a UI but at the heart it's an ungodly amount of XML.
So yes, you can and should version control your SSIS solutions, as you should version control anything you develop. Merging XML is dicey at best, whether it's "straight" XML or what we get with SSIS: XML that describes the workflow and, embedded in that XML is more XML that describes the layout of GUI elements. That mix of layout and work leads to a lot of conflicts when merging SSIS packages. There are tools like BIDS Helper that attempt to provide a "smart diff". I find that it's helpful for me to identify "this data flow changed" but otherwise, I treat SSIS packages as binary objects in source control.
Whether you use git, mercurial, svn, csv, rcs, perforce, tfs, sourcesafe or any other tool is 100% immaterial to the type of content being versioned.
回答2:
I do not like putting SSIS (and SSRS) files in git since they are not merge-able.
In TFS I can prevent other developers from working on the same package by using locks. In git (VSTS with git) I was not able to prevent others from editing the same package using locks.