Sabes Git, ¿verdad? Es uno de los sistemas de control de versiones más populares utilizados en la actualidad. Además, está en todas partes: preinstalado por muchos proveedores de alojamiento, utilizado como un sistema que funciona detrás de GitHub y Bitbucket y ahora integrado en complementos de WordPress fáciles de usar. Últimamente ha habido mucho ruido sobre el GIT en la comunidad de WordPress debido al desarrollo de herramientas basadas en GIT, como VersionPress, WP Pusher, Revisr y Gitium. Al igual que muchos otros profesionales de WordPress, soy un profesional independiente que funciona principalmente de manera independiente y nunca he tenido que adoptar el control de versiones. Sin embargo, todo el ruido de la última vez me ha llevado a un logro: mis habilidades Git necesitan poca atención.
Tal vez, como yo, eres uno de los muchos trabajadores independientes y desarrolladores de WordPress que aún no han aceptado por completo u otro sistema de control de versiones. Puede formar parte de un pequeño equipo de desarrollo que se dio cuenta de que necesita una mejor manera de realizar un seguimiento de sus proyectos de colaboración. O tal vez estudie el desarrollo de WordPress y desea aprender Git, porque en este momento la experiencia de control de versiones es una capacidad esperada de cada desarrollador profesional. He investigado cómo Git es utilizado por desarrolladores experimentados de WordPress y herramientas disponibles para facilitar el apareamiento Git y WordPress. En este artículo, compartiré lo que he aprendido e indicaré los recursos que puede usar para comenzar a usar WordPress Git.

¿Qué es Git? Git es un sistema de control de versiones. Estoy seguro de que ya sabías esto, pero ¿qué está haciendo el git? Veamos un ejemplo simple de lo que puede hacer para rastrear la creación y edición de un documento: se crea el documento.
El documento se guarda.
El documento está editado.
Se guardan los cambios.
Los dos primeros pasos tienen lugar una vez. Sin embargo, los últimos dos pasos generalmente ocurren muchos, muchos, a menudo. Lo que hace Git es:
Siga cada vez que se guarden los cambios.
Incluya un historial del estado del documento antes y después de la modificación.
Dése al autor o editor, la posibilidad de agregar una nota para explicar la naturaleza de cada cambio.
El resultado es que Git crea un historial completo de cada cambio realizado en el documento desde el principio, con la posibilidad de volver a ejecutar el documento en cualquier estado anterior.
No solo siga un documento, seguir un proyecto GIT no se limita a rastrear un solo documento. De hecho, Git sigue toda la actividad de una carpeta especificada, incluidos los subdirectores de esa carpeta. La mayoría de las aplicaciones web, como WordPress, están compuestas por varios archivos que están dentro de un directorio y varios subdirectores. GIT se puede usar para realizar un seguimiento de cada cambio en uno o todos estos directores y subdirectores e incluso puede decirle a GIT que ignore ciertos archivos y directorios. Al igual que la historia de un solo documento que mencioné, Git se puede utilizar para realizar un seguimiento de la historia de un proyecto completo que consiste en un director de nivel superior, varios subdirectores y docenas de archivos.
Una explicación visual de cómo GIT permite la colaboración. Fuente: git-scm.com. Y no solo observa un proyecto, colabora Git incluso comienza a brillar cuando se usa en un entorno de colaboración. Git está diseñado para mantener una versión central de un proyecto, para que varios contribuyentes puedan trabajar en los archivos de proyecto simultáneos y combinar todos sus cambios en la versión central. Git incluso observa conflictos entre las ediciones realizadas por diferentes miembros del equipo y ofrece la oportunidad de resolver estos conflictos. Y no solo fue trabajar en un proyecto, se repite para asumir que está trabajando en un proyecto con un grupo de colaboradores y tiene una idea que desea probar sin contratar todo el proyecto para ir en esa dirección. Git hace esto fácil.

Con Git, solo tiene que crear una nueva rama del proyecto, desarrollar su idea y luego renunciar a la rama si no funciona, combínela con el proyecto inicial si lo hace o la guarda como un proyecto completamente nuevo (referido A As Forking -Wordpress nació como bifurcación de B2/Coffeeologist, una plataforma de blogs anterior). ¿Cambias de opinión sobre todos estos cambios después de un buen sueño? No hay problema. Con el historial de versiones GIT, puede cancelar los cambios y cancelar los cambios. ¿Dónde vive Git? La mayoría de los flujos de trabajo GIT implican administrar el flujo de un proyecto entre tres ubicaciones diferentes:
Un entorno de desarrollo local: Git se usa localmente para seguir los cambios a medida que trabaja en una copia local de un proyecto de desarrollo. Opcionalmente, puede impulsar un proyecto del entorno de desarrollo local a un host Git o simplemente puede mantenerlo localmente si es el único que trabaja en él.
Un anfitrión de Git: Github y Bitbucket son dos de los anfitriones de GIT más populares, pero hay otros. Un host Git es un lugar donde está la versión principal de un proyecto, para que varios desarrolladores puedan trabajar en él al mismo tiempo. Un servidor web: con un GIT instalado en el servidor, use SSH para clonar el almacén del host que seleccionó El directorio donde el sitio web vivirá en el servidor web. Cada vez más hosts ofrecen GIT instalado incluso en costos compartidos.
¿Cómo usan los desarrolladores de WordPress Git? ¿Cómo fluye un trabajo de desarrollo de WordPress con Git en la mezcla?
El desarrollador WordPress Josh Pollock ha detallado su flujo de trabajo en nuestro artículo No más codificación de vaqueros: impulsando su flujo de trabajo de WordPress. Josh usa Git en tres lugares diferentes: un entorno de desarrollo local, un almacén privado privado y un servidor web que aloja la versión de producción del sitio de WordPress. Así es como funciona el sistema de Josh:
La versión oficial de un sitio se encuentra en el almacén Bitbucket Git.
SSH se utiliza para iniciar aplicaciones Git de línea de comandos en el servidor web para extraer o presionar archivos de proyecto entre bitbucket y servidor.
SourCetree, una interfaz gráfica GIT, se utiliza para iniciar solicitudes locales de GIT para extraer o impulsar archivos de proyecto entre Bitbucket y el entorno de desarrollo local.
Git, iniciado por SSH en el servidor web y manipulado localmente con SourCetree, se utiliza para rastrear los cambios y presionar los archivos, pero se utiliza un complemento adicional, WP migra DB Pro, para garantizar que la base de datos migre hacia adelante y hacia atrás.
Este no es el único modelo de uso de GIT y WordPress, pero el modelo de tres partidario: local, host git y servidor web) es bastante universal. Las diferencias se centran en las herramientas de software utilizadas para interactuar con GIT y la elección de Git.WordPress-Git Red Flags Hay algunos problemas endémicos en el uso de Git y WordPress:
¿Cómo se trata con WP-Config.php, porque será diferente en los servidores locales y de producción y no desea que se exponga en un almacén público?
¿Cómo te va con los archivos multimedia? ¿Tiene sentido copiarlos a todos del servidor de producción en su entorno de desarrollo local?
¿Tiene sentido incluir todo el núcleo de WordPress y los temas y complementos de tercera parte en su almacén GIT o debe limitar sus complementos y medios personalizados?
¿Cómo se mantiene la base de datos actualizada entre los servidores locales y de producción?
Puede averiguar cómo Josh recomienda resolver estos problemas leyendo la publicación completa para obtener todos los detalles.
Mientras tanto, el desarrollador completo de Stack Steve Grunwell explica su flujo de trabajo sobre el control de WordPress bajo el control [de la versión] con el sitio web de GIT. El flujo de trabajo de Steve se parece mucho al de Josh. Sin embargo, vale la pena echarle un vistazo, porque la explicación de Steve incluye dos información valiosa que ahorra tiempo.
Proporciona texto para un archivo .Gitignore recomendado.
Él ofrece a IfModule, puede ingresarlo en el archivo .htaccess de su sitio local.
Estos archivos funcionan juntos para hacer dos cosas: para limitar los directores y archivos incluidos en el almacén Git y decirle a la versión local del sitio que cargue los archivos multimedia del servidor web.Esto elimina la pregunta de si debe copiar o no los medios en su entorno local y excluir ciertos directores y archivos (como WP-Config.php) en su almacén GIT.
La descripción del flujo de trabajo de Steve no es del todo adecuada para principiantes. Dejó algunos presuntos pasos, como el hecho de que IfModule debería ser arrojado al archivo local .htaccess. Sin embargo, una vez que tenga una experiencia GIT, todo tendrá mucho más sentido. Git Tools Ahora que tenemos una buena idea sobre cómo los desarrolladores de WordPress usan GIT para administrar proyectos de WordPress, para echar un vistazo a algunas de las herramientas GIT utilizadas por los desarrolladores de WordPress. Git Git GUI ha sido diseñado originalmente para ejecutar desde la línea de comandos, y muchos desarrolladores aún usan la línea de comandos para trabajar con Git. Sin embargo, puede deshacerse del uso de la línea de control para trabajar localmente si lo desea. Si tanto GIT como la línea de pedidos son extranjeras, el uso de un GUI GIT puede facilitar el proceso de aprendizaje de GIT, lo que le permite omitir la línea de comando por el momento. SourCetree es un cliente GIT muy popular y gratuito que se integra con Bitbucket y GitHub. Github Desktop es otra opción popular, pero que funciona solo con GitHub. Hay varias otras GUI que puedes considerar. Solo asegúrese de que el cliente que establece trabaje con el host Git que tiene la intención de usar. Git Hosts A Git Host es una casa para sus depósitos Git en la web. No tienes que usar un host Git. Es completamente posible impulsar los cambios de su entorno local directamente en su servidor web con SSH o simplemente usar el control de versiones locales. Usar un host Git significa que tiene una copia de seguridad completa de los archivos de su sitio.
En un lugar donde es fácil empujarlos en un servidor web a través de SSH a la vez. Además, si desea colaborar con otro desarrollador, el uso de un host Git para administrar y combinar los cambios en el proyecto hará en gran medida el proceso. GitHub es el host más conocido. Sin embargo, están lejos de ser la única opción y realmente solo una excelente opción si desea que sus depósitos sean públicos o no les importe pagar unos pocos dólares cada mes por depósitos privados. Bitbucket es otra opción muy popular, especialmente para los desarrolladores que prefieren usar depósitos privados. Otra opción bien conocida es GitLab y hay varios hosts Git adicionales si no se vende en GitHub, Bitbucket o Gitlab. Las herramientas Git de WordPress no deben usar herramientas específicas de WordPress para incorporar GIT en su flujo de trabajo. Sin embargo, dado que comienzas a usar GIT, hay algunas herramientas de WordPress que definitivamente querrás saber.
VersionPress
VersionPress crea un depósito Git en el servidor web de su sitio y sigue cada cambio que realiza. Además, agregue un tablero al administrador de WordPress, donde hay un botón de cancelación literal disponible para cada cambio. Puede usar VersionPress para cancelar cualquier cambio que realice, incluso para cancelar el núcleo de WordPress después de una actualización, para cancelar una actualización del complemento o desinstalar un tema. Además, si se siente cómodo con WP-CLI, puede usar VersionPress para crear sitios de rendimiento que luego puede combinar con el sitio de producción, una vez que su sitio esté listo para el consumo público. Nuestra publicación anterior sobre VersionPress lo ayudará a configurar VersionPress para versiones de WordPress en función de su GIT. Vale la pena mencionar que VersionPress sigue siendo un complemento para el lanzamiento temprano. Esto significa que aún no es un producto terminado y debe ser cauteloso si decide usar el complemento. ¿Estás interesado en VersionPress? Descargar
Revisr
RevISR es muy similar a VersionPress, con una gran excepción. VersionPress sigue cada cambio para hacer que su sitio se cambie automáticamente y las piezas revisr cuando las contratan en la revista Git Manual. ReVISR es un producto listo para la producción disponible en WordPress Plugin Director y funciona bien si lo considera un enchufe de repuesto que utiliza un depósito GIT para almacenar la copia de seguridad del sitio. RevISR ofrece la oportunidad de seguir los cambios en la base de datos, pero el complemento no puede combinar dos versiones de una base de datos y, por lo tanto, no puede usarse para crear y combinar sitios de estadificación. Sin embargo, a diferencia de VersionPress, ReVISR es un producto finito y debe encontrar menos conflictos y temas de complementos con RevISR que con VersionPress en su estado actual de lanzamiento temprano. ¿Estás interesado en revisr? Descargar

Gitio
Si piensas bien, el núcleo de WordPress ya está bajo el control de las versiones. Además, el núcleo incluye la versión de todos los cambios en páginas y publicaciones. Entonces, ¿qué queda? Complementos y temas. Aquí es donde interviene Gitium. Gitium, de PressLabs, trae versiones basadas en el cuello de cualquier cambio a complementos y temas directamente en el tablero de WordPress. Todas las instalaciones de complementos, los cambios de código y las actualizaciones se siguen y las versiones automáticamente en un almacén alojado por el host de su elección, como Bitbucket o GitHub. ¿Estás interesado en Gitium?

Descargar
Sincronización Github WordPress
WordPress Github Sync mantiene a un historiador ejecutando sus ediciones de contenido en un almacén de GitHub. Esto es especialmente útil si tiene contenido modificado por muchos usuarios diferentes, porque cada cambio se asignará a usuarios conectados que realizan los cambios. Incluso puede usar el complemento para aceptar a los lectores de los lectores realizados a través de GitHub. Si desea usar WordPress GitHub Sync, también deberá instalar WP-Markdown, que convertirá su HTML en publicaciones de Markdown para una representación mejorada y una sintaxis simple cuando se vea en GitHub. ¿Estás interesado en WordPress Github Sync? Descargar

Pusente de WP
WP Pusher conecta su sitio de WordPress a un complemento o WordPress alojado en un almacén de GitHub. Esto facilita la instalación y actualización de los complementos y temas de WordPress que están alojados en GitHub. Piense en WP Pusher como un puente para complementos y temas que conectan su sitio de WordPress a GitHub. Sin WP Pusher, debe usar SSH o FTP para usar complementos o tareas en GitHub. Con WP Pusher, puede instalar o actualizar fácilmente complementos y temas alojados por GitHub desde el tablero de WordPress. Esto significa que WP Pusher también es una herramienta de desarrollo útil cuando se desarrolla sus propios complementos y temas personalizados y cuando se usa GitHub para la versión. WP Pusher es gratuito si los complementos y los temas que usa están alojados en depósitos públicos de GitHub. Sin embargo, trabajar con depósitos privados activará el requisito de comprar una licencia. ¿Estás interesado en WP Pusher?
Descargar

Comience a aprender Git Si ha llegado aquí, debe participar seriamente en GIT y usarlo para mejorar su flujo de desarrollo de WordPress. He encontrado una educación GIT de alta calidad, que lo llevará desde el principiante hasta el usuario competente en menos de ocho horas. Intentar GIT es una introducción interactiva rápida a la escuela de código y GitHub. Escríbelo en 15 minutos para darle una idea de cómo funciona GIT y aprender algunos de los comandos básicos. Tiempo de finalización: 15 minutos.
La serie de videos Basics Git ofrece una imagen general de alto nivel en el control de versiones y Git. Tiempo de finalización: 30 minutos o menos.
Learn Git es un curso gratuito de CodeCademy que lo hará trabajar cómodamente con los comandos básicos, como init, estado, agregar, diff, confirmación y registro. Tiempo de finalización: 2 horas.

No tiene que usar la línea de comandos para trabajar con el cuello localmente, pero la mayoría de los desarrolladores lo hacen. Además, si usa GIT en un servidor SSH, deberá usar la línea de comando. Por esta razón, incluimos en esta lista Learn Line de comandos. Es otro curso gratuito de CodeCademy que le enseñará cómo usar la línea de comando para navegar entre directores y archivos. Tiempo de finalización: 3 horas.
Git para desarrolladores de WordPress incluye 35 screencasts hechos por el desarrollador detrás de WP Pusher. Los screencasts cubren temas como ignorar archivos, comandos Git avanzados e implementación de estrategias. Tiempo de finalización: 2 horas o menos.
Realice esos recursos gratuitos y estará equipado para usar GIT de manera competente mientras continúa aprendiendo mientras incorpora GIT en su flujo de trabajo. Sin embargo, si realmente desea desarrollar chuletas de control de versiones de calidad profesional, eche un vistazo a Pro Git de Scott Chacon y Ben Straub. Este libro de más de 500 páginas está disponible de forma gratuita en una variedad de libros electrónicos o puede obtener una versión de Tree Dead de Amazon. El sitio web de Git también ofrece una lista de muchos recursos adicionales para aprender GIT si no ve exactamente lo que está buscando en la lista anterior. Los extremos de WordPress aumentan. Pasa de ser una plataforma de blogs a ser un corazón poderoso de un CMS fuerte y una plataforma de aplicaciones web. La integración del control de versiones en los principales flujos de trabajo de desarrollo de WordPress es un paso natural para madurar la plataforma. Si es serio para mantenerse en la parte superior del desarrollo de WordPress, y sé que lo es, porque lee este blog, debe agregar competencia Git a la caja de herramientas de WordPress Developer. Pasar por esta guía Git de WordPress es un gran primer paso. Luego, programen el tiempo para trabajar con uno o más de los recursos gratuitos recomendados y comience a integrar GIT en su trabajo de desarrollo de WordPress. ¿Qué complementos y herramientas basadas en Git usas? ¿Cómo es su flujo de trabajo de desarrollo de WordPress?

Etiquetas:
código
cuello
Github
control de versiones
Cómo usar WordPress Development Git
Tags Cómo usar WordPress Development Git
homefinance blog