Difference between Git and Nexus?

git, nexus, repository

Solution

There are both referential:

- one (Git) is a source referential for version control (with features like merging, branching, tags)

- the other (Nexus) is an artifact referential for any delivery (binaries or not)

The referential database differs also:

- Git has its own internal repository storage mechanism

- Nexus is simply a collection of shared directories with a naming convention ( group.artifact.version ). As described in "What is a repository": a collection of binary software artifacts and metadata stored in a defined directory structure.

The idea is that, for large deliveries that can be produced quite often, it is much easier to store them in Nexus ( you can clean them easily enough: `cd` + `rm` ), as opposed to version them ( which makes a DVCS repo like Git way too big way too fast to be cloned easily ).

So their goals are different, as I explain in:

- "How do different version control systems handle binary files?"

- "Best practice to store .jar files in VCS (SVN, Git, …)"

- "Using source controlled libraries in source controlled projects"

You manage what you code in Git, and what you build in Nexus.

Problem

I can't seem to find what the difference is between Git and Nexus. Are the two comparable?

Original source

Related problems