Comment organiser correctement plusieurs branches ayant chacune un système de fichiers différent?Git - Plusieurs branches avec différents systèmes de fichiers
Voici la situation -
J'ai deux branches:
- maître actuel avec les fichiers de projet qui ont été faits il y a un an
- actuel se développer avec de nouveaux fichiers de projet (cadre complètement différent) qui est sur le point de se développer et à un moment de basculer
Le point où les choses Le problème est que develop brach a, par exemple, le dossier "storage" qui est ignoré par le fichier .gitignore. L'autre branche n'a pas ce dossier (et c'est pourquoi il n'est pas aussi dans son fichier .gitignore). Lorsque je passe de développer à master brach, ce dossier "stockage" apparaît soudainement dans une autre branche où il ne devrait pas être du tout.
Comment puis-je spécifier à chaque projet quels fichiers/dossiers ne doivent pas être envoyés au serveur et en même temps quels fichiers/dossiers doivent coller avec chaque branche sans passer par les branches à chaque caisse.
J'ai réussi à résoudre ce problème en ajoutant ce dossier au fichier .gitignore dans le projet où ce dossier ne devrait même pas exister (c'est comme ça que je ne vois pas de fichiers inchangés qui devraient être validés) mais je suppose ce n'est pas la meilleure solution parce que pourquoi exclurais-je quelque chose qui ne devrait même pas être là?
Cela devient encore plus compliqué lorsque j'utilise PHPStorm IDE. PHPStorm crée dans chaque projet (dans ce cas - chaque branche) le dossier ".idea" où se trouvent tous les fichiers de configuration et d'historique pour un projet spécifique. Évidemment, je ne veux pas envoyer ce dossier au dépôt distant (parce que chaque développeur a son propre dossier .idea pour chaque projet), c'est pourquoi je l'exclure dans le fichier .gitignore (je l'ai fait pour les deux branches car chaque branche son propre dossier ".idea"). Quand je checkout à une autre branche, ce dossier se déplace vers cette branche ce qui ne devrait pas arriver parce que ce dossier .idea ruine le dossier .idea d'une autre branche. Toutes les configurations sont foirées.
Pourquoi deux systèmes de fichiers de projet différents comme deux branches et non deux projets? - Parce que c'est le même projet. Juste une toute nouvelle version qui sert le même design visuel, la même fonctionnalité et ajoute beaucoup de fonctionnalités supplémentaires. Cela n'a aucun sens de l'appeler comme un autre projet. C'est une version différente mais le même projet.
Cela semble une façon de le gérer correctement. Pour une raison ou une autre, je n'ai rien remarqué à propos de worktrees pendant que je cherchais une réponse à ce problème. Je vais essayer de les utiliser et si cela va résoudre mon problème, je vais accepter cela comme réponse correcte. –