Dans une branche dans une branche A un fichier est modifié et la modification est validée. Maintenant, dans une autre branche B, le même fichier est édité et renommé.Résoudre "CONFLICT (supprimer/modifier)" dans git
Lors de la fusion de B en A git reconnaît le conflit correctement (CONFLICT (supprimer/modifier) ) et les deux fichiers sont dans le répertoire de travail.
Si je sais que vous voulez avoir les deux changements dans un fichier, comment puis-je le faire le mieux?
Il ya git merge-fichier qui est - si j'ai raison - attend les deux fichiers et un ancêtre commun. Mais comment donner ce dernier? Comment puis-je dire "utiliser $ path from $ commit" ou quelque chose comme ça?
Exemple:
mkdir git-rename-repo
cd git-rename-repo
git init
echo "First line" > afile
git add .
git commit -m "First commit in master"
git checkout -b mybranch
echo "Second line in mybranch" >> afile
git mv afile bfile
git commit -a -m "change and rename in mybranch"
git checkout master
echo "Changed first line in master" > afile
git commit -a -m "changed afile"
git merge mybranch
Je veux maintenant un fichier nommé 'BFILE' avec les deux changements:
Changed first line in master Second line in mybranch
Merci
qui suppose que vous voulez accepter le fichier supprimé, ce qui est explicitement _pas true_ dans la question. –
Cela signifie que votre local n'a pas le fichier, et que git l'a sur est caché.La raison pour laquelle vous avez le conflit- – workdreamer
L'affiche originale (il était _not_ moi) ** AYANT LE FICHIER ** dans la révision locale. Il est cependant ** NOMMÉ DIFFÉREMMENT ** Par conséquent suggérant de prendre la version supprimée est faux.Les changements ** doivent ** être fusionnés au fichier sous son nom actuel, changé, –