¿Cómo obtener" sus " cambios en medio de una rebase de Git conflictiva?
Tengo ramas en conflicto, rama 2 ramificada de rama 1.
Digamos que cuando rebase branch2
en branch1
actual, mientras resuelvo conflictos, decido tomar algunos (no todos) de "sus" (es decir, branch1
) archivos tal cual.
¿Cómo hago 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
2 answers
Desea utilizar:
git checkout --ours foo/bar.java
git add foo/bar.java
Si rebase una rama feature_x
contra master
(es decir, corriendo git rebase master
mientras está en la rama feature_x
), durante el rebase ours
se refiere a master
y theirs
a feature_x
.
Como se señala en los documentos de git-rebase :
Tenga en cuenta que una fusión de rebase funciona al reproducir cada confirmación desde el rama de trabajo en la parte superior de la rama. Debido a esto, cuando un conflicto de fusión ocurre, el lado reportado como el nuestro es el hasta ahora serie rebasada, comenzando con , y el suyo es el trabajo Sucursal. En otras palabras, los lados se intercambian.
Para más detalles lea este hilo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-10-02 22:20:56
Si desea extraer un archivo en particular de otra rama, simplemente haga
git checkout branch1 -- filenamefoo.txt
Esto extraerá una versión del archivo de una rama al árbol actual
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-11-16 06:09:49