git pull et résoudre les conflits
Je suis en train d'apprendre git et j'ai un scénario:
- Mon collègue fait des changements, et pousse les modifications apportées à la maîtrise.
- Je modifie localement à mon maître.
Loin de ma compréhension, à ce stade, je peux soit:
- Tirez le maître que mon collègue a travaillé sur et résoudre les conflits de fusion que je vais finir par avoir.
- Créer un back up de mon local, clone d'une nouvelle copie du maître, puis de fusionner mes modifications pour le maître.
Je veux savoir si il y a une meilleure façon de le faire.
- certainement le premier scénario est préféré. Je dirais que le seul.
- avez-vous des problème avec elle?
- Je recommande la création d'une nouvelle branche à chaque fois que vous souhaitez ajouter une fonctionnalité. Puis, quand votre branche est prêt à fusionner en maître, des start en tirant sur la dernière version d'origine. De cette façon, c'est plus propre, vous n'avez pas à traiter avec les conflits de fusion lors de la traction.
- Mieux comment? Quel est votre problème actuel et qu'attendez-vous pour qu'il soit différent? Juste poser
better way to do x
est par opinion et légèrement hors-sujet. - pas de problème particulier. Quelque chose que je suis tombé sur au travail et je voulais juste savoir si il y a un autre moyen de fusionner les modifications lorsque deux personnes ont travaillé sur elle.
- vous êtes de droite. Je suppose que cela pourrait être par opinion. Mais j'ai surtout un souci d'apprentissage voulais savoir si il y avait d'autres méthodes ou ceux que j'avais mis vers le bas ont été reconnues par l'industrie.
Vous devez vous connecter pour publier un commentaire.
Si il y a des changements à la fois la distance et la branche locale, au lieu de simplement en tirant le maître par
git pull
, je préfère ne faire:Cela permet d'éviter une fusion s'engager et conserver vos changements sur le dessus de la branche master.
Mais vous avez toujours à résoudre les éventuels survenant conflits de fusion lorsque différentes personnes travaillent sur la même branche, ce qui est une mauvaise pratique, en particulier parce qu'elle conduit à des conflits.
Dans le cas de modifications mineures, les vôtres sont appliqués sur le dessus. Vous sont en train de changer l'histoire, mais seulement votre local, pas de la télécommande.
Vous ne besoin de
git push --force
. Vous venez degit push
ce que vous êtes habitué à elle.En général, vous devez travailler sur les branches et la fusion de ceux de la branche master.
Lorsque l'on travaille sur des branches on peut aussi garder la branche proximité du maître par:
Pourtant, ici, on a besoin de
git push --force
la fonction-branche, donc on doit être prudent de ne pas utiliser cette stratégie si plus d'une personne travaillant sur le même fonctionnalité-branche.Si on veut utiliser rebase et pousser forcer, pensez à utiliser
git push --force-with-lease
surgit push --force
, car il empêche la suppression accidentelle de l'autre s'engage sur la télécommande.rebase
est un nouveau concept pour moi. Merci.git stash && git pull --rebase && git stash apply
.Un (simple*) façon de gérer cela sans ramification ou accrocher:
Meilleure façon de mon expérience est:
C'est comment vous pouvez développer de nombreuses nouvelles fonctionnalités et fusionner seulement le travail lorsque vous devez déployer. Bonne chance et check this -> https://www.codeschool.com/courses/try-git
Si vous êtes deux à travailler sur le même fichier(s), vous rencontrerez forcément des conflits. Vous aurez juste à apprendre à résoudre les conflits.
Si vous voulez éviter d'avoir à résoudre les conflits, alors peut-être que les gars, vous devriez déléguer des tâches qui impliquent de travailler sur des fichiers différents.
Je crois git de synchronisation serait bon. Git synchronisation s'engage vos modifications, tire toutes les modifications existantes en maître, puis pousse toutes les modifications à maîtriser.