2008-10-02 9 views
43

J'essaie de comprendre ce que sont les «greffes» dans le Git.À quoi servent les fichiers .git/info/grefts?

Par exemple, dans l'un des derniers commentaires here, Tobu supposé utiliser git-filtre branche et .git/info/greffes à se joindre à deux référentiels. Mais je ne comprends pas pourquoi j'ai besoin de ces greffes? Il semble que tous travaillent sans les deux dernières commandes.

+0

Le lien « ici » a disparu, mais est copié à http://www.seattlecentral.edu/cgi-bin/cgiwrap/dmartin/moin.cgi/Git –

Répondre

35

De Git Wiki:

points de greffe ou greffes permettent deux autrement différentes lignes de développement à assembler. Il fonctionne en laissant les utilisateurs enregistrer de fausses informations d'ascendance pour les commits. Cette façon vous pouvez faire git prétendre l'ensemble des parents un commit a est différent de ce qui a été enregistré lorsque le commit a été créé.

Raisons de l'utilisation Greffes

Greffes peuvent être utiles lors du déplacement développement à git, car il permet vous de faire le clonage de l'histoire ancienne importé d'un autre SCM en option. Cela conserve le clone initial pour les utilisateurs qui veut juste suivre la dernière version tandis que les développeurs peuvent avoir l'historique de développement complet disponible.

Lorsque Linus a commencé à utiliser git pour maintenir son arbre du noyau, il n'existait aucun outil pour convertir l'histoire du noyau vieux. Plus tard, lorsque l'ancien historique du noyau a été importé dans git à partir de la passerelle bkcvs, les greffes ont été créées en tant que méthode pour créer pour lier les deux référentiels ensemble.

8

Lorsque vous travaillez avec git-svn:

greffes git sont très utiles pour importer un arbre Git dans un dépôt Subversion.

E.g. J'ai créé un référentiel Git local pour commencer. Après avoir travaillé dessus plusieurs jours, en créant beaucoup de commits, j'ai dû le publier dans le référentiel central de Subversion et je ne voulais pas perdre l'historique.

Je trouve ce qui suit à l'article Comment: http://eikke.com/importing-a-git-tree-into-a-subversion-repository/

Questions connexes