¿Pueden dos twigs señalar el mismo compromiso?

Me gustaría mantener mi gh-pages en sintonía con el master en mi repo de github, y actualmente estoy haciendo esto con un script que genera una fusión adicional de compromiso cada vez y, en verdad, solo necesito una única confirmación.

Es verdad que podría simplemente descuidar la actualización de master y simplemente usar gh-pages para el desarrollo, pero quería saber si git admite la posibilidad de que dos twigs locales apunten a la misma confirmación.

Hay un punto para que ambos avancen. El repo expuesto al mundo en github.com rastrea master mientras que la página de Github Pages en my_username.github.com (que aloja las muestras de código en vivo y páginas de testing que realmente uso para probar) rastrea gh-pages . Ambos deben sincronizar las cosas importantes (código js) y mi pregunta es acerca de si es posible que ambos apunten a la misma confirmación exacta. Ignorando, por el momento, que esto significaría que el master recibiría los files adicionales para el sitio de Pages que realmente no pertenecen allí. Aún así, no me importa tener esa transparencia de todos modos, por lo que es fácil que la gente descubra cómo está configurado el sitio.

Sí, dos twigs pueden apuntar a los mismos commits. Sin embargo, en el caso de gh-pages las twigs no comparten el mismo historial, por lo que tienes que decirle a Git que está bien básicamente squash la twig gh-pages existente.

Esto apuntará a su twig gh-pages a lo que sea que apunte su maestro local:

 git push origin +master:gh-pages 

Tenga en count que aplastará las gh-pages usadas para señalar en el server. El signo + le dice a Git que está bien aplastar cosas.

Obtuve esto de su repository .

 $ git diff --stat master..gh-pages debug.js | 2 +- images/body-bg.png | Bin 0 -> 8859 bytes images/highlight-bg.jpg | Bin 0 -> 34222 bytes images/hr.png | Bin 0 -> 1037 bytes images/octocat-icon.png | Bin 0 -> 1651 bytes images/tar-gz-icon.png | Bin 0 -> 1671 bytes images/zip-icon.png | Bin 0 -> 1661 bytes index.html | 71 ++++++++ javascripts/main.js | 1 + params.json | 1 + stylesheets/print.css | 226 +++++++++++++++++++++++++ stylesheets/pygment_trac.css | 69 ++++++++ stylesheets/stylesheet.css | 371 ++++++++++++++++++++++++++++++++++++++++++ 13 files changed, 740 insertions(+), 1 deletions(-) 

Desde el punto de vista de las cosas, las twigs son básicamente las mismas con la adición de algunos files / carpetas en gh-pages . La respuesta simple sería matar al master , como lo he hecho .

Me gustaría agregar que existen dos types de "páginas GitHub".

  • Usted tiene páginas de "usuario", que serían similares a svnpenn.github.io
  • Tienes páginas de "proyectos", que serían similares a svnpenn.github.io/bm

  • Las páginas de usuario dependen de la twig master para generar / mostrar una página.
  • Las páginas del proyecto se basan en la twig gh-pages para generar / mostrar una página.

Deje que quede claro que una twig de gh-pages no tiene ningún propósito en un repository de "usuario", del mismo modo que una twig master no tiene ningún propósito en un repository de "proyecto", aparte de un propósito que se le ocurra.