2011-02-09 25 views
9

Hola, estoy tratando de entrar en git, como usuario de emacs lo primero que debe hacer es asegurarse de que git ignore los archivos ~ y # * #. La documentación habla sobre .gitignore que he estado usando. Sin embargo, quedan algunas preguntas:gitignore en todas las ramas?

  • gitignore ahora está registrado y parte de una sucursal. ¿Debe .gitignore estar registrado en ? Si es así, ¿cómo puedo hacer que esté disponible en todas las sucursales en mi repositorio?
  • ¿Hay alguna manera de usar el gitignore con git config para que gitignore se mantenga constante en todos mis repositorios ?
  • ¿Cómo puedo tratar con los archivos de bloqueo de emacs ya que # * # se trata como un comentario?

Estoy en mac ox snow leopard. cordiales, Jeroen

Respuesta

6

Agregue esto a su $HOME/.gitconfig;

[core] 
    excludesfile = /path/to/your/local/.gitignore 

Luego estará disponible localmente en todos sus repositorios git.

+1

¿Hay alguna manera de hacerlo global (una para todas las ramas) sin hacerlo local (aún se empujará/tirará hacia/desde origen remoto)? – Malabarba

1
  1. Registro de entrada en el archivo .gitignore. Está disponible en todas las sucursales (a menos que te metas con él) y lo mantiene actualizado con todas tus exclusiones
  2. Usa un archivo global de gitignore.
  3. Agregue esto a su archivo de gitignore.

    #
    . #

He escrito sobre la three ways of excluding files here.

+0

He actualizado la respuesta. – Abizern

+1

Solo está disponible en la rama dedicada a, y en aquellas ramas en las que fusionas esta confirmación. –

3

Si creó el archivo gitignore antes de crear las ramas, obviamente está disponible en ellas. De lo contrario, debe fusionar ese archivo en otras ramas.

Puede definir un archivo global de ignorar con git config --global core.excludesfile [ignorefile].

+1

la fusión de un (conjunto de) único archivo (s) se hace mejor con: http://jasonrudolph.com/blog/2009/02/25/git-tip-how-to-merge-specific-files-from-another -rama/ ? –

0

forma más sencilla de conseguir ese archivo en todas las ramas sería probablemente git cherry-pick cometen con .gitignore archivo en aquellas ramas

+0

No creo que el hecho de poner el "commit .gitignore file commit" en todas las ramas sea lo que @dr jerry busca ya que está pidiendo un método para hacer que el archivo esté disponible _ en todas las ramas_. Claro, el archivo estará disponible en todas las sucursales después de "cherry cherry", pero seguirá siendo específico de las sucursales porque los cambios en el archivo no se compartirán en las sucursales sin una mayor fusión/selección de cerezas. –

Cuestiones relacionadas