I was using this for deploy the content but it is taking too much time.
php bin/magento setup:static-content:deploy 
then I figure out adding the language make fast but it still deploy all the themes.
php bin/magento setup:static-content:deploy en_US
How can i deploy only my theme content only?
- 
 FYI there is a PR that will add this capability and a lot more. I think it'll probably come out with v2.2.thdoan– thdoan2016年06月28日 11:06:05 +00:00Commented Jun 28, 2016 at 11:06
- 
 Another potential solution but for production mode magento.stackexchange.com/questions/126270/…user42315– user423152016年07月19日 09:29:49 +00:00Commented Jul 19, 2016 at 9:29
- 
 I am using magento 2.0.4 and using this <code>php -dmemory_limit=8G bin/magento setup:static-content:deploy --theme Rws/fonddecave en_US de_DE fr_FR</code> But error is coming --theme option does not exists. What is my mistake can any one help on this?Raghwendra Ojha– Raghwendra Ojha2019年04月20日 04:55:53 +00:00Commented Apr 20, 2019 at 4:55
- 
 If you have a new question, please ask it by clicking the Ask Question button. Include a link to this question if it helps provide context. - From ReviewShoaib Munir– Shoaib Munir2019年04月20日 05:55:57 +00:00Commented Apr 20, 2019 at 5:55
- 
 1@DarrenFelton done.Qaisar Satti– Qaisar Satti2019年08月22日 06:05:51 +00:00Commented Aug 22, 2019 at 6:05
7 Answers 7
As of 2.1.1 you can now deploy specific themes or exclude themes:
Deploy specific themes:
php bin/magento setup:static-content:deploy --theme Magento/backend --theme Vendor/mytheme
Exclude themes:
php bin/magento setup:static-content:deploy --exclude-theme Magento/luma
Update these options are now in the documentation.
- 
 it didn't work for me also it didn't mention in devdocs.magento.com/guides/v2.1/config-guide/cli/… There we just 2 options.Adeel Ishfaq– Adeel Ishfaq2016年09月17日 11:19:16 +00:00Commented Sep 17, 2016 at 11:19
- 
 @AdeelIshfaq Like so many other things, it is not yet documented, but it does work in 2.1.1. I attached a screenshot.Mathew Tinsley– Mathew Tinsley2016年09月17日 21:38:40 +00:00Commented Sep 17, 2016 at 21:38
- 
 Submitted a pull request to have the new options added to the documentation: github.com/magento/devdocs/pull/827Mathew Tinsley– Mathew Tinsley2016年09月20日 01:57:03 +00:00Commented Sep 20, 2016 at 1:57
- 
 @MathewTinsley, is it possible to deploy a specific frontend theme in all languages, and a specific backend theme only in one language? I don't need my backend in all languages..bpoiss– bpoiss2018年08月09日 12:01:23 +00:00Commented Aug 9, 2018 at 12:01
- 
 @bpoiss there is a--languageParameter now. Example--language en_USDarren Felton– Darren Felton2019年08月23日 14:16:55 +00:00Commented Aug 23, 2019 at 14:16
I'm afraid that you just can't deploy only one theme by magento console setup:static-content:deploy command. 
I've been dealing with M2 frontend development for the last 2 weeks and I can affirm that the dev process it's a real PAIN! You'll lost a lot of time deploying changes due to complexity of less files hierarchy and themes fallbacks.
Anyway I'm Grunt by now here you'll find how to install, configure and use it, with Grunt you can deploy and/or recompile less files for a single theme.
So that approach it's ok if you are in "developer" mode because Grunt doesn't deploy images, fonts and javascript files to pub/static/... so magento will do it the first time required.
To activate developer mode, run:
php bin/magento deploy:mode:set developer
If you are looking for a way to deploy the entire content for a single theme in production I sorry to say that isn't possible.
BTW I'm pretty sure that it would be a nice Feature Request to make.
EDIT: Breaking News!
I found a way to deploy all changes a little faster:
- Install Grunt + config your theme (one for each language)
- after each change run:
- grunt exec:{theme_name} // Clean folders and deploy less files
- grunt less:{theme_name} // Process less files
 
Voila now you'll have all your changes deployed in Just(¿?) 12~16 sec, 12 sec is my personal record!
EDIT: Breaking News 2!
Confirmed! if you are making changes to a (already deployed) .less files just run grunt less:{theme_name}. 
So, you have to run grunt exec:{theme_name}only when:
- Add/Remove/Rename a *.lessFile
- Add/Remove/Rename a *.jsFils
- Add/Remove/Rename a *.cssFile
- Add/Remove/Rename a imageFile
- Add/Remove requirejs-config.js
Additionally I disabled blocks, layouts and full page Caches, so any change to templates and/or xml layouts will be displayed automatically. 
- 
 can you guid me how to make change in css through less i am stuck in topmenu. some item found but some are not but there css is there.. like.nav-sectionschildlevel0.Qaisar Satti– Qaisar Satti2016年02月10日 07:35:08 +00:00Commented Feb 10, 2016 at 7:35
- 
 It's a very large topic I recommend you to read (the entire) official guide (devdocs.magento.com/guides/v2.0/frontend-dev-guide/…). you must understand alllib > module > theme > fallback.As a starting point take a look atlib/web/cssMauroNigrele– MauroNigrele2016年02月10日 07:53:46 +00:00Commented Feb 10, 2016 at 7:53
- 
 You can see the UI Library documentation in your own store or here: magento2-demo.nexcess.net/pub/static/frontend/Magento/luma/… as wellMauroNigrele– MauroNigrele2016年02月10日 07:54:57 +00:00Commented Feb 10, 2016 at 7:54
- 
 2What about when you edit a JS plugin? I found out that the changes were not getting reflected on the site. I had to remove the edited JS file frompub/staticand redeploy (setup:static-content:deploy) for the changes to show.thdoan– thdoan2016年06月28日 01:32:06 +00:00Commented Jun 28, 2016 at 1:32
- 
 Not sure why this is the accepted answer, the one below is much better.Tisch– Tisch2018年07月05日 14:10:17 +00:00Commented Jul 5, 2018 at 14:10
In Magento 2 you are able to content deploy specific themes and also exclude themes by this commands:
Content Deploy specific themes By this command:
php bin/magento setup:static-content:deploy --theme Vendor/firsttheme --theme Vendor/secondtheme
Exclude themes By this command:
php bin/magento setup:static-content:deploy --exclude-theme Vendor/yourtheme
If you need deploys static content for particular language (en_US), and exclude other theme, and need not minify HTML files then use this command:
magento setup:static-content:deploy en_US --exclude-theme Vendor/yourtheme --no-html-minify
Here is shortcut to deploy only your theme
-a for area
-t for theme
-l for language
php bin/magento setup:static-content:deploy -l en_US -a frontend -t Magento/luma
- 
 1Shouldnt there be a-lbefore theen_US?James Harrington– James Harrington2018年05月23日 12:56:08 +00:00Commented May 23, 2018 at 12:56
- 
 php -d memory_limit=-1 bin/magento setup:static-content:deploy -l en_AU -a frontend -t Lowes/b2bThat did the trick for me. The only thing I noticed is, it deploys parent themes too.Damodar Bashyal– Damodar Bashyal2021年08月09日 06:29:47 +00:00Commented Aug 9, 2021 at 6:29
it seems that by now you have to deploy any language except en_US manually. i am working with 2.0.2 and develop-branch.
To deploy an specific theme with an specific language:
php bin/magento setup:static-content:deploy --theme Magento/backend --theme Vendor/mytheme pt_BR
If your magento is in developer mode then deploy specific theme using below commands :
Remove static content
rm -rf pub/static/* /*to remove files excluding .htaccess*/
rm -rf var/view_preprocessed/* /*to remove files excluding .htaccess*/
And then
php bin/magento setup:static-content:deploy -f --theme Vendor/theme
OR
php bin/magento s:s:d -f --theme Vendor/theme