Maison > Questions et réponses > le corps du texte
Nous avons quelques grands projets qui ont déjà été gérés par TFS, mais nous devons maintenant les transférer vers git pour les utiliser.
Mais nous avons rencontré quelques problèmes lors du processus de transfert.
Par exemple, dans TFS, nous avons un projet principal, et de nombreux autres projets feront référence à ce projet principal. Dans GIT, chaque projet est un dépôt, alors comment les dépôts se référencent-ils ?
J'ai dessiné un diagramme schématique :
J'ai essayé le sous-module et le sous-arbre. Ils copieront le code du projet référencé sous le dépôt du projet principal, il y aura donc de nombreuses copies du code. Existe-t-il un moyen pour GIT de ressembler à TFS, quel que soit le nombre de projets se référant les uns aux autres, il n'y a qu'un seul code et il est facile à maintenir ?
La structure actuelle de notre projet ressemble à ceci :
Si vous utilisez GIT, le code product_core sera copié plusieurs fois. Existe-t-il une solution qui référence automatiquement le projet sans copier plusieurs copies du code ?
阿神2017-05-02 09:26:56
S'il s'agit d'un projet java, il est recommandé d'utiliser Maven
ou gradle
pour gérer les dépendances du projet, puis d'utiliser git pour gérer l'ingénierie du projet. Bien entendu, Maven
et gradle
peuvent également gérer des projets non-java.
Après quelques recherches, cette question est similaire au titre :
http://programmers.stackexchange.com/questions/114719/organizing-git-repositories-with-common-nested-sub-modules
阿神2017-05-02 09:26:56
Je crois comprendre que vos modules sont couplés entre eux. Mais parfois, c'est inévitable.
Les composants ou le code publics doivent être modifiés le moins possible. Modularisation, il n'est pas recommandé de réduire plusieurs projets en un seul projet
à gérer. De nombreux langages disposent désormais de leurs propres composants tiers, et ces plug-ins utilisent également git
Gestion, publiez une version stable et mettez-la à jour dans le projet lorsque les composants seront mis à jour à l'avenir.
给我你的怀抱2017-05-02 09:26:56
Je comprends que votre noyau est équivalent à un projet de base. Pourquoi cette relation de référence devrait-elle être maintenue au niveau du code source ? Le code source du projet doit être relativement indépendant. Quel est le but d'être couplé ainsi ?
Maven n'est-il pas habitué à faire ce travail ? Pourquoi faut-il le citer au niveau du code source ?
伊谢尔伦2017-05-02 09:26:56
Divisez-le en applications indépendantes. Le développement multi-branches avec votre structure sera bientôt brisé