Gulp is the slave of a front end developer to DRY concatting, minifying, uglifying, compressing, and everything.
Read this beautiful introduction by Travis Maynard.
The absolute basic of gulp is that everything is piped.
Gulp runs tasks simultaneously. But sometimes you need to run them one after the other. For this, till this issue is solved, you can use run-sequence as pointed out by Tomasz Bujnowicz. For a sample such gulpfile, see my gulpy branch of diaspora yatra