2017-10-12 2 views
0

Nous utilisons Git dans notre équipe pour gérer notre base de code.Comment ne pas perdre de travail dans la fusion git committe

De temps en temps, j'ai remarqué que nous avions des cas où des changements de code particuliers sont perdus. J'ai suivi la question vers le bas et il semble être causé par fusion engage:

  1. Un développeur tire des changements d'origine à son repo local.

  2. Une validation de fusion est effectuée. Puisque ceci n'est pas validé automatiquement (par défaut), le développeur apporte une modification à la validation de fusion (par exemple: annuler un changement de fichier de code particulier).

  3. Le développeur pousse à l'origine.

Quelle est la meilleure façon de se protéger de ce scénario?

De même, comment puis-je restaurer les changements perdus de la manière la plus simple? En général, j'applique manuellement les modifications à nouveau.

+0

Vous pouvez toujours revenir à la validation avant la fin de la fusion. – lilezek

+1

Vous avez probablement perdu du travail en raison de conflits de fusion mal gérés. – hspandher

+1

Normalement, les développeurs ne doivent pas ignorer les modifications des validations de fusion. – crashmstr

Répondre

1

Je pense que dans ce genre de cas, vous devriez simplement éviter les commits de fusion. Cela signifie que vous devez simplement rebasage votre travail en haut de la branche à distance chaque fois que vous tirez, par exemple:

git pull origin master --rebase 

Vous pouvez configurer ce soit la valeur par défaut dans votre .gitconfig.

+0

Y a-t-il des inconvénients à cette approche? –

+0

Vous ne pouvez pas avoir de fichier modifié pour cela, vous devrez peut-être stocker vos modifications et les annuler une fois qu'elles auront été effectuées. Si votre équipe se débat avec le conflit de fusion, ce ne sera pas une solution magique. Cependant, je pense que c'est plus simple car le développeur ajoutera son travail au dessus de ce qui est déjà dans le dépôt git. – Axnyff