Pushing & branching: git for hardware
Because hardware development differs so much from software development, we recommend a branching strategy specifically designed for working with ECAD files. It’s not only simpler, but it will also often be more productive than the traditional software approach.
Each repo contains two branches, one main and one development (dev) branch. The main branch is the default branch and contains all the “correct files,” and the development branch includes the work-in-progress changes. When the engineers are ready for their work to be released, you create a pull request or design review from the dev branch to the main branch. When everyone is finished reviewing the design review, one of the users merges the collection of commits and makes copies of them on the main branch. The source files are effectively “released” once they are in main.