Par exemple, je développe le feature/user
module de gestion des utilisateurs pour fournir le nom de l'utilisateur, ses informations, etc., et mon collègue développe le feature/login
système de connexion. Il a besoin de mon module utilisateur pour détecter s'il peut se connecter. et obtenir des informations sur les utilisateurs, etc.
Question 1 :
En supposant que j'ai complété le système utilisateur, comment puis-je le donner à mes collègues pour qu'il l'utilise ?
Dois-je dire finish
d'abord, puis mes collègues finish
, et ensuite mes collègues start
? Pas très réaliste.
Question 2 :
Supposons que je n'ai pas terminé le système utilisateur, mais que j'ai complété ce dont mon collègue a besoin, comment puis-je le laisser l'utiliser ?
Se pourrait-il que moi finish
d'abord, mes collègues finish
ensuite, et mes collègues et moi start
continuons le développement séparément ?
Existe-t-il de bonnes solutions pour cela ?
Supplément : Tout d'abord, la raison principale est que le temps est trop serré. Une personne ne pourra certainement pas l'écrire, donc plusieurs personnes doivent travailler ensemble, mais plusieurs personnes impliqueront des problèmes de dépendance. Je me demande donc comment résoudre ce problème.
Puisque vous n'avez pas mentionné si vous développez dans le cadre du même projet ; je suppose que vous travaillez sur le même projet. Avant d'expliquer ce que je veux dire, veuillez jeter un œil aux points suivants pour voir si vous êtes clair. eux :
Les nœuds Git sont peer-to-peer
Git prend en charge ssh, http, file et autres protocoles
Ma suggestion :
Supposons que John et Jane collaborent sur le même projet ;
John crée une démo de projet, qui se trouve dans son répertoire personnel
Si Jane et John sont sur la même machine de développement, alors elle peut cloner le code de John directement chez elle
Maintenant, John peut continuer à se développer, Jane peut également continuer à se développer, et tous deux peuvent continuer à se soumettre ;
;Depuis que Jane a directement cloné le code de John, git a naturellement enregistré l'adresse d'un autre développeur dans le répertoire de Jane, son nom est distant et le contenu spécifique est dans .git/config. est l'origine ; Jane
peut extraire directement toutes les mises à jour de la source d'origine dans son propre code
La question est : que se passe-t-il si John a également besoin du code de Jane ? Puisque le projet git de John n'a aucune autre information sur le nœud de développement, il doit l'ajouter manuellement après l'avoir ajouté, il peut l'ajouter à ; à tout moment, tirez la mise à jour de Jane ;
;Maintenant, John et Jane peuvent extraire le code de chacun dans leurs propres dossiers ; développer avec bonheur
Je pense que cette exigence est en conflit en termes de division du travail
Un module est fortement dépendant d'un autre module et doit attendre
Affinez donc vos besoins
Une fois le module Utilisateur complété, vous pouvez le soumettre
A ce moment, branchez votre module et continuez
Votre collègue branche son module et continue
C'est une procédure standard
Il existe un concept appelé intégration continue. Plus l'opération d'intégration est effectuée tôt, mieux ce sera pour votre code
Le concept qui s'étend vers le bas est appelé livraison continue pour faire face à cet environnement. à
Pour cette situation je recommande cette méthode :
Ouvrez une nouvelle branche à partir de la branche
feature/user
feature/user_login
Lorsque le développement
feature/user
entre dans une phase utilisable, fusionnez le code dansfeature/user_login
afin que
feature/user_login
puisse directement testeret quand
feature/user_login
est développé, fusionnez-le dansfeature/user
et enfin
finish
feature/user
Il s'agit de développer
feature/user_login
en tant que sous-fonction defeature/user
Si la fonction n'est pas conçue de cette façon, il est préférable de développer
feature/user
aprèsfinish
feature/login