2016-02-29 2 views
0

Je travaille au sein d'une équipe utilisant Visual Studio, en utilisant git fourni par Visual Studio Team Services (était Visual Studio Online). Nous utilisons des branches de fonctionnalité et nous fusionnons dans une branche centrale au fur et à mesure que nous terminons notre travail.Pourquoi git pense-t-il que mon fichier a été ou devrait être supprimé?

Mon travail actuel a été engagé sur la branche de fonctionnalité dans un état incomplet, et un de mes collègues qui fait une partie distincte du travail (mon travail est C#/.net, leur est web/UI) a fait une fusion temporaire (non validée) en studio visuel afin de vérifier que notre travail s'intégrera correctement. Leur travail a été validé dans notre branche centrale, sans que cette fusion ne soit apparemment terminée, et comme je tire des mises à jour de notre branche centrale dans ma branche de fonctionnalité, un certain nombre de fichiers que j'ai créés sur cette branche apparaissent être supprimé, sans déclencher un conflit de fusion.

Pourquoi est-ce arrivé? Que pouvons-nous faire pour éviter cela? Comment puis-je éviter de sélectionner tous les fichiers modifiés par moi-même ou par un autre membre de mon équipe afin de fusionner mes modifications sans suppression/annulation inattendue?

+0

utilisez-vous le git bash ou un gui? – Eashi

+0

@Eashi J'utilise les deux, selon l'opportunité. Le reste de mon équipe utilise uniquement Visual Studio comme interface graphique. – penguat

+1

Dans ce cas, vous êtes probablement au courant de la qualité des studios visuels git client. Je ne serais pas surpris s'il mangeait vos affaires, par ex. automatiquement caché pour éviter un conflit de fusion. – Eashi

Répondre

0

C'est une fonctionnalité de git - quand une branche source est fusionnée dans une branche de destination, cette fusion contient normalement un enregistrement de toutes les modifications effectuées sur la branche source, et mon coéquipier vérifie une fusion (involontairement!) qui n'a pas enregistré mes changements, et git a donc vu ces fichiers comme effacés, et mes changements comme étant annulés.

Il est probable que Visual Studio, en tant que client git, améliore la clarté quant à savoir si un état que vous validez est actuellement interprété comme une fusion et si vous pouvez annuler la fusion. Il y a aussi place à amélioration sur la vue des branches, ce qui m'aurait permis de retrouver plus rapidement cette fusion erronée.