Cada fonte externa precisa ser mesclada no projeto principal ou pode ser mantida separada como bibliotecas / módulos / plugins?
Submódulos
Se forem bibliotecas que você deseja modificar e rastrear no git, você pode usar submódulos . Isso permite que você mantenha um projeto dentro de um projeto e facilite a atualização a partir dessa origem do projeto, ao mesmo tempo em que faz suas próprias alterações.
Rebasing
Se fizer mais sentido integrá-los no projeto principal, dê uma olhada em rebasing . Com uma mesclagem, seu histórico de confirmação pode começar a parecer muito confuso, especialmente se você estiver usando várias fontes.
Com o rebasing, você basicamente coloca um conjunto de commits após outro set, fazendo com que tudo seja codificado linearmente um após o outro.
Aqui está um artigo que eu achei muito útil quando aprendi git rebase
.