Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

erro git rebase

Boa tarde pessoas...eu aqui de novo

Fiz os passos mas não deu certo o git rebase:

alexandra.espindola@BRFLN-1KHHSV1 MINGW64 ~/Documents/git-e-github/alexandra (titulo)
$ git checkout titulo
Already on 'titulo'

alexandra.espindola@BRFLN-1KHHSV1 MINGW64 ~/Documents/git-e-github/alexandra (titulo)
$ git status
On branch titulo
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   arquivo1.txt

no changes added to commit (use "git add" and/or "git commit -a")

alexandra.espindola@BRFLN-1KHHSV1 MINGW64 ~/Documents/git-e-github/alexandra (titulo)
$ git add .

alexandra.espindola@BRFLN-1KHHSV1 MINGW64 ~/Documents/git-e-github/alexandra (titulo)
$ git commit -m "editado arquivo1 letra maiuscula"
[titulo 7e88a67] editado arquivo1 letra maiuscula
 1 file changed, 1 insertion(+), 1 deletion(-)

alexandra.espindola@BRFLN-1KHHSV1 MINGW64 ~/Documents/git-e-github/alexandra (titulo)
$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.

alexandra.espindola@BRFLN-1KHHSV1 MINGW64 ~/Documents/git-e-github/alexandra (master)
$ git rebase titulo
First, rewinding head to replay your work on top of it...
Applying: tentativa de merge
Using index info to reconstruct a base tree...
M       arquivo1.txt
Falling back to patching base and 3-way merge...
Auto-merging arquivo1.txt
CONFLICT (content): Merge conflict in arquivo1.txt
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0001 tentativa de merge
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".

alexandra.espindola@BRFLN-1KHHSV1 MINGW64 ~/Documents/git-e-github/alexandra (master|REBASE 1/3)
$

:(

2 respostas
solução!

Olá Alexandra, tudo bem? O erro aconteceu porque existe um conflito no "arquivo1.txt" e é necessário resolver esse conflito para poder concluir o merge. Nesse caso você deve escolher quais alterações dos diferentes branches incorporar em um novo commit, para assim resolver o conflito. Isso pode ter acontecido porque a mesma linha de código foi alterado nos dois branchs, então na hora do merge acontece o conflito e então você deve escolher qual linha realmente deve ser mantida e gerar um novo commit.

Resolvendo o conflito:

1 - Execute o comando git status para identificar todos os arquivos em conflito:

git status

2 - Deve aparecer uma lista semelhante a essa:

> # On branch master
> # You have unmerged paths.
> #   (fix conflicts and run "git commit")
> #
> # Unmerged paths:
> #   (use "git add ..." to mark resolution)
> #
> # both modified:      arquivo1.txt
> #
> no changes added to commit (use "git add" and/or "git commit -a")

3 - Nesse caso o conflito é realmente no "arquivo1.txt", então abra o editor de código que você está utilizando no momento (VS Code, Atom ou Notepad++ ou outro ):

arquivo editado pela ana

<<<<<<< HEAD
teste bug
=======
-alterando o titulo-
-corrigindo bug-
>>>>>>> titulo

Quando abrir o arquivo no editor de texto, você verá as alterações do branch HEAD ou base após a linha <<<<<<< HEAD. Em seguida, você verá =======, que divide suas alterações das alterações no outro branch, seguido por >>>>>>> BRANCH-NAME. Neste caso você escreveu "teste bug" no branch base ou HEAD (master) e também escreveu "-alterando o titulo-" "-corrigindo bug-" no branch de comparação ou seja no branch "titulo".

4 - Agora você precisa decidir o que manter, você quer manter as alterações do branch "master" (teste bug)? Se sim você deve excluir os marcadores de conflitos <<<<<<< HEAD, =======, >>>>>>>titulo e deixar somente a linha:

teste bug

Ou quer manter somente as alterações feitas no branch "titulo" (-alterando o titulo- -corrigindo bug-)? Se sim, você deve excluir os marcadores de conflitos <<<<<<< HEAD, =======, >>>>>>>titulo e deixar somente as linhas:

-alterando o titulo-
-corrigindo bug-

Ou quer manter tudo? Se sim, você deve excluir os marcadores de conflitos <<<<<<< HEAD, =======, >>>>>>>titulo e deixar todas as linhas:

teste bug
-alterando o titulo-
-corrigindo bug-

5 - Adicione ou faça stage das alterações:

git add .

6 - Faça o commit das suas alterações com um comentário:

git commit -m "Conflito de merge resolvido!"

E pronto!

Bom dia Jonilson!!

Muito, muito obrigada pela ajuda e pela paciencia tb!! Tu explica muito bem =D Um abraço!!!

:)))

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software