I come from a scripting language background, and from the research I've done into compiled code (binaries) is that they should not be committed to version control (git).
How are the binaries managed in real world by people and organisation? Are they simply stored on disk? How should the binaries be managed ideally?
They are :
pom.xml
listing dependencies, fetched from a Nexus repository.You do have some binaries which make it to a Git repo though: some static resources (like a picture) which do not evolve every five minutes, could end up in a Git repo.
Ideally, your binaries should be published in an artifact repository (ie not a Git repo) dedicated to store binaries. Nexus is one, there are others (NuGet, ...)