Como corrigir problemas no Git Rebase Interativo

0

Pergunta

Eu estou tentando alterar a base de minha filial local contra o branch master. A partir do meu local_branch, que eu tiver executado o comando abaixo para alterar a base. Eu tenho praticado usando o utilitário de linha de comando (que eu.e o Git Bash) por algum tempo e gostaria de usar o mesmo para corrigir o problema atual.

Eu posso usar o Código do Visual Studio ferramenta para aceitar atual / incoming / tanto a alterações.. Mas existe uma maneira de executar a mesma usando o Git Bash? Também para o cenário abaixo, qual seria a melhor maneira para resolver?

> 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

Melhor resposta

0

Esta é apenas uma ordinária de conflito de mesclagem, as alterações no seu ramo abut ou sobreposição de alterações na linha principal da história, e você precisa decidir o que o resultado deve ser parecido porque Git, com razão, não me atrevo a adivinhar.

existe uma maneira de executar a mesma usando o Git Bash?

Sim, decidir o que jd-test/admin/messenger.xml deve olhar como, acrescentar que, e git rebase --continue, qualquer ferramenta de junção como você deve ser capaz de automatizar a editar/pick/fase de seqüenciamento para você. Eu uso vimdiff que lida com isso com desenvoltura, o VS Código do Git integração não entender o que está acontecendo aqui?

Para um exemplo,

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

e você vai ter um conflito na file, onde é o resultado certo é levar tanto linhas alteradas como-é, mas o Git pode não ser suficiente certeza de que para fazê-lo apenas para você. git status aqui irá aparecer uma mensagem familiar, que eu possa fazer sentido por perceber o rebase é agora, na verdade, interativo, ele está esperando por mim, é a interagir comigo. Eu faria git mergetool aqui.

Se você vai estar fazendo um monte de presente, você pode querer permitir que rerere, voltar autilização de refio resoluções: git config rerere.enabled true; git rerere antes de adicionar a resolução deste primeiro tempo, depois que o Git irá executá-lo para você, executando o que faz com que o Git vai lembrar de novos conflitos e resoluções no índice, em caso de serem novamente na subsequente altera a base.

2021-11-24 06:46:20

Em outros idiomas

Esta página está em outros idiomas

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