J'ai les télécommandes Foo et Bar. Foo est une application web qui a beaucoup de répertoires, parmi lesquels /public
qui contient des fichiers assortis et d'autres répertoires.git: est-ce que je peux fusionner un sous-chemin d'un dépôt?
Bar est un ensemble de bibliothèques et ce qui n'est pas utilisé sur le front-end, en tant que tel, il devrait aller dans /public/bar
dans Foo. Foo n'a pas de fichiers là-bas.
Tout cela serait un jeu d'enfant avec des sous-modules ou une fusion de sous-arbres. Cependant ...
L'arbre de Bar est désordonné, il a toutes sortes de fichiers de pré-production comme les PSD et les FLA, et la seule partie vraiment utile est ce qui est à l'intérieur de son /www/tools
. Donc, ce que je veux faire est de fusionner /www/tools
de Bar dans /public/bar
de Foo, et prétendre que le reste de l'arbre de Bar n'existe même pas.
Peut faire?
(je suppose que cela est très similaire à la façon dont la fusion d'un projet qui à l'origine comme la vôtre a fusionné sous-arbre. Ce que je ne sais pas comment faire, que ce soit.)
Oui, je serais heureux de garder l'histoire. Peut-être que quelque chose pourrait être fait avec filter-branch. – kch
1.) vous pouvez utiliser "git checkout FETCH_HEAD www/tools" 2.) probablement vous pouvez utiliser "git checkout --merge FETCH_HEAD www/tools" 3.) après l'enregistrement de l'état requis dans le répertoire de travail, vous pouvez créer une fusion à la main en écrivant FETCH_HEAD à .git/MERGE_HEAD avant git-commit –
Ah, je savais qu'il devait y avoir une meilleure façon de faire la partie FETCH_HEAD –