I am pretty new to Version Control and all the intricacies associated with it. I have browsed a few threads and many of them reference the Qlik Deployment Framework (https://community.qlik.com/group/1224), but all the links just give me a Page not found error. At the moment I plan on checking load scripts into GitHub, but I was wondering if there is any way that I can do it with my qvf files as well? At this moment I am not really interested in 3rd party software, I just want to know how the Guru's are doing it.
QDF just gives you a solid infrastructure to make using .qvs files instead of embedding code inside the qvfs. I've structured our models so that they each have a container and all the code lives in versioned (via git using vscode's built in git tools) qvs'. All data is loaded into front end apps via the IndexLoad functionality provided by QDF.
Versioning qvfs is harder, using the api you can build a scraper that will export all of a dashboards structure into json files and then version that. The problem there is that it doesn't give you super useful output when looking at diffs if you need to figure out what's changed. It's not impossible just a bit cumbersome. It does give you a decent methodology for backing up your visuals though.
I haven't implemented it yet but if I do it will probably be a daily backup process instead of a full versioning process. So each evening I'll have a nodejs app run to extract all jsons and back them up to the git repository.
Even using the third party tools you don't really get much more than that, the two I've looked at both are basically just giving you a web front end to do that json extract process and showing you the diffs in a more readable format.
Thank you very much for the comments. I will definitely have a look at it and it sounds as if you are doing the same thing with your qvs files as what I'm planning to do. I was scared that I am missing the point or that there is an obvious solution that I am missing for QVFs. I'll keep the thread open in case someone has some more insights or comes up with an easy solution. Please let me know if you make any further adjustments to your infrastructure.