Collaboration en équipe - Que dois-je faire si quelqu'un a besoin de la fonctionnalité que j'ai écrite en tant que dépendance dans git flow ?
伊谢尔伦
伊谢尔伦 2017-05-02 09:28:14
0
3
810

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.

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

répondre à tous(3)
巴扎黑

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 :

  1. Les nœuds Git sont peer-to-peer

  2. 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

cd /home/John/demo/; 
git init
git add .
git commit;
  • Si Jane et John sont sur la même machine de développement, alors elle peut cloner le code de John directement chez elle

git clone /home/John/demo/ #Jane应该具有该目录的权限
  • Maintenant, John peut continuer à se développer, Jane peut également continuer à se développer, et tous deux peuvent continuer à se soumettre ;

git commit #John
git commit #Jane
  • 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

 ;
git pull --rebase origin
  • 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 ;

git remote add jane /home/Jane/demo/
git pull --rebase 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 dans feature/user_login
afin que feature/user_login puisse directement tester
et quand feature/user_login est développé, fusionnez-le dans feature/user
et enfin finish feature/user

Il s'agit de développer feature/user_login en tant que sous-fonction de feature/user
Si la fonction n'est pas conçue de cette façon, il est préférable de développer feature/user après finish feature/login

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal