tech:git_gestion_des_conflits_merge
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tech:git_gestion_des_conflits_merge [2025/04/26 11:09] – Jean-Baptiste | tech:git_gestion_des_conflits_merge [2026/06/25 11:50] (Version actuelle) – Jean-Baptiste | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | < | ||
| + | {{tag> | ||
| + | |||
| + | # Git gestion des conflits merge | ||
| + | |||
| + | Voir : | ||
| + | * [How to resolve Git merge conflicts](https:// | ||
| + | * [Drop git pull for fetch and rebase](https:// | ||
| + | * Mais remplacez `git push --force` par `git push --force-with-lease` | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | |||
| + | Undo uncommited \ | ||
| + | remove any non-committed changes.\ | ||
| + | Par exemple pour annuler un pb de merge | ||
| + | ~~~bash | ||
| + | git checkout -f | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | Résolution de conflit | ||
| + | |||
| + | |||
| + | ~~~bash | ||
| + | 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:// | ||
| + | |||
| + | Si **both modified** | ||
| + | ~~~bash | ||
| + | git checkout --ours fichier.txt | ||
| + | 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**) | ||
| + | ~~~bash | ||
| + | git diff : | ||
| + | ~~~ | ||
| + | |||
| + | Git diff précédente version et nos modifs (**ours**) | ||
| + | ~~~bash | ||
| + | git diff : | ||
| + | ~~~ | ||
| + | |||
| + | 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' | ||
| + | |||
| + | Commande pour afficher les changements dans les fichiers. | ||
| + | ~~~bash | ||
| + | git config merge.conflictstyle diff3 | ||
| + | ~~~ | ||
| + | |||
| + | List files which have conflicts | ||
| + | ~~~bash | ||
| + | git ls-files --unmerged | ||
| + | ~~~ | ||
| + | |||
| + | Mark conflict resolved | ||
| + | ~~~bash | ||
| + | git update-index target-ppc/ | ||
| + | ~~~ | ||
| + | |||
| + | En cas de conflits | ||
| + | ~~~bash | ||
| + | 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 | ||
| + | |||
| + | ~~~bash | ||
| + | git fetch origin | ||
| + | git checkout -b " | ||
| + | ~~~ | ||
| + | |||
| + | Step 2. Review the changes locally | ||
| + | |||
| + | Step 3. Merge the branch and fix any conflicts that come up | ||
| + | |||
| + | ~~~bash | ||
| + | git fetch origin | ||
| + | git checkout " | ||
| + | git merge --no-ff " | ||
| + | ~~~ | ||
| + | |||
| + | Step 4. Push the result of the merge to GitLab | ||
| + | |||
| + | ~~~bash | ||
| + | git push origin " | ||
| + | Tip: You can also checkout merge requests locally by | ||
| + | following these guidelines https:// | ||
| + | ~~~ | ||
| + | |||
