Est-il possible d'avoir un repo git à l'intérieur d'un autre repo git
J'ai un projet django géré avec git. Je suis git le poussant à mon hôte. Maintenant, je veux être en mesure de pousser juste l'un des répertoires (inc. tous les sous-répertoires) à un autre repo git. Comment est-il possible, si cela est possible?
Edit: Donc, je veux que le répertoire à un repo git lui-même.
OriginalL'auteur yasar | 2011-08-22
Vous devez vous connecter pour publier un commentaire.
Regarder de git pour soutenir la submodules. Vous devez ajouter le deuxième référentiel comme un sous-module principale de votre projet, par exemple avec des commandes comme:
Lorsque vous changez de
library-code
sous-répertoire, c'est comme si le dépôt parent n'existe pas, vous pouvez changer deorigin
à utiliser un transport en commun que vous pouvez pousser plus et poussez ensuite comme si c'était complètement indépendant.Pour spécifier que vous souhaitez la sous-module pour être à une version particulière, vous devez changer dans le sous-module et l'utilisation
git checkout
pour passer à la bonne version. Puis vous revenez à l'dépôt principal et de la scène et de s'engager à ce que de nouveaux sous-module version:L'arbre du référentiel principal seulement les magasins de la version que le sous-module devrait être au, de sorte que lorsque vous appuyez sur le dépôt principal, c'est de ne pas pousser tous les fichiers dans le sous-module.
Afin de se séparer de ce sous-répertoire, tout en préservant l'histoire, vous aurez besoin de cloner votre dépôt original et utilisateur
git filter-branch
de réécrire l'histoire, comme décrit dans cette réponse:Ensuite, vous pouvez pousser vers un nouveau référentiel GitHub, le retour de l'original de votre projet, de supprimer le sous-répertoire, et de le remplacer par le sous-module tel que décrit ci-dessus.
Si vous n'êtes pas très familier avec git concepts alors c'est peut-être difficile pour vous, je vous recommande de lire sur submodules à l'avance.
Voulez-vous conserver l'histoire du tout dans le sous-répertoire?
Et que dire de sous-module lorsque que j'appuie sur plus de repo à d'autres à distance repo? Cela comprend-il les sous-module de fichiers?
la préservation de l'histoire n'a pas d'importance dans le sous-module, tant que l'histoire en plus des pensions n'a pas foiré.
J'espère que j'ai ajouté à ces questions dans mes modifications de la réponse. Si vous n'avez pas de soins sur l'histoire de la sous-répertoire, alors vous n'avez pas besoin de s'inquiéter à propos de
git filter-branch
étape, vous pouvez simplement copier le contenu du sous-répertoire dans un nouveau dépôt git, et pousser à GitHub.OriginalL'auteur
Lorsque vous apportez des modifications à un répertoire particulier, l'étape de ces changements et des commit et push, vous êtes effectivement en "poussant" juste ce répertoire.
Si l'autre repo Git a seulement le répertoire que vous souhaitez faire, et c'est pourquoi vous voulez l'avoir en tant que pensions de dans lui-même, vous pouvez regarder Submodules.
OriginalL'auteur
Avez-vous regardé dans les submodules? Il permet de dépôts git à proprement nid, mais totalement indépendant.
Cela signifie que vous pouvez avoir un sous-répertoire avec une autre url distante pour le push/pull et les différents commettre arbre+log sans encombrer le projet principal.
https://git.wiki.kernel.org/index.php/GitSubmoduleTutorial
OriginalL'auteur