git 中,关于在主分支修改Bug的问题!
伊谢尔伦
伊谢尔伦 2017-04-28 09:04:29
0
3
770

首先我们开发的分支包括master和dev
master是主分支
dev为开发分支
我们每次提交的模式是,大家都有各自的本地分支,a,b,c,他们都向dev进行提交,提交并测试通过的提交到master分支.
以上是开发流程

下面描述问题:
由于现在master生产环境配置了大量生产信息,并且这些修改仅在master上.我们现在需要修改该一个Bug,这个Bug是dev和master同时存在的(bug很紧急).理论上,应该在提交到dev上然后测试通过修复bug再提交到master上.但是现在dev上有大家提交的未测试的功能,故不能仅仅在dev上修改后立即提交到master上,也不能仅仅只在master上提交,然后master merge 回dev就会将大量配置信息引入dev环境.所以我们的处理办法是dev上修改一遍master上修复一遍.

理论上当下次提交的时候会出现diff,这个diff也仅仅是真对于这个Bug的,这是我们能想到的办法了,但我觉得一定有比这个更好的办法,请问大家有没有好的解决方法和意见!

看到网上,有这样的解决办法,是在我们的master分支切一个分支出来,然后更改bug后,分别merge 到master 和dev,但是我还是不理解,这样还是会将master的配置信息带入dev.请问这样对否?还是我理解有什么偏差,谢谢!

伊谢尔伦
伊谢尔伦

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

répondre à tous(3)
曾经蜡笔没有小新

Créez une branche depuis master, vous pouvez appeler le correctif recommandé à l'étage, le modifier plus tard, puis valider.

Ensuite, au lieu de fusionner directement du maître vers le développeur (car vous avez des informations de configuration différentes), utilisez cherrypick pour valider (s avec seulement des différences) ) "pick" vers dev .

Dans votre cas, cherrypick est plus approprié que merge, mais vous devez noter qu'il doit être dans le(s) commit(s) de cherrypick plus tard . N'incluez pas le contenu dont le développeur ne veut pas (comme les informations de configuration spécifiques du maître). Si ces contenus sont également modifiés, ils peuvent être soumis séparément, car cherrypick peut "ignorer la sélection" des commits. ).

Enfin, je me demande pourquoi des éléments tels que les informations de configuration se trouvent également dans le référentiel. Cela ne signifie-t-il pas qu'il existe un risque d'écrasement des informations de configuration lorsque dev est fusionné avec master ? Si vous pouvez isoler les informations de configuration, vous n'avez pas besoin de cherrypick mais pouvez directement fusionner - c'est la solution que vous voyez en ligne.

我想大声告诉你

Je n'ai jamais rencontré ce genre de scénario. Si cela se produit, je le ferai probablement
Créez un nouveau correctif de branche
à partir du même commit que master dans la branche dev Correction de bugs dans le correctif
Une fois la réparation terminée, le maître et les autres membres du personnel fusionnent cette branche

淡淡烟草味

Opération @Larvata dite, fichier de configuration @nightire dit, permettez-moi d'ajouter un matériel de référence

Un modèle de branchement Git réussi

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!