To transfer all changes to all environments, I use database update scripts. I use them to create different instances (client, tax settings, etc.), but usually to transfer static blocks and configuration settings.
To migrate static blocks:
<?php
$block = Mage::getModel('cms/block');
$data = array(
'title' => 'Block title',
'identifier' => 'block_identifier',
'content' => 'block content',
'is_active' => 1,
'stores' => array(0 => Mage_Core_Model_App::ADMIN_STORE_ID),
);
$block->addData($data);
$block->save();
?>
To migrate settings:
<?php
Mage::getModel('core/config')->saveConfig('design/theme/default', 'theme');
?>
I know that we can change Magento settings through config.xml:
<default>
<general>
<store_information>
<name>My Store</name>
</store_information>
<content_staging>
<block_frontend_stub>home</block_frontend_stub>
</content_staging>
</general>
</default>
, , : general/store_information/name
/content _staging/block_frontend_stub
db NULL, NULL, xml. , , , Magento, xml.
?
, ?
Magento? , :)