A
A
Alexander2019-09-10 02:30:54
git
Alexander, 2019-09-10 02:30:54

How to use git for electronics development?

I once tried git while working on one program, I liked it. Now I want to implement it in my general mess of projects. And there is software and hardware and firmware, in general, a complete zoo. How to put things in order and organize all this? Historically, each project is in a folder in the form of three (or more) subfolders - hardware, firmware and software. Drive all this into one repository or do three different ones? How to maintain versions correctly when there are several firmware versions for one version of the board, and one software can work with different boards? But there are still libraries of components that generally live separately from projects.
If someone has already established a similar process - share your experience.
Ideally, I want to automate everything, so that the software for a specific hardware is assembled by itself and all sorts of features from one version are easily transferred to others.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
R
Radjah, 2019-09-10
@Radjah

> hardware, firmware and software
You can make a turnip with modules, for example.
https://git-scm.com/book/ru/v1/%D0%98%D0%BD%D1%81%...
> when there are several branch firmwares for one version of the board
aka
https://git- scm.com/book/ru/v1/%D0%92%D0%B5%D1%82%...
> But there are also component libraries that generally live separately from projects.
See item 1
> Ideally, I want to automate everything, so that the software for specific hardware is assembled by itself and all sorts of features from one version are easily transferred to others.
https://git-scm.com/doc
I also use this to do everything with the mouse.
https://www.syntevo.com/smartgit/

O
OnYourLips, 2019-09-10
@OnYourLips

Historically, each project is in a folder in the form of three (or more) subfolders - hardware, firmware and software. Drive all this into one repository or do three different ones?
Just different. No need to make one dump repository.
On the web, similarly, backend, frontend and mobile applications have long been separated. And this is in the case of a monolith without dependencies, with them the separation is much stronger.
How to maintain versions correctly when there are several firmware versions for one version of the board, and one software can work with different boards?
CI with multidimensional matrix. Test to immediately everywhere and build for everything.
But there are still libraries of components that generally live separately from projects.
CI solves this problem - describe the build steps.
CI is now a mandatory addition to git.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question