Mantener WordPress en el control de versiones: repositorio separado para el tema

2 minutos de lectura

Tengo mi proyecto de WordPress en Git y tengo WordPress como submódulo. Quiero mantener el desarrollo de mi tema en un submódulo separado, pero dentro de la configuración actual y tengo algunas dificultades para configurar el tema como un submódulo.

Aquí está mi sistema de archivos:

/.git (master repo)
/index.php
/wp-config.php
/wordpress (WordPress repo as a submodule)
/wp-content 
  themes
     test-theme (theme repo)
        .git
        index.php
        (etc...)

Ahora, cuando presiono mi repositorio maestro en github e intento clonarlo en otra máquina, el submódulo de wordpress se descarga bien, pero mi carpeta de temas no, y aparece un error sobre el submódulo que no está definido.

Intenté usar esto para agregar mi tema como un submódulo:

git submodule add ./wp-content/themes/test-theme/.git ./wp-content/themes/test-theme

pero me sale el siguiente error: “remote (origen) no tiene una url definida en .git/config”

¿Cómo defino mi repositorio de temas como un submódulo, cuando está esencialmente alojado “dentro” del proyecto y no en un repositorio separado en línea?

Gracias.

  • Solo pongo wp-content como raíz de mi git y luego uso .gitignore para eliminar complementos que no quiero ver. Los complementos personalizados y el tema se rastrean juntos.

    – Jure C.

    6 de agosto de 2012 a las 13:24

  • Relacionado: stackoverflow.com/questions/48052006/…

    –Jesse Nickles

    2 de marzo a las 15:42

avatar de usuario
nsecord

Todavía soy relativamente nuevo en el uso de submódulos, pero he estado tratando de hacer algo similar y encontré dos publicaciones de blog bastante útiles: una por baya clint y otro por david invierno.

El principio de un submódulo es que debe tener un repositorio separado y luego, cuando agrega ese submódulo a un nuevo proyecto, el comando Agregar submódulo debe apuntar al repositorio:

git submodule add https://github.com/youruseraccount/test-theme.git ./wp-content/themes/test-theme
git init
git update

Creo que es por eso que recibe el error, no hay una URL asociada con el origen. Busque en los archivos .gitmodule y .git/config para confirmar. Si estoy en lo correcto, git init agregará las entradas necesarias en .git/config y git update extraerá el tema del repositorio y lo colocará en el subdirectorio.

Consulte aquí cómo realizar cambios en el submódulo y aquí cómo eliminar el submódulo.

  • El segundo enlace (David Winter) está roto.

    – LC1983

    27 de marzo de 2017 a las 13:08

  • Actualizado el enlace.

    – nsecord

    28 de marzo de 2017 a las 15:31

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad