Pregunta

¿Existe una manera simple de configurar diferentes archivos .Gitignore para diferentes remotos? Tengo un repositorio que empuje hacia Heroku y Github. Necesito database.yml para Heroku, pero no quiero que se empuje parte de la información a GitHub. Por lo tanto, necesito un archivo .Gitignore diferente para cada uno de los controles remotos.

Intenté tener dos ramas separadas, una que ignora Database.yml y otra que no. El problema es que cuando reviso la sucursal de Heroku y vuelvo a mi rama GitHub, todo el archivo de base de datos.yml se ha ido.

¿Algun consejo?

¿Fue útil?

Solución

No sé nada sobre los requisitos para Heroku; espero que la justicia sea correcta y simplemente pueda evitar el problema. Si no puede, o si alguien más encuentra esto que no puede ...

Si desea que los dos controles remotos sean espejos (tienen los mismos compromisos), por definición deben tener los mismos archivos en esos compromisos. Entonces, tienes dos opciones: tener file-for-repo-B En todos los repositorios, incluso si no lo necesitan, o usan un flujo de trabajo ligeramente desordenado con dos ramas: master y for-repo-B. La única diferencia entre las dos ramas sería la confirmación de toques file-for-repo-B; la rama for-repo-B siempre se fusionaría de master (¡Pero nunca al revés!). Ahora solo tiene una rama diferente en Repo B, y todo está bien.

Otros consejos

No ponga información de la base de datos en Database.yml. En cambio, use variables de entorno Heroku.

Deberías versiones a:

  • database.yml con solo variables en él, y
  • un script capaz de reemplazar esas variables por los valores correctos dependiendo del servidor remoto donde eso database.yml se implementa.

Entonces usas el script como un controlador de filtro de atributo de manchas:

smudge content filter

Cada vez que consultará (y creará un árbol de trabajo) en un servidor remoto, el script se ejecuta y cambiará las variables en consecuencia, dándole una personalización database.yml expediente.
Si uno de los controles remotos no necesita eso database.yml Archivo, todavía puede estar allí, pero vaciado por el script de la mancha.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top