Uso de WordPress con Git: ¿qué archivos debo ignorar?

4 minutos de lectura

avatar de usuario
Jesse Naranja

Durante los últimos 6 meses, más o menos, he estado trabajando en proyectos de Laravel que están más cerca de las aplicaciones web que de los sitios completos administrados por contenido.

Recientemente comencé un proyecto de WordPress y hay algo que me desconcierta, ¿cómo se usa Git con WordPress?

Lo pregunto porque en Laravel básicamente puedes empujar todo aparte de node_modules, storage y el compositor vendor carpeta.

También he leído que no es buena idea almacenar wp-config en su repositorio, es extraño ya que Laravel usa un .env archivo con un efecto similar.

Encontré el siguiente .gitignore

*.log
wp-config.php
wp-content/advanced-cache.php
wp-content/backup-db/
wp-content/backups/
wp-content/blogs.dir/
wp-content/cache/
wp-content/upgrade/
wp-content/uploads/
wp-content/mu-plugins/
wp-content/wp-cache-config.php
wp-content/plugins/hello.php
/.htaccess
/license.txt
/readme.html
/sitemap.xml
/sitemap.xml.gz

  • Por favor revise para preguntar algo más específico. Si se pregunta qué archivos deben ignorarse, pregunte eso (también en el título).

    – madera de isher

    8 de febrero de 2019 a las 16:27

Puede ignorar casi todo con las siguientes excepciones:

  1. wp-content/themes/my-theme (su tema y/o tema secundario)
  2. wp-content/plugins/my-custom-plugin. (cualquier complemento personalizado que cree)

Además, he encontrado dos muy buenas fuentes de archivos gitignore para WordPress. El primero, que es muy sencillo, está en gitignore.org (https://gitignore.org/gitignore.html#wordpress) y el segundo que es extremadamente quirúrgico es de Sal Ferrarello y se puede encontrar aquí: https://salferrarello.com/wordpress-gitignore/

Simplemente modifique según sea necesario y, por supuesto, evite el config.php. Tiene información específica de instalación, como el host de la base de datos y el inicio de sesión, que es posible que no desee exponer a miradas indiscretas.

  • ¿Por qué solo complementos personalizados? ¿Por qué usar el control de versiones si no puede usarlo para revertir las actualizaciones malas del núcleo o de los complementos?

    – Hashim Aziz

    2 abr 2021 a las 21:44

  • @HashimAziz La misma pregunta + ayuda a realizar un seguimiento de los cambios realizados en el complemento directamente, lo que no es como debería ser. Solo para rastrear cambios de código incorrectos.

    – m4n0

    10 de julio de 2021 a las 11:13

  • @simlpymarkb: Tu primer enlace fue secuestrado. Es posible que desee actualizar eso.

    – el rey2

    9 de mayo a las 11:48


  • @HashimAziz, ¿te refieres a tus propios complementos? Para su reutilización, estos deben ir en su propio repositorio de cualquier manera. Los complementos de terceros no deberían contaminar su historial de git.

    – el rey2

    9 de mayo a las 12:49

avatar de usuario
cabrerahector

de laravel .env el archivo contiene datos confidenciales al igual que los de WP wp-config.php por lo que generalmente no lo insertamos en el repositorio.

En cuanto a cómo uso Git con WordPress:

  • excluyo el wp-config.php file, el desarrollador que clona el repositorio no lo necesita de todos modos: puede completar las credenciales por sí mismo cuando trabaja en el proyecto en su entorno de desarrollo local. Otra buena razón para omitir este archivo es que no desea exponer los detalles de su sitio (host, nombre de la base de datos, nombre de usuario, contraseña, sales, etc.) al mundo.
  • excluyo el uploads carpeta. La razón es que durante el desarrollo generalmente agregamos imágenes ficticias a nuestras publicaciones y páginas, imágenes que no se usarán en absoluto cuando el sitio finalmente esté listo para la producción, por lo que no hay razón para “contaminar” el repositorio con estas.

Una de las cosas que me encantan de Laravel es que los cambios en la base de datos también se pueden rastrear gracias a migraciones. WordPress, por otro lado, no tiene nada de eso, por lo que tendrá que encontrar un complemento (o algún otro medio) para mantener su base de datos local sincronizada con la puesta en escena.


Actualizar:

Dado que actualizó su pregunta para preguntar qué archivos deberían excluirse específicamente del repositorio de Git, creo que los que publicó de ese .gitignore archivo que encontraste son lo suficientemente buenos. No veo la necesidad de ignorar el readme.txt archivo sin embargo, pero eso tampoco hará ningún daño.

  • ¿Usas WordPress o Laravel? Creo que me sentí demasiado cómodo con el ecosistema de Laravel.

    –Jesse Orange

    8 de febrero de 2019 a las 17:11

  • @JesseOrange Yo uso ambos, en realidad. He estado haciendo cosas de WordPress durante los últimos 12 años. Empecé a usar Laravel hace unos dos años, creo. Entiendo perfectamente por qué te sentiste cómodo con él, ¡es tan fácil de usar y personalizar! Sin embargo, nunca he mezclado ambos marcos en un solo proyecto (eso sería una atrocidad jaja).

    – cabrerahector

    8 de febrero de 2019 a las 19:02

  • ¿Has trabajado en un sitio de WordPress con varios desarrolladores? Literalmente salí de Laravel y me di cuenta de cuánto te ayuda el framework.

    –Jesse naranja

    10 de febrero de 2019 a las 23:28

  • Sí tengo. WordPress también es bastante versátil, y también hay una gran comunidad detrás de él.

    – cabrerahector

    11 de febrero de 2019 a las 1:00

  • Entonces, en resumen, ¿estoy seguro de enviar todo a Git?

    –Jesse Orange

    11 de febrero de 2019 a las 9:30

¿Ha sido útil esta solución?