¿Cómo resolver un conflicto con git-svn?
Pregunta
¿Cuál es la mejor manera de resolver un conflicto al realizar una git svn rebase
, ¿y la rama de git en la que estás se convierte en "(sin rama)"?
Solución
Puedes usar git mergetool
para ver y editar los conflictos de la forma habitual.Una vez que esté seguro de que los conflictos se han resuelto, git rebase --continue
para continuar con la rebase, o si no desea incluir esa revisión, haga git rebase --skip
Otros consejos
mientras hacía un git svn rebase
, si tiene conflictos de fusión, aquí hay algunas cosas que debe recordar:
1) Si sucede algo malo mientras realizas una rebase, terminarás en una (no-branch)
rama.
2) Si tu corres git status
, verás un .dotest
archivo en su directorio de trabajo.Es seguro ignorar esto.
3) Si desea cancelar la rebase, utilice el siguiente comando.1
git rebase --abort
4) Si tiene un conflicto de fusión:
- Edite manualmente los archivos para resolver los conflictos.
- Organiza cualquier cambio con
git add [file]
- Continuar la rebase con
git rebase --continue
2- Si git pregunta:"¿Olvidaste llamar?
git add
?", luego las ediciones convirtieron el conflicto en un cambio no operativo.3.Continua congit rebase --skip
- Si git pregunta:"¿Olvidaste llamar?
Es posible que deba repetir este proceso hasta que se complete la rebase.En cualquier momento puedes git rebase --abort
cancelar y abandonar la rebase.
1:No hay --abort
opción para git svn rebase
.
2:No hay --continue
opción para git svn rebase
.
3:Esto es muy extraño, pero los archivos están en un estado en el que git cree que son los mismos después de ese parche en particular.La solución es "omitir" ese parche en el Rebase.