2010-11-11 7 views
1

J'ai un repo qui contient quelques fonctions utilitaires dans un single file. Je voudrais en quelque sorte ajouter ce fichier à another repo, en gardant le lien vers l'ancien (afin que je puisse pousser/tirer pour le garder à jour), tout en gardant tous les autres fichiers. L'objectif est que quelqu'un qui tire le deuxième dépôt devrait également obtenir les fonctions d'utilité sans avoir à manipuler plusieurs repos. Est-ce faisable par exemple avec cherry-pick ou une certaine syntaxe spéciale remote/clone, ou dois-je déplacer les fonctions d'utilité à un repo séparé?Cloner une partie de Git repo dans un autre repo

Éditer: On dirait Partial sharing of git repositories et Working with subtree merge de GitHub pourrait être pertinent; vérifier sur eux.

Édition 2: Après avoir lu à propos de subtree merge, il semble que cela fera l'affaire, si je peux juste trouver le "id de l'arbre (s) à lire/fusionner", comme mentionné par git help read-tree. Est-ce juste un ID de validation?

Répondre

2

Les objets d'arbre ne sont pas les mêmes que les commits. Un objet arbre représente essentiellement un répertoire. Un commit contiendra un arbre représentant l'arbre de travail; cet arbre peut contenir d'autres arbres (sous-répertoires) ainsi que des blobs (contenu des fichiers).

Vous pouvez trouver le SHA1 arbre dont vous avez besoin à l'aide git ls-tree sur le répertoire:

$ git ls-tree HEAD Documentation/howto 
040000 tree 7f4e8e870f2e4e7682a344e9a305f065388553e2 Documentation/howto 

Et vous pouvez jeter un oeil à git-subtree, qui se termine beaucoup de ce genre de choses d'une manière agréable et sympathique.

Questions connexes