GitHub and Arduino

I’ve been thinking for a while about moving over to using GitHub , really for better version control. I don’t know much about it , I’ve downloaded the desktop version ( did try before with command line but it was too hard to use) but does it mesh well with the Arduino IDE , what do you users out there think ?
Should I give it a go ?
Any other advice?

Linus Torvalds' "other invention", with a steep learning curve, even if you are very familiar with computing in general.

A lot of common actions are not intuitive, and after using it for a couple of years, I have not even tried to understand version control. I gave up on trying to use the desktop interface, and just use the web interface.

But it is a great place to archive stuff, and not have to worry about backups.

AFAIK, github has no interface to the standard Arduino IDE. PlatformIO has a nice integration with it.

You can still use Github and the IDE, but you'll have to use the desktop interface. It's fine; no problem doing that but having it integrated with the tool makes your work a bit easier.

The desktop interface is much easier than command line. Only time I have used the command line is on an XP computer after the desktop version dropped XP support.

Unless there is a burning desire to do this, suggest you keep things local.

Was going to to this myself but concluded time was better spent on other ventures.


BTW, on a different topic, if you aren’t using notePad++ as an IDE editor, you will surely have more fun with learning this instead.

+1 for Notepad++!

I'm a big believer in making my life as easy as possible. That means using the best tools I can get for the job. Preferences rule, but I'd choose PlatformIO over Notepad++ for programming any day and I think that version control should be one of the basic things that every programmer knows.

But, YMMV and as long as you enjoy what you're doing, it's all good in the end.

1 Like

Unless there is a burning desire to do this, suggest you keep things local.

I would strongly suggest the opposite - having code stored and versioned in GitHub makes working on projects much easier in the long run and serves as a historical backup. Such a backup is particularly useful if you happen to accidentally delete or somehow "lose" your local files.

1 Like

2 months ago I was on the same situation.
Did some research and came across the
Hackable IDE Atom.
This was developed by github and has integrated push/pull for github.
Have also heard you can download a tool for it to upload arduino code straight to
your arduino from atom.
I am never going back to arduino ide for editing.
With the auto finish and code minimization i can code quicker and mininmize huge sections of code when im not concerned with it.
Also its nice to have several tabs open and lots of cool themes.
I highly recommend.
However if you are using ubuntu 18.04 lts i dont think you can push or pull to github. atleast i cant. but at work its all windows.
heres the link
ATOM IDE

Atom looks interesting.


notePad++ has editable suggestions, user defined highlighting, macros, split screen including duplicate view of the same file, project file editing tabs, book marking, plug-in for HTML view of a web page , and many extras too many to mention, I digress.

Thx everyone a few things to research there - never heard of notebook ++

What are you moving over from?

Perfectly. I use Git and GitHub for all my Arduino projects (really all my projects of any type).

Yes!

I don't recommend it to beginners who are already overwhelmed by learning the fundamentals of programming and electronics, but for the more advanced users definitely.

If you jump right in to the command line interface and trying to understand all the capabilities and underlying infrastructure of Git, then yes it is a very steep learning curve.

But you don't need all of that to reap huge benefits from Git. The most important thing is to learn how to make commits. That is quite easy if you use a Git client such as GitHub desktop.

Once you get started with it, you will naturally learn to use other capabilities of Git as you find the need for them. And there will most likely be capabilities you never find the need for and so can blissfully ignore.

Please be careful to not get confused between Git and GitHub. These are two different, though interrelated things.

Git is a version control system.

GitHub is a website that provides hosting of Git repositories and services to facilitate collaboration on those projects. Linus Torvalds had no involvement in the creation of GitHub.

You can use one without ever using the other.

I have the opposite opinion. Most people are going to use Git and GitHub with multiple types of projects. Using the integrated Git or GitHub capabilities of your tools means you must learn to use those integrations once for every tool.

Far more effective is to use dedicated Git or GitHub tools which apply to any project type. You are probably going to end up having some type of project which doesn't have integration in your chosen tool anyway so you will end up doing that anyway.

For me, Git/GitHub integration in a tool is only bloat and I immediately disable it.

I started with GitHub Desktop. At that time (2014), I found the GitHub Desktop client to be a very gentle introduction to Git. I eventually ran into the limitations and switched to a more advanced client:

(unfortunately current versions are only for Windows)

I use that primarily, supplemented with Git command line for automated application or things that just are more efficient to do using Git directly.

Note that my experience with GitHub Desktop ended years ago, so I have no idea what it has evolved into since that time.

There is another factor which may or may not be very important depending on your goals: GitHub is currently (and is likely to continue to be for the foreseeable future) the best way to share your projects and to collaborate with others on projects.

Note that it is "Notepad++", not "notebook ++":

https://notepad-plus-plus.org/

This is a very nice text editor. I really like the clean design of its interface.

I used it as my primary general purpose text editor for many years. Recently I am using a variety of operating systems and Notepad++ is essentially only for Windows. There is a clone for Linux, but the differences are so significant that I found it difficult to switch back and forth. So I would only recommend it to those who are using and will continue to use Windows exclusively.

So I transitioned to using the cross-platform VS Code and have been quite satisfied with that in the end.

Hi,
I use Notepad++ to "wash" any code that has been posted on the forum without code tags before transferring to IDE.

Tom.... :smiley: :+1: :coffee: :australia:

See Riva’s first post on notePad++ for adding Arduino/ sketch highlighting and IntelliSense.

Gee, and all this time I've been using EDLIN and VI ...

Windows or Linux?

I’m windoz

This has served me well.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.