I'm working for a company who have an ExpressionEngine 3.x website. They have 2 copies: a dev version (on a development server), and their live website.
Periodically I will pull down a full copy of the live website (file structure + database) on to the dev domain.
Staff at the company will be making different changes to both websites. For example the live website has a 'news' channel which is constantly updated - whilst it will remain fixed on the dev site from whatever point the copy was taken. On the dev copy we may be adding new channels, channel fields, changing templates etc.
I was wondering what the best way to manage keeping things in sync is, particularly from the ExpressionEngine database perspective? If we're changing channel fields in the dev database, we cannot simply replace the live database with the dev one when we want to update the live site with our changes. Because this will remove content that's been added to the live site (news in the example given above).
What strategies do people use in this situation? I noticed there is a feature in the EE Admin panel to export channel fields. But this doesn't seem to do what's needed. For example if I've changed channel fields on the dev site and export them, I can't import them on the live site as it will complain of duplicate fields. If I delete the channel, I lose the content.
We are not using any version control systems like git for this site, and I don't actually think that will help with database related things anyway?