Git gestion des conflits merge

Voir : FIXME2

How to resolve Git merge conflicts

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