Excluir files de Getting rebased

Recientemente cambié de svn a git .
Después de una rutina completa fallida con google y sus crawerlers, encuentre mi situación de la siguiente manera:

Guión

He agregado files en .gitignore para hacer que el git status sea silencioso sobre los files sin seguimiento .

Problema

El problema es que cada vez que rebase mi bifurcación, este file también se sobrescribe y veo todos los files sin seguimiento en la console.

Requisito

¿Hay alguna forma de hacer que git ignore <.gitignore_file> para que este file no pueda ser reescrito / sobrescrito en ninguna operación?

Si compromete el file .gitignore , no veo por qué debería tener este problema. Pero nada le impide agregar .gitignore sí mismo .gitignore

En cuanto a una forma alternativa de excluir files, puede crear un file .git/info/exclude que actúe como un .gitignore local fuera del directory de trabajo.

Puede definir un controller de combinación personalizado que se aplicaría solo a .gitignore y siempre mantenga la versión local.
Ver en " Git: ¿Cómo reubicar muchas twigs (con la misma confirmación base) a la vez? " Para un ejemplo concreto.

Ese controller de combinación " keepMine " puede asociarse con .gitignore y declararse en un file .gitattributes presente en cada una de sus twigs.
Consulte " ¿Cómo le digo a git que siempre select mi versión local para las fusiones en conflicto en un file específico? ".

 echo .gitignore merge=keepMine > .gitattributes git config merge.keepMine.name "always keep mine during merge" git config merge.keepMine.driver "keepMine.sh %O %A %B" 

Con keepMine.sh puesto en su $PATH , no en el repository:

 # I want to keep MY version when there is a conflict # Nothing to do: %A (the second parameter) already contains my version # Just indicate the merge has been successfully "resolved" with the exit status exit 0 

(Para KeepTheir.sh , consulte " Cómo detener una fusión (una vez más …) ")