2010-01-20 4 views
2

Par exemple, supposons que j'ai Repository 1 et Repository 2. Repository 1 a un fichier /a/b/c/d. Serait-il possible pour moi d'importer ce fichier dans le Repository 2 en tant que /e/f/g/h?Puis-je extraire uniquement certains fichiers d'un autre dépôt git?

La raison étant que je veux tirer dans les changements d'une branche expérimentale d'un dépôt git différent. J'ai essayé de tout fusionner, mais il y avait une tonne de conflits (de toutes sortes). Par conséquent, je doute que je puisse fusionner toute la branche, mais je voudrais essayer d'en faire autant que possible.

Y a-t-il un moyen de faire ce que je veux faire, ou est-ce que je vais devoir recourir à la copie directe de fichiers?

Répondre

1

Vous pouvez obtenir des fichiers à partir du référentiel distant à l'aide de git archive. Vous pouvez ensuite ajouter et valider les fichiers dans votre référentiel. Cette approche ne préservera pas l'histoire de sa branche. Voir git archive docs pour plus de détails. Si vous souhaitez essayer de préserver des parties de cette branche expérimentale, vous pouvez utiliser son dépôt, puis git rebase sa branche expérimentale sur votre référentiel, en éditant ou en ignorant les conflits, le cas échéant. Une fois que vous avez nettoyé une branche dans votre référentiel, vous pouvez la fusionner. Voir git rebase docs

1

Vous devrez copier le fichier directement. Git traite des référentiels entiers, pas des fichiers uniques en leur sein.

Je suppose que vous pouvez définir Repository 2 comme un dépôt distant, fetch (pas pull) ses branches, puis utilisez git checkout pour saisir un fichier de cette branche, mais cette solution pourrait être salissant.

Questions connexes