How to deploy only changed files from selected commit


I'm trying to find a way to be able to quickly deploy only changed files from last commit.

Using Version Control / Log tab i'm able to see only changed files. I tried to use "Apply selected changes", so I could add these files to some "Changed files" list and then I'd be able to select all but only changed files for "Deployment" tool. But "Changed files" list remains empty.

So is there a way to do this?

Of course I can select all project files to deploy and eventually PHP Storm will show only the changed ones after making diffs, but it's a litte waste of time since me & PHP Storm knows which files are changed.

Thanks for help,


Comment actions Permalink

Hi there,

What's your IDE version exactly?

There was an issue in 2019.2 that would report "no files or folders found to process" when trying to upload after commit.

It's fixed for next 2019.2.1 minor version ( -- you can try EAP build now if so desired:

if it's not your case -- provide some more details about the issue (check idea.log for messages/exceptions -- "Help | Show Log in ...").

Comment actions Permalink

Hi Andriy,

it's 2019.2. I don't think that's my case. I'm not sure even in there is some bug - I may simply do sth wrong. Here's my flow and what I want to achieve:
1) I've pulled changes from git
2) I've merged changes into my branch
3) I want to send changed files to server via FTP using Tools/Deployment

On VersionControl tab I have a list of files that changed on step 2, so I'd like to select only this files for step 3. How to do this?


Comment actions Permalink

Originally I was referring to this functionality:


If you now want to upload your local files, use Sync with Deployed


Personally cannot help more than that as I never used Upload after commit or Upload based on VCS myself -- always sync what I have locally with remote (on demand)

Comment actions Permalink

Appologies for the delay, but I was on holidays :)

I currently use Sync with deploy, but since project is pretty big and there are some differences between production version on server and my local version, I don't want to use "automatic upload" option. 

So my idea is pretty close the the ones RJ posted, especially:

But with option to do it manually - open deployment ("Diff between...") window only for merged files. So basically like on the "visualization" from this issue:

I've made an upvote for this Issue. Is there anything more I can do? :)










Comment actions Permalink

Yes, prey :)

WI-421 is only 10 years old request...

Comment actions Permalink

I agree with the concept of that functionality. I'd like to have such option. Today I stumbled over such case:

I'm working on a huge project (~500MB of git versioned files). I made some changes in a few couples of them, within a number of commits. One of my coworkers also pushed his changes with number of commits. I merged all this to master.

Now I need to publish the changes, but I definitely don't want to make a full Sync With Deployed to my production server and compare 500MB of remote files when I need to sync, like, 1MB of changes within 50 files, which is realtively small pack.

I didn't really find a solution to make the operation quick and painless, I had to browse all the latest commits, navigate all these directories where the changed files are and sync/upload one by one. OR sync whole 0.5GB for deploying a few changes.

So I thought it will be very useful to have the option to sync/deploy the files affected in selected range of commits. I know, that sometimes it might lead to a problematic case where some of commits renamed or deleted some files and here they will be displayed also as "affected". But specifying which one of them are they and excluding them from upload in most cases is still much better than picking every single file manually.

Comment actions Permalink

I have the same problems at Wolo, it doesnt make sense to sync 500MB of files when you know you have 500KB of files to deploy.


Please upvote this bug:



Please sign in to leave a comment.