assuming you have a local git branch called my_diaspora with custom settings and changes (skins, header, footer etc) and serve that via e.g. nginx to from localhost:3000 to the outer world.

git checkout master
git pull
git checkout my_diaspora
git pull origin master
bundle install (you will probably be asked for a sudo or root password)
rake spec

if neccessary:

rake db:migrate && rake spec 

finally fire it up:

./script/server

now: profit!

hm, on multiple request, here is the nginx conf I use for diaspora:

server {
    listen 443;
    ssl on;
    ssl_certificate /path/to/my/cert.crt;
    ssl_certificate_key /path/to/my/cert.key;

    server_name diaspora.subsignal.org;

    access_log /var/log/nginx/nginx.access.log;
    error_log /var/log/nginx/nginx.error.log;

    root /path/to/my/diaspora/checkout/diaspora/public;

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    location / {
            client_max_body_size 4M;
            client_body_buffer_size 128K;
            if (-f $request_filename/index.html) {
                    rewrite (.*) $1/index.html break;
            }
            if (-f $request_filename.html) {
                    rewrite (.*) $1.html break;
            }
            if (!-f $request_filename) {
                    proxy_pass http://diaspora;
                    break;
            }
    }
    error_page 500 502 503 504 /50x.html;
            location = /50x.html {
            root html;
    }

}

upstream diaspora {
    server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name diaspora.subsignal.org;
    access_log /var/log/nginx/nginx.access.log;
    error_log /var/log/nginx/nginx.error.log;
    root /path/to/my/diaspora/checkout/diaspora/public;
    rewrite      ^(.*) https://diaspora.subsignal.org$1 permanent;
}

ok, but now profit!