Comment résoudre les problèmes dans Git Rebase Interactif

0

La question

Je suis en train de rebase ma branche locale à l'encontre de la branche master. De mon local_branch, j'ai exécuté la commande ci-dessous pour rebase. J'ai pratiqué à l'aide de l'utilitaire de ligne de commande (j'.e Git Bash) pour un certain temps et que vous souhaitez utiliser le même pour résoudre la question actuelle.

Je peux utiliser le Code de Visual Studio outil d'accepter actuel / incoming / à la fois les changements.. Mais est-il un moyen pour effectuer la même à l'aide de Git Bash? Aussi pour ci-dessous scénario, ce qui serait la meilleure façon de résoudre ce problème?

> git pull --rebase origin master
> git status                                                                                                                                             
interactive rebase in progress; onto 53681c8
Last commands done (2 commands done):
   pick 89bb0987 Updated messenger.xml
   pick 990bn189 Updated messenger.xml
Next commands to do (9 remaining commands):
   pick 6780f98 Updated messenger.xml
   pick 9091m969 Updated updated_numbers.xml
  (use "git rebase --edit-todo" to view and edit)
You are currently rebasing branch 'feature-jd-bulk-messenger' on '53681c8'.
  (fix conflicts and then run "git rebase --continue")
  (use "git rebase --skip" to skip this patch)
  (use "git rebase --abort" to check out the original branch)

Unmerged paths:
  (use "git restore --staged <file>..." to unstage)
  (use "git add <file>..." to mark resolution)
        both modified:   jd-test/admin/messenger.xml
git
2021-11-24 05:14:19
1

La meilleure réponse

0

C'est juste un banal conflit de fusion, les changements dans votre branche locale buter ou de chevauchement des changements dans la grande histoire, et vous devez décider ce que le résultat doit ressembler, car Git, à juste titre, n'ose pas le deviner.

est-il possible d'effectuer la même à l'aide de Git Bash?

Oui, décider de ce qui jd-test/admin/messenger.xml devrait ressembler à ajouter que, et git rebase --continue, selon l'outil de fusion comme vous devriez être en mesure d'automatiser le modifier/choisir/l'étape de séquençage pour vous. J'utilise vimdiff qui gère avec aplomb, ne VS Code de l'intégration de Git de ne pas comprendre ce qui se passe ici?

Pour un exemple,

git init `mktemp -d`; cd $_
seq 5 >file; git add .; git commit -m-
git branch -t mine
sed 2s,$,a, -i file; git commit -am2
git checkout mine
sed 3s,$,a, -i file; git commit -am3
git rebase

et vous obtiendrez un conflit dans fileoù le droit de suite est de prendre les deux lignes modifiées comme-est, mais Git ne peut pas être sûr de ce que viens de le faire pour vous. git status ici apparaît un message bien connu, je peux faire sens en réalisant le rebase est maintenant, en fait, interactif, il est en attente sur moi, c'est l'interaction avec moi. Je le ferais git mergetool ici.

Si vous allez faire beaucoup de cela, vous souhaiterez peut-être activer rerere, reutilisation de recorded resolutions: git config rerere.enabled true; git rerere avant l'ajout de la résolution de cette première fois, après cela, Git va l'exécuter pour vous, la course il fait Git se souviendront de nouveaux conflits et résolutions de l'indice, dans le cas où ils de nouveau dans la suite rebases.

2021-11-24 06:46:20

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................