Estoy implementando una aplicación Rails en Heroku (por ahora) a través de git, y también me gustaría tener una versión pública para que la gente la mire. Algunos archivos son confidenciales y solo deben enviarse y enviarse a la rama "heroku", pero no a la rama "pública". ¿Cuál es la mejor manera de hacerlo?Git: Ignorar archivos para el repositorio público, pero no para el privado
(I hago saber acerca de las variables de configuración de Heroku, que es grande como una solución temporal, pero no es divertido, siempre y cuando tenga que cambiar de alojamiento.)
Las dos ramas no deben ser sincronizado en todo momento: estoy de acuerdo con fusionar periódicamente la rama "maestra" en la rama "pública" y empujarla a github por separado.
he intentado varias cosas:
separados
.gitignore
archivos y un "nuestro" se funden estrategia - esto no funcionaba al principio, y después de jugar con él por un tiempo decidí que estaba haciendo demasiado complicado, así que pude conseguir una tarea aparentemente simpleutilizando un archivo personalizado
exclude
, y añadiendo lo siguiente a.git/config
... esto simplemente no funcionó:
.git/config
[branch "public"]
excludesfile = +info/exclude_from_public
¿Cuál es la mejor manera de tener una cuota de depósito privado y público en el mismo código, pero ignorar los archivos confidenciales en el repositorio público?
Puede suponer que no se ha confirmado o enviado ningún código, es decir, este es un repositorio recién inicializado.
(Esta pregunta se ha hecho antes en varias formas, pero ninguna de las respuestas eran recta hacia adelante o las respuestas parecía realmente hacky. Sólo estoy aquí para pedir esto de una manera muy simple, y es de esperar recibir una respuesta muy simple.)
¿Puedes eliminar los archivos en la rama pública? – Bill
Sí, pero obtendré conflictos de combinación con '.gitignore' de esta manera, y los archivos se agregarán nuevamente a la rama' public' cuando ejecuto 'git merge master' – bricker
Si confía en usar sistemas de control de versiones múltiples, podría usar darcs/mercurial/svn/bzr/whatever para la rama privada, y selectivamente presionar a git. – tripleee