How can I merge a content type's fields and settings from dev to staging? I have an existing content type on staging. On dev we've added a ton of new fields and display and form setting changes, etc.
It's not practical to go through the config files and find all of the many dozens if not hundreds of interconnected config files related to the content types, its fields and its settings.
So I heard Features is the way to go (even though I thought config sync in D8 was supposed to make Features not needed anymore).
So I've created my Feature. Keeping it simple I just checked the single content type. Saved my feature module and moved it to staging.
When I try to enable to the module I get a screen full of &quot;unable to install&quot; because the configuration already exists errors. Ugg.
So I read that I should remove the configurations. But this removes content and/or associated configurations like vocabularies.
Surely there must be a practical way to merge a content type from dev to staging?
To fix the issue include config in optional directory instead of install directory in your features module. It will then only install the config which are not present in the new site. Which will solve your issue.

When I try to enable to the module I get a screen full of &quot;unable to install&quot; because the configuration already exists errors.

Ok, I misread your question. To update existing config as well you need to do partial cim.
Copy the feature configs into a different directory named feature-config-sync (can be anything other than standard folder names) in default site config directory. And execute the below command. It will import new config and update existing configs if needed. Limitation is it wont delete any configs.

drush cim --partial --source=../path/to/config/feature-config-sync

IIRC you can even map the module install/optional config directory as source during partial import.
Once your import is done you can delete the feature-config-sync directory.