I don't think it's left that many short to be honest.
Most developers I'm aware of save their templates as files.
Whilst I'd always recommend having version control in place, you don't need it, you can still save templates as files without Git.
As for tutorials, the Ellislab docs are pretty explicit about how it's done.
The learning curve for Git isn't ...
You have a few options.
While in development, frequently clone your database from production to dev, which reduces the chance that they will diverge significantly.
Try to reduce situations where you rely on the entry ID. Find other things that you can control better, like making a decision based on some distinguishing data in the entry itself, or if you ...
I think you'll find switching to a multi-environment config file a more convenient alternative than using an add-on for updating paths after migration (eg dev to staging to production). The really nice thing about using config overrides this way is that there is usually zero configuration update needed when migrating.
One excellent, widely used and well-...
The correct array key for the database user is username not user
$config['database'] = array (
'hostname' => 'localhost',
'username' => 'username',
'password' => 'root',
'database' => 'dennis',
Make sure the staging domain is correct in config.env.php
Make sure the staging config is in fact loaded (put a die("hello); at the top of your config.staging.php)
Verify that your site says "hello" on staging, which means it is actually loading the staging config.
Edit both index.php and admin.php and set $debug=1; in both.
Remove the die() you put in ...
I may just misunderstand your post but you have changed 'domaindev.com' to 'staging.mysite.com' haven't you?
Also try putting the staging db connection info in for the default/local environment (on your staging server) to see if it's just falling through to the default. Which would imply the domain isn't properly set.
I just have a local dev environment using MAMP. I have a couple of base setups that I use. One with structure and one without and then my most standard addons that end up on almost every site like wygwam, switchee, stash etc. I keep these up to date on my local machine. When I want to start a new site its simply a matter of uploading the files to the web ...
Try by setting this config value within config file (/system/expressionengine/config/config.php)
$config['tmpl_file_basepath'] = 'template/basepath';
Also check if "Basepath to Template File Directory" is already set within config file.
We sorted it out. The error always happened when we imported the db from the live server to the developer server and wanted to change there URLs and paths with Deeploy Helper.
After we reexported the db from the developer server and reimported it at either the two dbs we got no error messages from Deploy Helper anymore.
It looks as if the db file from ...
Run a local dev server on your machine. To make life easy use MAMP, XAMPP, or similar. Maybe try Virtual Box/Vagrant if you're feeling saucy. I'm on a Mac so I use MAMP Pro and SequelPro to manage server and database.
Install Git on your local machine.
Set up a remote private Git repo at Bitbucket/Github. Bitbucket is free, even for private repos.
Set up ...
Mountee shutting down forced me to change my workflow as well. Here's what's working for me:
Save templates as files.
Buy Coda 2 (panic.com)
Setup a site in Coda with a local git repository, and the web server as the remote location.
When I start implementing a new feature, I edit templates on the remote server. When it's all working, I sync everything ...
I would definitely recommend not having the client edit Template files, but if you must (like my current situation), based on @CreateSean's comment, I now do the following:
Pull the latest copy from Git
Grab a DB dump of the Production database
Import this DB dump into your local database
Grab all template files from Production through SFTP (...
I like to add this System Config Override variable to my config.php file...
$config['site_url'] = "http://localhost:8000/";
...then change it depending on your environment. This way at least I have one less thing to update in the database between environments. I prefer that type of configuration to be in PHP anyway.
Perhaps using more of the Config ...