Eu tenho um ramo git (chamado v4), que foi feito do mestre ontem. Houve algumas mudanças para dominar, que eu quero entrar na v4. Então, na v4, tentei fazer uma nova redefinição do mestre, e um arquivo continua estragando tudo: um arquivo de texto de uma linha, que contém o número da versão. Este arquivo é app/views/common/version.txt
, que antes da nova rebase contém este texto:
v1.4-alpha-02
Aqui está o que estou fazendo:
> git rebase master
First, rewinding head to replay your work on top of it...
Applying: new version, new branch
error: patch failed: app/views/common/version.txt:1
error: app/views/common/version.txt: patch does not apply
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging app/views/common/version.txt
CONFLICT (content): Merge conflict in app/views/common/version.txt
Failed to merge in the changes.
Patch failed at 0001 new version, new branch
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".
O version.txt
agora é assim:
<<<<<<< HEAD:app/views/common/version.txt
v1.4-alpha-02
=======
v1.4-alpha-01
>>>>>>> new version, new branch:app/views/common/version.txt
Então, eu arrumo e fica assim agora:
v1.4-alpha-02
e então eu tentei continuar: no começo eu tento um commit:
> git commit -a -m "merged"
# Not currently on any branch.
nothing to commit (working directory clean)
Sem sorte lá. Então, eu estava tentando adicionar o arquivo:
git add app/views/common/version.txt
Sem resposta. Nenhuma notícia é boa, eu acho. Então, eu tento continuar:
> git rebase --continue
Applying: new version, new branch
No changes - did you forget to use 'git add'?
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".
É nesse ponto, depois de dar voltas e mais voltas com isso, que estou batendo com a cabeça na mesa.
O que está acontecendo aqui? O que estou fazendo de errado? Alguém pode me esclarecer?
EDIT - para unutbu
Alterei o arquivo conforme sugerido e recebi o mesmo erro:
> git rebase master
First, rewinding head to replay your work on top of it...
Applying: new version, new branch
error: patch failed: app/views/common/version.txt:1
error: app/views/common/version.txt: patch does not apply
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging app/views/common/version.txt
CONFLICT (content): Merge conflict in app/views/common/version.txt
Failed to merge in the changes.
Patch failed at 0001 new version, new branch
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".
git rebase master
e deixa falhar ; 2) então você edita version.txt
e faz como deve parecer naquele ponto, e salva a edição; 3) então você git add .../version.txt
; 4) então você faz git rebase --continue
( não 'confirma' )! Se rebase --continue
for bem-sucedido aqui, ele já está confirmado (não é necessário git commit
aqui!) - então, basta fazer isso git push
(se você usar um repositório remoto). Espero que isso ajude, se eu entendi direito :)
- saúde!