Lorsque plusieurs branches de git modifient les dépendances dans un projet utilisant Yarn , il est probable qu'un conflit se produise dans le fichier yarn.lock. Ce n’est pas une bonne idée de supprimer et de régénérer le fichier yarn.lock car cela entraînerait probablement la mise à niveau involontaire de plusieurs paquets. Quel est le meilleur moyen de résoudre rapidement les conflits dans ce fichier?
Réponses
Trop de publicités?Depuis Yarn 1.0, c’est simple, car il est doté d’un support intégré pour ce scénario. Il suffit de lancer ceci:
$ yarn install
yarn install v1.0.1
info Merge conflict detected in yarn.lock and successfully merged.
[1/4] Resolving packages...
Maintenant, il ne vous reste plus qu'à faire git add yarn.lock && git rebase --continue
Une bonne approche est détaillée dans cette github discussion sur la question.
git rebase origin/master
Lorsque le premier conflit survient, je checkout l'
yarn.lock
puis de le ré-effectuer l'installationgit checkout origin/master -- yarn.lock yarn install
Cela génère un nouveau
yarn.lock
basé sur l'origin/master version de fil.de verrouillage, mais y compris les modifications que j'ai apportées à monpackage.json
. Ensuite, c'est juste une question de:git add yarn.lock git rebase --continue