I do not agree with the idea that the infection was on your dev pc first. You probably got it after your WP site got infected.
However, it happened to one of my sites too. Looking at the server logs, this is what happened:
[06/Oct/2015:06:16:22 +0200] "POST /wp-login.php HTTP/1.0" 302 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
[06/Oct/2015:06:16:24 +0200] "GET /wp-admin/plugin-install.php?tab=upload HTTP/1.0" 200 128092 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
[06/Oct/2015:06:16:28 +0200] "POST /wp-admin/update.php?action=upload-plugin HTTP/1.0" 200 123382 "https://www.nuapua.com/wp-admin/plugin-install.php?tab=upload" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
So what happened?
– the intruder knew an admin user/pwd combination. How this happened is being investigated at the momen.
– he uploaded a plugin file called ‘options.php’.
An hour and a half later, he started to execute the uploaded file(s) and spread the infection:
[06/Oct/2015:07:42:59 +0200] "POST /options.php HTTP/1.0" 200 1 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
[06/Oct/2015:07:42:59 +0200] "GET /options.php?cookie=1 HTTP/1.0" 200 1 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
[06/Oct/2015:07:42:59 +0200] "POST /wp-content/options.php HTTP/1.0" 200 1 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
[06/Oct/2015:07:43:00 +0200] "GET /wp-content/options.php?cookie=1 HTTP/1.0" 200 1 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
[06/Oct/2015:07:43:00 +0200] "POST /wp-content/plugins/options.php HTTP/1.0" 200 1 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
[06/Oct/2015:07:43:00 +0200] "GET /wp-content/plugins/options.php?cookie=1 HTTP/1.0" 200 1 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
[06/Oct/2015:07:43:00 +0200] "POST /wp-content/themes/options.php HTTP/1.0" 200 1 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
[06/Oct/2015:07:43:00 +0200] "GET /wp-content/themes/options.php?cookie=1 HTTP/1.0" 200 1 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
[06/Oct/2015:07:43:01 +0200] "POST /wp-content/upgrade/options.php HTTP/1.0" 200 1 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
[06/Oct/2015:07:43:01 +0200] "GET /wp-content/upgrade/options.php?cookie=1 HTTP/1.0" 200 1 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
[06/Oct/2015:07:43:01 +0200] "POST /wp-content/uploads/options.php HTTP/1.0" 200 1 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
[06/Oct/2015:07:43:02 +0200] "GET /wp-content/uploads/options.php?cookie=1 HTTP/1.0" 200 8 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
I then ended up with a WP install with corrupted header.php of the active theme and a lot of modified plugin and core files.
Just reverting back the header.php IS NOT ENOUGH. There are going to be modified and additionally uploaded files everywhere throughout the whole WP install.
You need to find and repair/delete all modified files, otherwise your WP install will never be safe again.
You might one to try a plugin like WordFence to clean up you site and search for infected files.