¿Cómo usar el submodule de git con una biblioteca de terceros?

Quiero agregar una lib de terceros en github como submodule de git para un proyecto en el que estoy trabajando.

Como esta es una biblioteca que puede cambiar, y esos cambios están fuera de mis manos, me preguntaba cuál es la mejor práctica para usarla como un submodule.

Las opciones que tenía en mente son:

  1. Bifurcando la lib y usándola como un submodule para asegurar que ningún cambio dañe mi proyecto.
  2. Usar una twig / label de una versión específica (es posible) como un submodule

¿Es una de estas opciones la manera recomendada de ir? ¿Hay alguna manera mejor de dejar de lado estas opciones?

  • Si el propietario de esta biblioteca publica packages, podría ser más fácil usar su administrador de idioma: solo tendrá que actualizar el número de versión que desea usar cuando haya un nuevo package disponible.

  • De lo contrario, usar submodules (o subtree ) podría ser una opción. Como se indicó en los comentarios, aún podrá elegir el compromiso de la biblioteca que desea usar y lo actualizará cada vez que lo desee.

Como ejemplo, este proyecto utilizó sucesivamente ambas soluciones: comenzó con submodules y finalmente hizo reference a esta biblioteca como un package maven.

Tenga en count que al usar submodules, terminará clonando la biblioteca en su área de trabajo, por lo que no tiene sentido preguntarse si necesita mover la biblioteca.