Justo:
git clone $url
En serio! Esa es la mejor manera.
Puede hacer todo tipo de órdenes git reset
y git branch
para mover las referencias, pero el único propósito sería mantener sus confirmaciones en algún lugar de su repositorio local para referencia futura. Si ese es el objetivo, simplemente mantenga todo el repositorio tal como está, y vuelva a clonar el origen.
para aceptar todos los cambios en una sola rama, foo
:
git checkout foo
git fetch origin +refs/heads/foo:refs/remotes/origin/foo
git reset refs/remotes/origin/foo
foo
ahora apuntará al mismo cometió como en foo
origin
. Si desea eliminar los archivos en su directorio de trabajo, agregue --hard
al git reset
. Si desea fusionarse primero, reemplace fetch
con pull
.
Puede tener un montón de compromisos pendientes en su repositorio local, que GIT puede limpiar algún día, pero por un tiempo todavía puede acceder a ellos a través del reflog.
Es bueno saberlo :-) –
Hay un gran problema con esto: tengo muchas * adiciones * al árbol de trabajo. Solo quiero aceptar/aplicar todos los cambios que se han realizado en el control remoto. No quiero desechar todo el estado de mi trabajo actual. Entonces esto no funciona como una respuesta para mí. – rfay
@Randy, esa es una pregunta diferente, pero una buena. – cdunn2001