branche de développement git merge fusionnée avec master comment résoudre les conflits
黄舟
黄舟 2017-05-02 09:23:41
0
6
1316

Utilisation de git branch pour fusionner dans la ligne principale principale, mais comme un fichier a été modifié en même temps, il y avait beaucoup plus de fichiers après la fusion <<<HEAD Comme ça ! Comment résoudre les conflits ? Dois-je modifier manuellement le fichier de conflit et supprimer ces <<<HEAD >>>DEV avant de le soumettre ?

cd ~
mkdir demo
cd demo
git init
git status // on branch master
echo "first line " >> index.txt 
git add . && git commit -m "first head"
git status // on branch master
git branch // * master
git branch dev
git checkout dev
git branch // * dev ,master 
ls // index.txt
echo "sec line in dev" >> index.txt 
git add . && git commit -m "in branch dev"
git checkout master 
git status // on branch master 
echo "sec line on branch master" >> index.txt
git add . && git commit -m "2"

Commencez à fusionner le développeur avec le master et signalez une erreur

git merge dev 
Auto-merging index.txt
CONFLICT (content): Merge conflict in index.txt
Automatic merge failed; fix conflicts and then commit the result.

git diff // sur master

git diff index.txt
diff --cc index.txt
index dda3583,8fa96cd..0000000
--- a/index.txt
+++ b/index.txt
@@@ -1,2 -1,2 +1,6 @@@
  first line 
++<<<<<<< HEAD
 +sec line on branch master
++=======
+ sec line in dev 
++>>>>>>> dev

L'intégralité du contenu du fichier index.txt, sous la branche master

first line 
<<<<<<< HEAD
sec line on branch master
=======
sec line in dev 
>>>>>>> dev

Fusionnez le développeur avec le master, et ce fichier apparaît <<< HEAD >>> dev Comme ça, comment réussir à les fusionner ? Dois-je le modifier manuellement et le soumettre à nouveau ?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous(6)
淡淡烟草味

S'il y a des conflits, vous devez les modifier manuellement ! Ce problème se produit généralement dans les équipes composées de plusieurs personnes ! Lorsque vous résolvez des conflits, essayez de travailler avec vos coéquipiers !

某草草

Si un conflit survient lors de la fusion lorsqu'il est déterminé qu'il peut être fusionné (par exemple, lorsqu'il n'y a aucun problème avec le code de l'agence), un traitement manuel est nécessaire. Bien sûr, gérer les conflits sur le maître est une véritable plaie. Une autre méthode est donc nécessaire.

Il y a deux idées :

  1. Utilisez master pour fusionner la branche dev, de sorte que le conflit se produise sous la branche dev. Après l'avoir résolu manuellement, la fusionner avec master est simplement une avance rapide ;

  2. Utilisez git rebase
黄舟

Oui, parce que vous avez changé au même endroit, vous devez résoudre manuellement le conflit. Fusionnez simplement les positions marquées en un seul code. Ou vous pouvez utiliser Cherry-pick ou rebase pour éviter certains conflits

过去多啦不再A梦

Généralement, la branche master est utilisée pour fusionner la branche dev. Le conflit réel résolu est sur dev. Il est recommandé d'examiner attentivement les différences de conflit pour éviter d'affecter le code des autres.

滿天的星座

Bien que les outils en ligne de commande soient très puissants, il reste très pratique d'utiliser des outils visuels après avoir compris les principes, notamment lors de la résolution de conflits.
Lorsqu'un tel conflit survient, il doit être soigneusement résolu manuellement. Grâce aux outils de visualisation, vous pouvez facilement visualiser les conflits et passer rapidement d'un point de conflit à l'autre. La plupart des conflits peuvent être résolus en quelques clics de souris.
Il est recommandé d'utiliser git avec la ligne de commande et les outils visuels. Un meilleur outil visuel est TortoiseGit

.
大家讲道理

Il est recommandé d'utiliser des outils de comparaison visuelle tels que p4merge De plus, tant que les développeurs utilisent git conformément aux spécifications, il n'y aura pas de conflits de maître de fusion. utilisation de git Actuellement, j'utilise git -flow

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal