Decir que tengo un archivo en un repositorio git:Mantener los cambios locales en un repositorio git
#file.py
setting1 = default1
setting2 = default2
<some code>
Ahora quiero hacer algunos cambios locales que no se deje reintroducir en el repositorio
#file.py - local change
setting1 = mysetting1
setting2 = mysetting2
<some code>
Digamos que en algún momento en el futuro se actualizará el repositorio upstream, y quiero reducir sus cambios sin estropear mi configuración local. Es decir, un comando git podría correr que actualizaría el archivo de modo que sería
#file.py - updated copy
setting1 = mysetting1
setting2 = mysetting2
<new code>
¿Hay alguna manera de hacer esto, ya sea con ramas o alguna otra característica git donde no tengo que poner la configuración local en un archivo separado?
He visto varias otras preguntas como esta, pero se enfocan en excluir un archivo completo.
Gracias
Gracias. En realidad, esconder ** no ** fusiona los archivos, por lo que tiene el mismo efecto en el archivo. Encuentro que tener una sucursal local y una nueva referencia para ser la más confiable, ya que parece que sería fácil perder un alijo y, por lo tanto, todos mis cambios. – korylprince
Oh, nunca quise dar a entender que no se funde. Solo quería decir que no puedes guardar una parte de los cambios (descartando el resto) en el archivo con un solo comando. – fork0
El único problema con todos estos métodos es si git merge siempre tiene un conflicto si se agrega una línea directamente debajo de una editada. Por ejemplo, si tengo el código anterior, y debía agregar "setting3 = default" debajo de setting2 en la rama de origen, la rebase (o cualquier otro método) fallaría con un conflicto, pero si agrego una línea entre los dos, hace la rebase o lo que sea bien. ¿Alguna idea de por qué? – korylprince