We've been following git flow loosely at work now for the past few months, but have been running into issues with lengthy QA waits.

Here's our process:

* developers develop locally on feature branches
* when the team thinks the feature is ready, it's merged into dev, pushed to dev server (Codeship & rsync)
* client approves feature
* feature merged into master, pushed to prod

Unfortunately, the client can sometimes take up to weeks to approve a feature. It could be due to backlogs, content creation, staff turnover, etc. 

However, in the meantime, a new feature may have been merged into dev and be pushed to the dev server for approval. Say this 2nd feature gets approved and needs to be deployed ASAP (of course). How am I going to get that 2nd feature off of dev without bringing the 1st feature?