Git cómo actualizar el repository local y mantener mis cambios

Sistema operativo: ubuntu 16

Utilizo git clone para copyr el repository remoto a mi máquina local. Hice algunos cambios (a través de nano) en algunos códigos digamos en 5-10 files (el repository tiene más de 2000 files, creo).

Pero ahora este repository recibe algunas actualizaciones agradables. Y quiero get todas estas actualizaciones, pero quiero mantener mis cambios personalizados. No puedo comprometerme con este repository porque creo que mi código y las correcciones son "malas" y no perfectas.

¿Qué command debería usar para get todas las actualizaciones y mantener mis cambios en los files?

La manera más simple (si está trabajando en la twig en quiere actualizar):

git stash git pull git stash pop 

Otra opción es crear otra sucursal para mantener sus cambios:

 git checkout -b my-new-branch git add . git commit -m "my changes" git pull --rebase origin master # this will get the updates and place your changes on top of it 

En los methods del stand, es posible que tengas conflictos, para resolverlos puedes usar:

 git mergetool 

Una opción sería esconder el directory de trabajo (y posiblemente el escenario), extraer los cambios y luego aplicar el alijo:

 git stash git pull origin master # or whatever the branch name is git stash apply 

Esto debería dejarte aproximadamente en el estado en el que estabas antes de introducir los nuevos cambios. Dije "aproximadamente" porque aplicar el alijo puede causar conflictos de fusión. Dichos conflictos pueden ser inevitables si los cambios que ha realizado entran en conflicto con los cambios realizados en el repository desde la última vez que se sincronizó.

Si le preocupa perder su trabajo, le recomendaría que también cree una sucursal con sus cambios. Para esto puedes probar:

 git stash git checkout -b safe_branch git stash apply git commit -m 'my work' 

Luego, puede intentar fusionar o cambiar el estado de esta twig en la twig remota original. Asumiendo que deseaba fusionarse, podría intentar:

 git fetch origin git checkout safe_branch git merge master # or whatever the remote branch is called 

Ahora tiene una sucursal con un compromiso de buena fe que contiene su trabajo. Sería realmente difícil perder tu trabajo en esta configuration más segura.