tipos tag remove qué practices existen etiquetas crear commits commands best git github wiki

tag - qué tipos de etiquetas existen en git



Cómo integrar una wiki de GitHub en el proyecto principal (3)

Quiero conservar todo mi código fuente y documentación en un único repositorio de git. Ya tengo las páginas github integradas en mi proyecto principal y ahora quiero hacer lo mismo con la wiki github.

Sé que los github wikis son simples repositorios de git. Mi plan es agregar el wiki como un control remoto a mi repositorio principal y mantener todo en un solo lugar. Sin embargo, en el repo de wiki todo está en el directorio raíz y, por lo tanto, ocuparía mi proyecto principal.

¿Alguien ha intentado esto antes? ¿Cuál es la mejor manera de manejar esto?


Desea agregar la wiki como un submodule . El mismo Wiki git repo está conectado como un control remoto, pero dentro de un subdirectorio con su propio directorio .git.

git submodule add git://github.com/you/proj.wiki

En la raíz de su repositorio principal para agregar el repositorio wiki como un submódulo en el wiki / dir.


Encuentro esto bastante 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 mover la wiki al repositorio principal, digamos en docs/ o wiki , usando una combinación de subárbol . Por ejemplo, suponiendo que su repositorio es you/proj , su wiki estaría en: git://github.com/you/proj.wiki . Luego, para fusionarlo en su repositorio principal, 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 la wiki funcionando para recibir contribuciones públicas allí, pero luego verifique en su documentación principal como mejor le parezca. Para fusionar los nuevos cambios en después de la revisión, haría:

git pull -s subtree wiki master

Desafortunadamente, fusionar los cambios de la otra manera es un poco más complicado, y de todos modos, probablemente deberías hacer esto como algo único, luego cerrar la wiki, o redirigir a la fuente de 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 está ahí, pero de alguna manera, git-log no puede rastrearla. Esta es una limitación conocida relacionada con los subárboles de git. Otra solución para arreglar esto sería hacer una 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 documentación con tu código en lugar de asumir que la gente lo lea en línea ...


Podrías crear un submodule con el repositorio wiki en él o hacer una búsqueda regular y cambiar las ramas de un lado a otro.