Errore fatale con `git rebase monte-branch` nel ramo argomento
Domanda
ho un problema quando cerco di rebase un ramo a monte in un ramo argomento. Il flusso di lavoro è simile a questo:
git checkout upstream
git pull origin upstream
git checkout topic
git rebase upstream
Gli sguardi risultato come questo:
First, rewinding head to replay your work on top of it...
Applying Refactored database access and added logging
error: patch failed: path/to/file1.ext:21
error: path/to/file1.ext: patch does not apply
error: path/to/file2.ext:3
error: path/to/file2.ext: patch does not apply
fatal: mode change for path/to/file3.ext, which is not in current HEAD
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001.
che è accaduto a me ieri, e ho fatto la mia ricerca e ho trovato nulla, così alla fine ho usato git merge upstream
invece di git rebase upstream
e le cose funzionavano. Il vero problema è che l'errore appare oggi troppo. Sto già sincronizzato con la dovuta a monte per fusione di ieri. Inoltre, non ho i file introdotti da miei compagni di squadra da ieri. Modificato
La mia versione Git è 1.5.6.5 (e in realtà non sentire come aggiornarlo su questa macchina, ho paura delle conseguenze indesiderate).
Soluzione
ho scoperto che rebasing con l'opzione --merge
aiuta in questi casi. (Git farà comunque un rebase.)
Altri suggerimenti
ho avuto la stessa cosa e si è rivelato essere causato da un messaggio di commit che aveva un diff nel messaggio.
Forse provare: git log --grep ++
... vedere se il gioco è fatto ..