Git - ne fusionne pas les suppressions
-
09-10-2019 - |
Question
J'ai une develop
branche avec des fichiers:
- index.php
- test.php
Je crée release
branche de celle-ci, où je mets les versions, faire, etc petites corrections de bugs, et supprimer test.php qui ne va pas dans la version de production. Ensuite, je veux fusionner cette branche en develop
mais que vous voulez garder test.php développer la branche. Comment faire? Le comportement par défaut de git merge
supprime simplement le fichier.
La solution
1 / Je préférerais rebasage développer la branche (si vous ne l'avez pas poussé à une distance encore repo) au-dessus du maître, pour vous assurer que tout mon développement est toujours compatible avec la dernière version (et toutes ses corrections de bugs).
Si votre développement actuel est vraiment différent de la libération (refactoring massif), alors et seulement alors je considère picorage les corrections de bugs.
2 / Si un besoin de fichiers à conserver tout comme lors d'une fusion, vous pouvez définir un gestionnaire de fusion dans un fichier .gitattribute
que dans la branche développement.
Autres conseils
La sagesse conventionnelle est que vous jamais fusionner à partir d'une branche de sortie dans une branche de développement. Au lieu de cela, appliquer les corrections de bugs commits à la branche de développement en utilisant git cherry-pick
.