Я не совсем уверен, подразумевает ли ваш вопрос, что все проекты, которые вы хотите включить, уже являются git-проектами или они в настоящее время находятся под управлением SVN, Mercurial, без контроля версий. Если это последнее, это должен быть индивидуальный ответ.
Скорее всего, проекты, которые вы хотите включить и настроить, уже есть, скажем, на github, и тогда вам определенно нужно пробиться через github и использовать эти вилки в качестве подмодулей. Любая настройка должна быть проверена и отправлена на github.
Может быть сложнее, если проекты, которые вы хотите включить, находятся где-то еще (или основаны на svn, mercurial и т. Д.). Одним из способов является локальная ветвление проектов, а затем настройка заданий cron для отправки любых входящих изменений в github. То есть создавать зеркала github. Чтобы получить полный контроль над слиянием и обновлением, вам, возможно, придется раскошелиться на эти зеркала и включить эти вилки как подмодули в свой проект, проверить локальные настройки и перенести их на развилку зеркала.
Альтернатива № 3, разветвленные проекты и только локальная регистрация, может использоваться в ситуациях, когда у вас нет вышеуказанных опций и то, что вы создаете, на самом деле не предназначено для легкого распространения.
Исправление обезьяны (альтернатива № 2 в вашем списке) должно быть альтернативой, оставляемой ситуациям, когда вы не хотите, чтобы проект зависел от того, что вы обновляете настроенную ветвь в соответствии с последними изменениями.