Me parece muy tedioso, en mi opinión, los github wikis deberían ser ramas del repositorio principal, o al menos debería ser posible.
Sin embargo, creo que la mejor solución es simplemente movimiento la wiki en el repositorio principal, dicen en docs/
o wiki
, utilizando un subtree merge. Por ejemplo, suponiendo que su repositorio es you/proj
, su wiki estaría en: git://github.com/you/proj.wiki
. Luego de fusionar en tu repositorio principal, que haría:
git clone git://github.com/you/proj
cd proj
git remote add -f wiki git://github.com/you/proj.wiki
git merge -s ours --no-commit --allow-unrelated wiki/master
git read-tree --prefix=wiki/ -u wiki/master
git commit -m "Github wiki subtree merged in wiki/"
Incluso puede mantener el wiki de trabajo en el lado de acoger las contribuciones públicas allí, pero luego veterinario ellas en su documentación principal como mejor le parezca. Para combinar los nuevos cambios en después de la revisión, que haría:
git pull -s subtree wiki master
Desafortunadamente, fusionando los cambios de la otra forma es un tanto complicado, y de todos modos, probablemente debería hacer esto como una cosa de una vez, a continuación, cierre el wiki, o redirigir a la fuente del repositorio ...
Además, una advertencia importante de este enfoque es que git log wiki/Home.md
(por ejemplo) en realidad no muestra el historial de la página wiki. La historia es allí, pero de alguna manera git-log
no puede rastrearlo. Este es un known limitation relacionado con git subtrees. Otra solución para arreglar esto sería hacer un filter-branch
y una combinación regular, una vez, para mantener el historial.
Para mí, la principal ventaja de tener el wiki como parte del árbol fuente principal es que las solicitudes de extracción y los cambios se pueden coordinar a través del código y la documentación. También hace que sea trivialmente simple enviar la documentación con su código en lugar de asumir que la gente lo lea en línea ...
Fui con el submódulo. Gracias por las respuestas. –
¿Qué te parece esto con el wiki como submódulo? Quiero hacer algo similar, pero no me he familiarizado con el negocio de los submódulos. ¿Cómo podría esto hacer frente a la bifurcación y la fusión, ya que me gustaría tener una rama de "desarrollo" de mi código con la misma para la wiki, así que cuando fusione eso con mi rama principal, también fusionaría los cambios en el rama wiki en vivo. –
¿Pero de qué sirve tenerlo como submódulo?Nadie más puede modificarlo o usarlo de todos modos. ¿Puedes usarlo en cualquier lugar fuera del github? Me refiero a que podrías tenerlo en un directorio separado como repo github y simplemente .gitignore ese directorio desde el repositorio principal. – jayarjo