git - and - ¿Cómo obtener "sus" cambios en el medio de Gase rebase en conflicto?
git rebase--continue (2)
Tengo ramas en conflicto, rama2 ramificada de rama1.
Digamos que cuando se branch2
a branch2
en el actual branch1
, mientras se resuelven los conflictos, decido tomar algunos (no todos) de "sus" (es decir, branch1
) los archivos como están. ¿Cómo puedo hacer eso?
Lo intenté:
git checkout branch1:foo/bar.java
fatal: reference is not a tree: TS-modules-tmp:foo/bar.java
git checkout refs/heads/branch1:foo/bar.java
fatal: reference is not a tree: refs/heads/TS-modules-tmp:foo/bar.java
Quieres usar:
git checkout --ours foo/bar.java
git add foo/bar.java
Si cambia la base de una función feature_x
contra el master
(es decir, ejecuta git rebase master
mientras se encuentra en la función feature_x
), durante la rebasación, el ours
refiere a master
y el de theirs
a feature_x
.
Como se señala en los documentos git-rebase :
Tenga en cuenta que una fusión de rebase funciona al reproducir cada confirmación desde la rama de trabajo en la parte superior de la rama. Debido a esto, cuando ocurre un conflicto de combinación, el lado reportado como el nuestro es la serie hasta ahora rebasada, comenzando con <upstream>, y la suya es la rama de trabajo. En otras palabras, los lados se intercambian.
Para más detalles git.661346.n2.nabble.com/… .
Si desea extraer un archivo particular de otra rama, simplemente haga
git checkout branch1 -- filenamefoo.txt
Esto llevará una versión del archivo de una rama al árbol actual