¿Cómo sobrescribo files en mi directory local con files de GitHub sin borrar los cambios?

Los requisitos para la tarea que quiero hacer es el siguiente:

  • Sobrescribir files en el directory local con files maestros
  • Sin embargo , cualquier file que no exista en la twig principal no se debe borrar

es decir, tengo los files a , b y c en mi twig principal.

Tengo los files a , b , c y d en mi directory local.

Los files byc están desactualizados en mi directory local, por lo que quiero sobrescribirlos con byc desde la twig principal.

Sin embargo, al hacerlo, no deseo que el file d se borre.

(Nota: no deseo simplemente actualizar byc manualmente porque, en mi caso, estoy trabajando con muchos files. Por lo tanto, no quiero extraer todos esos files manualmente).

Además, para ser más claro, deseo hacer esto desde la línea de command. (Estoy usando la terminal en mi Mac si eso ayuda).

Probablemente quieras esconder los cambios y luego deshacerte una vez que hayas tirado.

En resumen, es más o less:

git stash git pull git stash apply 

Puede encontrar más información acerca de los escondites aquí

Lo anterior es para si los files que no desea borrar aún no se han confirmado. Para los files que se han confirmado pero no se han git pull --rebase al origin entonces git pull --rebase puede ser lo que se git pull --rebase .

Tire maestro y acepte – --theirs si se produce un conflicto.

 $ git pull origin master -s recursive -X theirs 

Alternativa:

 $ git pull origin master $ git checkout --theirs -- . # accept 'remote/master' changes