GIT de la ramification de la stratégie à 2 branches (master, tâche) - comment empêcher le code de la perte dans la branche principale?

0

La question

Je lis à propos de GIT de la ramification de la stratégie qui consiste à maîtriser, de développer, de correctifs, version, fonction.

Nous sommes à 5 développeurs qui travaillent sur un site web python. La suite est de la ramification de la stratégie que je veux utiliser sur GitHub.

  1. Le code de Production est dans la branche master.
  2. J'ai créer une Tâche branche de la branche master.
  3. Je travaille sur le groupe de direction générale, et avant de pousser le code git-je passer en master et tirez le code, passez à la Tâche et de fusion avec le maître. C'est alors que mon code est en synchronisation avec le maître
  4. Pousser code
  5. Augmenter le PR de la Tâche de branche en branche master.

Qu'advient-il si le maître a du code supplémentaire qui me manque dans ma Tâche de la branche et j'ai oublier d'exécuter l'étape 3?

git github
2021-11-23 14:18:56
2

La meilleure réponse

1

Si vous utilisez GitHub, vous pouvez ajouter une Branche de la Protection de la Règle qui exige que les branches d'être à jour avec les master branche avant qu'ils ne soient autorisés à être fusionné dans une Pull Request:

GitHub's 'require branches to be up to date before merging' protection rule

La direction générale doit être à jour de la base de la branche avant de les fusionner.

Voir le GitHub Direction de la Protection de la règle de la documentation ici.

2021-11-23 14:34:28

L'autre réponse semble indiquer que c'est automatique?
variable

C'est une garantie supplémentaire de sécurité pour votre master de la branche. Si cette branche de la protection de la règle est désactivée, les docs disent: "vérifications d'État peut échouer après la fusion de votre direction si il y a des changements incompatibles avec la base de la branche."
Adil B

Est-ce à empêcher la fusion, même quand il n'y a pas de conflit (donc pas de ligne de conflit) mais le code a changé dans d'autres endroits? Ce qui a obligé les développeurs à tirer de code plus tard, et fusionner avant de faire un RP?
variable

Oui, c'est le but de cette branche de la protection de la règle. La page de documentation a quelques détails utiles, aussi.
Adil B

Où est le paramètre pour empêcher de pousser à maîtriser sans PR?
variable

Permettre à l' Restrict who can push to matching branches direction de la protection de la règle et vous pouvez restreindre direct pousse à master, y compris les administrateurs du référentiel.
Adil B
1

Vous ne perdrez pas de code. Si votre Task la branche est poussé sans être synchronisés à l' master tout d'abord, GitHub est vous dire si il y a un conflit.

En cas de conflit, vous obtiendrez ce message sur le RP:


enter image description here


Ensuite, vous pouvez tirer master localement, résoudre les conflits et de repousser les changements de Task.

Si il y a aucun conflit de fichiers, vous pouvez les fusionner sans mise à jour de votre Task branche, même si master est en avance.

2021-11-23 14:30:54

Qu'entendez-vous par If there are no conflicting files - entendez-vous pas de conflit avec le respect de tout le fichier ou des lignes spécifiques contradictoires?
variable

Je veux dire tous les conflits que vous rencontrez lorsque vous fusionnez localement: les lignes qui git ne peut pas fusionner lui-même. Il peut être un ensemble de fichiers (fichier supprimé vs le fichier modifié) ou des lignes spécifiques. Mais si vous modifiez le même fichier en deux parties différentes, il n'y aura pas de conflits
thchp

Est-il possible que je peux les empêcher de fusion, même quand il n'y a pas de conflit (donc pas de ligne de conflit) mais le code a changé dans d'autres endroits?
variable

Vous pouvez appliquer de l'avance rapide de fusion sur votre repo stackoverflow.com/questions/60597400/... Mais quel serait le point de le faire? Si vous voulez protéger votre branche de production, vous ne devriez pas permettre à votre équipe pour se fondre en elle, sauf pour ceux qui ont le droit (maintenir rôle de vs écrire rôle peut-être?)
thchp

Empêcher la fusion, je voulais éviter le PR.
variable

Vous ne pouvez pas empêcher le PR. Vous pouvez protéger les branches de sorte que seul les admins peuvent fusionner un PR, et exigent que les bp sont à jour par l'application linéaire de l'histoire
thchp

Quel est le paramètre mentionné dans l'autre réponse?
variable

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................