Едва ли сравнение, но вот то, что используют большие проекты:
ядро Linux, KDE, Perl, Ruby on Rails, Android, Вино, Fedora, X.org, Mediawiki, Django, VLC, Моно, Gnome, Samba, CUPS, GnuPG, Emacs ELPA...
Mozilla и Mozdev, OpenJDK (Java), OpenSolaris, ALSA, 3G NTFS, Голубятня, MoinMoin, дурак, PETSc, Октава, FEniCS, Способность, Python, XEmacs, Xen, Vim, Xine...
Emacs, Склонный, Почтальон, MySQL, Сквид... также продвинутый в Ubuntu.
ghc, ион, xmonad... популярный в сообществе Haskell.
SQLite
You may be looking for the Git feature called submodules. This feature helps you manage dependent repositories that are nested inside your main repository.
git-subtree will help you work with multiple projects in a single tree and keep separable history for them.
Я бы использовал один репозиторий для каждого проекта. Таким образом, историю становится легче просматривать.
Я бы также проверил версию сторонней библиотеки, которую я использую, в репозиторий проекта, использующего ее.
Place your third party libraries in a separate repository and use submodules to associate them with the main project. Here is a walk-through:
http://git-scm.com/book/en/Git-Tools-Submodules
In deciding how to segment a repo I would usually decide based on how often I would modify them. If it is a third-party library and only changes you are making to it is upgrading to a newer version then you should definitely separate it from the main project.