Yes, when you build "next" branch it creates build/ directory with content
build/firmware/
build/librepilot-gcs_release/
...
These two directories contain firmware and gcs that are matching eachother. Of course whenever you pull changes from git, you need to do make clean, to make sure that both firmware and gcs is rebuild from the same sources. The version of "next" is git hash, which changes everytime developer commits new stuff to "next" branch. You shouldn't really pair any random version of "next" gcs/firmware. You need both build from exactly same source code.