2010-11-23 4 views
5

J'ai un référentiel Git avec beaucoup d'historique. Je voudrais que cela soit accessible aux autres, mais l'un des répertoires contient du code propriétaire qui ne peut pas être distribué. Est-il possible de faire un clone du dépôt (avec l'historique) qui exclut ce répertoire? Bonus: J'aimerais aussi pouvoir fusionner les modifications apportées au code public dans l'ancien référentiel principal dans le clone.Référentiel Clone of Git à l'exclusion du sous-répertoire

Répondre

1

Vous ne pouvez pas faire cela à moins que vous ne soyez prêt à réécrire chaque hash de validation. Si vous décidez de réécrire l'historique du référentiel pour exclure ce répertoire, vous devrez vous coordonner avec toute personne qui est un contributeur ou un consommateur du référentiel. Vous aurez besoin de filter-branch pour ajuster l'arbre. Le script devra initialement créer un référentiel qui est un sous-module dans le référentiel. Il devra s'engager dans ce dépôt interne chaque fois qu'il y a un changement et ajuster la référence du sous-module dans le parent, en le validant également à ce niveau.

Vous pouvez maintenant publier le repo et personne ne sera en mesure de faire une opération de sous-module git mais c'est ce que vous voulez.

Questions connexes