Comment copier tous les fichiers d'un répertoire d'une autre branche? Je peux lister tous les fichiers dans ce répertoire en faisantGit: copie tous les fichiers dans un répertoire d'une autre branche
git ls-tree master:dirname
Je peux ensuite copier tous les fichiers individuellement en faisant
git checkout master -- dirname/filename
Cependant, l'utilisation des caractères génériques a jusqu'à présent été un total échec. Cela ne fait rien:
git checkout master -- dirname/*.png
Bien que je suppose que je peux utiliser un script bash pour le faire, il doit y avoir un moyen plus facile, non?
Que faire si je voulais conserver les messages de validation pour les fichiers copiés? – totels
@totels, strictement parlant, il n'y a pas de messages de validation associés aux fichiers; le message de validation est associé à l'objet commit lui-même. C'est ce que je suppose que vous voulez: 'git checkout master - dirname; git ajouter dirname; git commit -c $ COMMIT_SHA1 --reset-author; 'où' COMMIT_SHA1' pourrait ressembler à 'branch_a' et serait l'objet commit qui a le message de commit que vous voulez. Je ne sais pas comment déterminer par programmation le commit avec le changement le plus récent de 'dirname' –
Cela a un effet secondaire très étrange. Il copie 'dirname' sur, mais il copie aussi tous les fichiers qui se trouvent dans le '.gitignore' de la branche' master'. Une idée de pourquoi c'est? – Milimetric