Por qué todo desarrollador de Salesforce debería usar Git
Cómo Git puede resolver problemas del flujo de trabajo para los desarrolladores de Salesforce que usan Apex, Visualforce y Lightning.
Por Randalyn Hill-Coffer·Revisado por el equipo de Blue Canvas··5 min de lectura
Este artículo te mostrará cómo Git se convirtió rápidamente en el estándar de referencia para la gestión del código fuente (SCM), gracias a sus funciones únicas y sus beneficios para la colaboración. También abordaremos el papel de Git en el ecosistema de Salesforce y las herramientas complementarias que pueden ampliar la experiencia de los desarrolladores y administradores de Salesforce.
Estas son nuestras 5 conclusiones clave:
- Git se creó por la frustración con los sistemas de SCM existentes y se ha convertido en el estándar de facto de la industria.
- Entre las funciones clave de Git se incluyen la aplicación rápida de parches, la capacidad de trabajar sin conexión y una estructura distribuida que permite colaborar de manera eficiente.
- Git ayuda a prevenir la sobrescritura accidental de código, un problema común en el desarrollo en Salesforce, al dejar atrás un flujo de desarrollo lineal.
- Git mejora el proceso de revisión de código con sus herramientas de comparación de cambios y su función de reversión, lo que garantiza versiones de alta calidad.
- Herramientas como SourceTree ofrecen una interfaz gráfica fácil de usar para trabajar con Git, lo que lo hace más accesible.
Linus y Git
¿Por qué parece que gran parte del mejor software se crea en un fin de semana?
En abril de 2005, el creador de Linux, Linus Torvalds, estaba frustrado con BitKeeper, la herramienta propietaria de gestión del código fuente (SCM) que usaban los desarrolladores del núcleo de Linux. Sin embargo, no había otros sistemas de SCM distribuidos que satisficieran sus necesidades.
Cuenta la leyenda que Torvalds se tomó un fin de semana y empezó a abordar el problema de frente. La semana siguiente regresó triunfante con Git. Un sistema de SCM de código abierto con tres criterios sencillos:
- Aplicar parches no debía tomar más de 3 segundos, en lugar de los 30 segundos de otros sistemas
- La nueva herramienta debía admitir un flujo de trabajo distribuido
- La nueva herramienta debía incluir medidas de protección contra la corrupción de datos
Torvalds dice que en realidad le tomó unos 10 días terminar de crear Git, pero en un día ya pudo registrar cambios en Git con Git.
GitHub
En 2008, Tom Preston-Werner, Chris Wanstrath y PJ Hyett se unieron para crear GitHub - un servicio en línea para alojar repositorios Git. El resultado fue extraordinario. Para febrero de 2009, había 46,000 repositorios públicos alojados en GitHub.
El éxito de Git con GitHub llevó a otros a seguir sus pasos y ahora hay varias herramientas para alojar tus repositorios Git en línea (GitLab, Bitbucket).
Hoy, Git se ha consolidado como el líder en gestión de código fuente. Incluso empresas como Atlassian lo consideran un estándar de facto. Hoy, equipos grandes y pequeños de todo el mundo usan Git para gestionar su código.
¿Qué hace que Git sea tan genial?
Git se volvió popular porque representaba una enorme mejora frente a los sistemas de gestión de código fuente anteriores.
GIT ES RÁPIDO
Al estar escrito en C, notarás que aplicar parches toma apenas unos segundos. Esto era una parte clave de la visión original de Torvalds. En los sistemas de gestión de código fuente anteriores, los parches tardaban 30 segundos o más.
GIT TE PERMITE TRABAJAR SIN CONEXIÓN
Con Git no necesitas estar conectado al servidor que aloja el código fuente para trabajar. Esto no era posible con muchos otros sistemas de gestión de código fuente anteriores a Git.
GIT ES DISTRIBUIDO
El control de código fuente puede complicarse si tienes commits grandes con muchos cambios de código. Git fomenta commits pequeños y frecuentes relacionados con una sola funcionalidad. Es mucho más fácil fusionar commits que corresponden a una sola funcionalidad que un commit grande que afecta a varias. Esto es lo que hace de Git una herramienta tan útil para colaborar.
COLABORACIÓN
Colaborar con Git es muy sencillo. Herramientas como GitHub han convertido las solicitudes de incorporación de cambios en una parte habitual del flujo de trabajo de cualquier desarrollador. Es fácil hacer seguimiento de los cambios y revisar el código con las herramientas de comparación de Git. Esto permite que los equipos grandes colaboren en proyectos de software sin interferir ni sobrescribir el código de los demás.
COPIAS DE SEGURIDAD
Cada clon de tu repositorio sirve como una copia de trabajo. Git también permite volver a estados anteriores del repositorio. Así, siempre puedes confiar en que tu repositorio está en buen estado.
Git y Salesforce
Como comentamos en una publicación anterior, hay algunos problemas importantes con el control de código fuente y los despliegues en la plataforma Force.com. Git es especialmente útil para los desarrolladores de Salesforce.
Una de las principales frustraciones para los desarrolladores de Force.com es la sobrescritura de código. Esto ocurre cuando el código de un desarrollador sobrescribe el de otro.
Git deja atrás el flujo de desarrollo lineal habitual en los sistemas de control de versiones centralizados. En un flujo lineal, los desarrolladores trabajan en la misma base de código al mismo tiempo. Esto genera problemas cuando los commits relacionados con un tema se intercalan con commits de otros temas. Al momento de lanzar una versión, esto se vuelve un problema porque no todas las funcionalidades tienen la estabilidad necesaria.
Esto también es un problema cuando falla una compilación. Salesforce exige que el 75% del código Apex esté cubierto por pruebas unitarias. Esto es excelente. Sin embargo, si trabajas con un desarrollo lineal, una compilación fallida significa que ningún desarrollador podrá seguir trabajando, lo que genera frustración generalizada y tiempo improductivo.
Git resuelve los problemas asociados con un flujo de trabajo lineal mediante ramas y fusiones.
Git te permite mantener una rama principal estable que siempre está lista para desplegarse. El desarrollo de funcionalidades se realiza en ramas aisladas. Estas ramas solo se fusionan con la base de código principal cuando todas las pruebas pasan, para que el equipo siga avanzando sin frustraciones.
Comparación de cambios, revisiones de código y reversiones
Otra ventaja de Git para Force.com es que mejora enormemente la experiencia al comparar diferencias de código. Git mantiene un historial continuo de todos los cambios que has realizado en tu código, para que siempre puedas hacerles seguimiento a lo largo del tiempo. Esto es especialmente útil al depurar o investigar un problema que haya llegado a producción.
Herramientas como GitHub, Bitbucket y GitLab tienen excelentes interfaces que resaltan las diferencias.
Las comparaciones de código facilitan mucho las revisiones de código, una práctica recomendada cada vez más común en el desarrollo de software. Cada vez más equipos exigen revisiones de código antes de fusionar cualquier cambio en la rama principal. Esto ayuda a mantener la calidad de tus lanzamientos. Git lo hace sencillo.
Git también facilita volver a una versión estable anterior de la base de código en cualquier momento.
SourceTree
Git es una herramienta increíblemente potente y se ha consolidado como líder entre los sistemas de gestión de código fuente. Las herramientas de desarrollo y los IDE más populares ofrecen un excelente soporte para Git. Hay muchas herramientas útiles para aprender Git. Además de los servicios de alojamiento de repositorios Git en la nube, como GitHub y Bitbucket, hay herramientas como SourceTree de Atlassian.
SourceTree es una interfaz gráfica de usuario para trabajar con Git. Te permite aprovechar todo el potencial de Git sin tener que usar la línea de comandos.
Avanza más rápido y con más seguridad con Git
Usar Git para el desarrollo en Force.com es imprescindible. Los desarrolladores de Salesforce que lo usan logran lanzamientos más rápidos, menos tiempo de inactividad, menos errores manuales en los despliegues y una mejor colaboración entre los miembros del equipo.
Blue Canvas ofrece los beneficios del desarrollo basado en Git a la comunidad de Salesforce, sin las complicaciones de configuración o puesta en marcha. Nuestras soluciones basadas en Git se encargan de Control de versiones, copias de seguridad e integración continua, ¡para que tus desarrolladores y administradores puedan seguir enfocados en entregar excelentes funcionalidades juntos! Si aún no lo has probado, regístrate para una prueba gratuita en https://accounts.bluecanvas.io/signup . ¡Solo conecta tus organizaciones, compáralas en segundos y acelera tu flujo de despliegue gracias a Quick Sync!



