In my local, it works. Here I use rocketeer to deploy the project.
In server, here is the wp-content/themes directory
./
../
foobar/
.gitignore
index.php -> /var/www/foobar.example.com/shared/wp-content/themes/index.php
twentyfifteen -> /var/www/foobar.example.com/shared/wp-content/themes/twentyfifteen/
In the admin panel, I only see twentyfifteen, but cannot see the foobar.
I'm using Nginx here
server {
    listen 80;
    server_name foobar.example.com;
    root /var/www/foobar.example.com/current;
    error_page 404 /index.php;
    location / {
        index index.php;
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_index index.php;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    location ~/\.ht {
        deny all;
    }
}
				
                        
For wordpress to recognized your themes you need to add an special header to your css something like this:
Check this out for more info https://codex.wordpress.org/Theme_Development