{{tag>Brouillon git}} = Git gestion des conflits merge Voir : * [[https://opensource.com/article/23/4/resolve-git-merge-conflicts|How to resolve Git merge conflicts]] * [[https://developers.redhat.com/articles/2023/09/07/drop-git-pull-fetch-and-rebase|Drop git pull for fetch and rebase]] * Mais remplacez ''git push --force'' par ''git push --force-with-lease'' * https://blog.stack-labs.com/code/git_force_with_lease/ * https://www.dynamic-mess.com/developpement/git-merge-fast-forward-rebase-culture-git/ * https://nitaym.github.io/ourstheirs/ * https://saturn.ffzg.hr/rot13/index.cgi?action=display_html;page_name=git * https://gist.github.com/karenyyng/f19ff75c60f18b4b8149 Undo uncommited \\ remove any non-committed changes.\\ Par exemple pour annuler un pb de merge git checkout -f Résolution de conflit git checkout master git merge --no-ff --no-commit branch_feature # git merge --no-ff --no-commit branch_feature --no-edit #ou Pour cacher les micro-commits #git merge --squash branch_feature Source : http://www.journaldunet.com/developpeur/pratique/developpement/12267/comment-gerer-un-conflit-de-fusion-dans-git.html Si **both modified** git checkout --ours fichier.txt # Version originale git checkout --theirs fichier.txt # Version modifiée git add fichier # Ajout de la version du fichier que l'on a choisie git commit fichier # Mise à jour du dépôt avec la nouvelle version du fichier #ou git merge --continue Git diff ours theirs Git diff précédente version et les modifs des autres (**theirs**) git diff :1:tasks/main.yml :3:tasks/main.yml Git diff précédente version et nos modifs (**ours**) git diff :1:tasks/main.yml :2:tasks/main.yml Il existe aussi une commande permettant de voir les différents changements entre les versions dans un fichier. Cette commande affiche dans le fichier sur les sections modifiées trois versions : les changements que l'on a effectués, les changements effectués dans la branche par d'autres développeurs et l'ancêtre commun des deux fichiers : Commande pour afficher les changements dans les fichiers. git config merge.conflictstyle diff3 List files which have conflicts git ls-files --unmerged Mark conflict resolved git update-index target-ppc/cpu.h En cas de conflits git mergetool == Doc Gitlab à propos de la résolution de conflits Check out, review, and merge locally Step 1. Fetch and check out the branch for this merge request git fetch origin git checkout -b "master" "origin/master" Step 2. Review the changes locally Step 3. Merge the branch and fix any conflicts that come up git fetch origin git checkout "dev" git merge --no-ff "master" Step 4. Push the result of the merge to GitLab git push origin "dev" Tip: You can also checkout merge requests locally by following these guidelines https://gitlab.acme.fr/help/user/project/merge_requests/reviewing_and_managing_merge_requests.md#checkout-merge-requests-locally-through-the-head-ref