Difference between installing git vs installing git-all

What's the difference between

sudo apt-get install git-all

vs

sudo apt-get install git

Is there any advantage of installing either or all?


Git-all contains all sub-packages, whilst Git only includes main components with minimal dependencies.

As stated in Git on Debian Packages, Git does for example not include

graphical user interface and revision tree visualizer, tools for interoperating with other VCS's, or a web interface..

Those are additional packages.

If you look at Git-all on Debian Packages, you see it states

all sub-packages


I believe running sudo apt-get install git-all is roughly equivalent to running sudo apt-get --install-suggests install git. The latter caused problems for me on Ubuntu 15.10. Among other packages, it tried to install git-daemon-run, which didn't work. (https://bugs.launchpad.net/ubuntu/+source/runit/+bug/1448164)

Installing git-daemon-sysvinit first, then git, worked better for me. git-daemon-sysvinit replaces git-daemon-run.

So, to finish my thought, you can install either git-all or just git, depending on your requirements. But git-all has the caveat that you will need to install another package first. (git-daemon-sysvinit)


On my Ubuntu 17.10 x64 git-all v2.14.1 depends on:

  • git (actually git, 28.7 MiB without dependencies)
  • git-doc (git documentation, 10.8 MiB without dependencies)
  • git-cvs (git-cvs interoperability, 1.1 MiB without dependencies)
  • git-mediawiki (MediaWiki remote helper, 0.8 MiB without dependencies)
  • git-svn (git-svn interoperability, 1.0 MiB without dependencies)
  • git-email (git email add-on, 0.8 MiB without dependencies)
  • git-gui (git GUI, 2.2 MiB without dependencies)
  • gitk (git revision tree visualizer, 1.5 MiB without dependencies)
  • gitweb (git web interface, 0.8 MiB without dependencies)
  • git-el (git emacs support, in my case 113 MiB with all dependencies)

In my case git-all installed 93 packages totalling 215 MiB with all dependencies.

So, it's up to you which packages to install..

P.S. You can get all this information, for example, from Synaptic Package Manager.