Guía para la elección del control de versiones para tus proyectos de diseño de PCB

Zachariah Peterson
|  Creado: April 5, 2021  |  Actualizado: October 14, 2023
Guía para el control de versiones

El control de versiones ofrece a los equipos de desarrollo la posibilidad de hacer justo lo que su nombre indica: controlar qué versión de un proyecto o repositorio de datos es la versión maestra de un proyecto, haciendo un seguimiento a todos los cambios entre versiones y marcándolos con fecha y hora. Los sistemas de control de versiones son estupendos para hacer seguimiento y mantener bases de código completas sin tener que seguir el anticuado sistema de copiar, pegar, comprimir y enviar por correo electrónico que utilizan la mayoría de los diseñadores de PCB. También está la cuestión de clonar proyectos y crear un historial de revisiones a partir de un repositorio de código.

Si eres diseñador de hardware, ¿cómo puedes aprovechar los sistemas de control de versiones para tus proyectos de hardware? Los sistemas externos de control de versiones imponen un paso adicional en tu flujo de trabajo, en el que los archivos deben ser extraídos y modificados, y las revisiones devueltas al control de versiones. Los usuarios de Altium Designer pueden aprovechar las capacidades de sincronización de Altium 365 para ayudarles a replicar su sistema de control de versiones en una plataforma gestionada basada en la nube. Los usuarios también pueden migrar su repositorio de SVN o Git externo al sistema de control de versiones de Altium 365.

¿Por qué usar el control de versiones en tu software de diseño de PCB?

Después de comentar este tema con varios diseñadores de PCB, me he dado cuenta de que las grandes empresas cuentan con métodos interesantes para catalogar y organizar sus proyectos, documentos de PCB, esquemáticos, bibliotecas y cualquier información necesaria en los proyectos de diseño de PCB. Probablemente, los dos métodos más comunes para organizar los datos de diseño sean por proyecto o por tipo de archivo y número de componente o proyecto. En cualquier caso, cuando no existe un sistema de control de versiones, es probable que un equipo tenga un gran grupo de proyectos en una carpeta en alguna parte.

Hay situaciones en las que puede ser una buena idea incorporar tus proyectos de hardware y PCB a un sistema de control de versiones.

  • Hay varios colaboradores trabajando en un proyecto.
  • Es necesario hacer un seguimiento de las revisiones de los proyectos en el tiempo sin tener que hacer copias de los proyectos reiteradamente.
  • Es posible que un equipo necesite volver a una versión anterior del proyecto.
  • Es necesario clonar rápidamente un proyecto para reutilizarlo posteriormente.
  • Es posible que sea necesario clonar, rastrear y revertir determinados archivos de un proyecto.

Los sistemas de control de versiones ayudan a agilizar todas estas tareas y la decisión que tiene que tomar un equipo de diseño de PCB es qué sistema de control de versiones debe utilizar. Los usuarios de Altium Designer tienen la opción de utilizar el repositorio integrado de Git en Altium 365.

¿Control de versiones interno o externo?

La ventaja de utilizar el sistema de control de versiones interno de Altium 365 es que cualquier proyecto de PCB que se encuentre en el control de versiones puede sincronizarse y abrirse directamente en Altium Designer. No hay un proceso manual de revisión de archivos y las revisiones del proyecto pueden sincronizarse de nuevo en Altium 365 con unos pocos clics. Además, todo lo que hay en un proyecto de PCB es elegible para la sincronización y migración a Altium 365.

Sin embargo, hay veces en las que es importante llevar un sistema de control de versiones externo. Los proyectos de diseño de PCB pueden ser muy complejos y abarcar mucho más que la placa de circuitos, ya que pueden incluir elementos mecánicos, documentación diversa, código para software o firmware integrado y otros elementos esenciales que aún no están presentes como objetos gestionados en Altium 365. También puede ocurrir que una empresa maneje datos privilegiados para un diseño y no se le permita colocar esos datos en un servidor que no controle directamente. En esos casos, tiene sentido sincronizar solo los datos relevantes del proyecto de PCB, mientras que el resto de la información se puede guardar en el repositorio externo.

Sincronización con el control de versiones interno mediante la sincronización simple

Si alguna vez has utilizado Altium Designer con un sistema de control de versiones, es posible que te haya llamado la atención una carpeta ".git" oculta entre las carpetas del proyecto. Esta carpeta te indica que Altium Designer tiene un sistema de control de versiones activado para ese proyecto. Tan pronto como esta carpeta .git se reconoce en una carpeta de proyecto, Altium Designer entra en el modo "Sincronización simple" (Simple Sync) y se prepara para sincronizarse de nuevo con Altium 365.

Git de control de versiones en Altium Designer
Esta carpeta te indica que hay un sistema de control de versiones activo para este conjunto de archivos.

Hay algunas opciones para sincronizar el control de versiones localmente:

Crea la carpeta .git localmente utilizando las siguientes entradas de líneas de comandos Git Bash desde la carpeta de tu proyecto:

  • git init
  • git add *.*
  • git remote add [repo_name] [https://repo_address]

Usa TortoiseGit u otra herramienta para crear la carpeta .git local

Usa el comando "Permitir que esté disponible online" en el panel Proyectos

Una vez abierto el proyecto en Altium Designer, la presencia de la carpeta .git activará la función de sincronización simple. A continuación, puedes usar los comandos estándar "Enviar" y "Confirmar" para colocar el proyecto en el control formal de versiones de Altium 365. El uso de herramientas externas de control de versiones permite crear estos repositorios localmente por lotes y sincronizarlos con un espacio de trabajo de Altium 365 cuando sea necesario.

Desactivar el control de versiones externas y la migración

Cuando se abre un proyecto gestionado en Altium Designer, los archivos se extraen del control de versiones interno o externo de la misma forma. Esta es una excelente manera para que las empresas con una gran cantidad de datos en un control de versiones externo puedan garantizar que sus proyectos de Altium se sincronicen con su sistema de control de versiones principal. Sin embargo, si lo que quieres hacer es migrar completamente al sistema de control de versiones de Altium 365, hay algunas formas de hacerlo.

La manera más sencilla de desactivar el control de versiones para un proyecto de PCB es eliminar la carpeta .git de la carpeta del proyecto. Por desgracia, esto elimina todo el historial de revisiones, por lo que no es la forma más pulcra de retirar un proyecto del sistema externo de control de versiones.

Una vez extraído el proyecto del sistema externo, puedes introducirlo inmediatamente en el sistema de control de versiones interno de Altium 365 mediante las opciones enumeradas anteriormente. Probablemente, lo mejor sea utilizar el empaquetador de proyectos (Project Packager):

  1. Extrae el proyecto gestionado existente del control de versiones externo.
  2. Abre el proyecto extraído en Altium Designer.
  3. Utiliza el empaquetador de proyectos (Project packager) incluido en Altium Designer para crear una copia del proyecto.
  4. Sincroniza este nuevo proyecto con el control de versiones interno en Altium 365 utilizando el comando "Permitir que esté disponible en línea" en el panel "Proyectos".

El empaquetador de proyectos (Project Packager) creará una instantánea del proyecto sin el lastre del control de versiones. También eliminará cualquier enlace al proyecto en el caso de que hubiera estado disponible en tu espacio de trabajo con anterioridad.

Git de control de versiones en Altium Designer (Project Packager)
Dos comandos esenciales para eliminar un proyecto del control de versiones externas.

Ahora ya puedes eliminar el proyecto del repositorio antiguo o abandonarlo por completo. También podrías dejar este repositorio para otros usos que puedan ser relevantes para tu proyecto, pero que no impliquen tareas en Altium Designer.

Por último, si te gusta la aventura y quieres que todo esté sincronizado en todos los sistemas de control de versiones, tendrás que crear un script que actúe como espejo. Ari Mahpour tuvo la amabilidad de escribir algunos artículos fantásticos sobre la creación de un flujo de trabajo basado en Git para los usuarios de Altium Designer:

Además, todo lo anterior se ha discutido en términos de Git, pero puedes crear repositorios SVN gestionados con control de versiones. Lee esta guía en la documentación para obtener más información.

Los fabricantes y diseñadores de PCB de hoy en día pueden compartir los datos de los proyectos y colaborar fácilmente utilizando la plataforma Altium 365™. Los equipos de diseño de PCB pueden utilizar las funciones de control de versiones internas para la gestión de datos de diseño, integrándolo todo con las herramientas de diseño de primera clase de Altium Designer®. Altium 365 te permite compartir los datos de tu proyecto con otros diseñadores, fabricantes y clientes en un entorno seguro.

Esto es solo una muestra de todo lo que es posible hacer con Altium Designer en Altium 365. Puedes consultar la página del producto para obtener una descripción más detallada de sus características, así como alguno de los seminarios web a la carta.

Sobre el autor / Sobre la autora

Sobre el autor / Sobre la autora

Zachariah Peterson tiene una amplia experiencia técnica en el mundo académico y la industria. Actualmente brinda servicios de investigación, diseño y marketing a empresas de la industria electrónica. Antes de trabajar en la industria de PCB, enseñó en la Universidad Estatal de Portland y realizó investigaciones sobre la teoría, los materiales y la estabilidad del láser aleatorio. Su experiencia en investigación científica abarca temas de láseres de nanopartículas, dispositivos semiconductores electrónicos y optoelectrónicos, sensores ambientales y estocástica. Su trabajo ha sido publicado en más de una docena de revistas revisadas por pares y actas de congresos, y ha escrito más de 1000 blogs técnicos sobre diseño de PCB para varias empresas. Es miembro de IEEE Photonics Society, IEEE Electronics Packaging Society, American Physical Society y Printed Circuit Engineering Association (PCEA), y anteriormente se desempeñó en el Comité Asesor Técnico de Computación Cuántica de INCITS.

Recursos Relacionados

Documentación técnica relacionada

Volver a la Pàgina de Inicio
Thank you, you are now subscribed to updates.