Do I really need Git on my PC if I just want latest ST GitHub apps up to date in my ST cloud API account?

Hi everyone, I have been using SmartThings (ST) many months. Up until this time, as I got familiar with it, I copied and pasted device handler and, e.g., Google Logger code directly out of GitHub into my ST API. It is the first time I have really worked with GitHub to any degree, so I didn’t even make an account. Or install Git, of course.

I finally feel ready for the next step of GitHub integration, so I made a GitHub account and linked it to my ST account.

Step 4 of the ST GitHub Integration write-up says:

Follow these steps to clone your forked repository to your local machine (it is assumed that you have installed and configured Git on your local machine)

and

While not required to for submitting changes, this is useful so that you have a local copy of the source code (useful for grepping the source locally, using your favorite editor, etc.), and is required to update your fork from the main SmartThingsPublic repository.

.
They’re talking about installing software on my PC, right? (Git)

I am loathe to install stuff on my PC unless I really need it. All I want to do at this point is have the ST apps I see in the API for my hub, be synced with the public ST GitHub master for it.

Since this is all done in the cloud and has not needed anything on my PC even when I was making my own copies of the GitHub code (pasted into ST API),

Why would I need to install software on my PC now? (Windows 7 FWIW)

.
Am I missing anything here?

It is conceivable I might eventually want to share changes I made to “my” copy of some code, back to the hub. But it would still just be the code installed in my ST API (in the cloud), and not my PC. Right?

If I don’t need Step 4, do I need Step 5, Configure Git to sync fork with SmartThings?

Thanks if you can help!

I believe that’s only if you’re publishing code.

I could be wrong, but I think all you have to do is go to github.com and create an account.

Then go into the My SmartApps section of the IDE and click the Settings button. If you don’t see a settings button, there may be something that says “enable github integration”?

I think there’s some type of authorize step you have to go through the first time to grant SmartThings access to your repository, but I might be wrong.

Assuming you can get to that “settings” button I mentioned, you should be able to type in the repository settings of the smart app you’re trying to integrate.

For example, to add my github repository you would enter:

Owner: krlaframboise
Name: SmartThings
Branch: master

I believe those fields are case sensitive

2 Likes

The answer is NOyou absolutely do not need Git on your PC (or on a Linux server, or anywhere) to use GitHub based SmartThings code.

I wish someone would publish a better explanation than this and simpler instructions.

Here’s a quick stab:

  • For “read-only”, you just need to add each of the GitHub repository paths to your SmartThings IDE page. Unfortunately, many have the exact same name, so they may be difficult to manage. Try not to attach to more than you need.

  • For “read-only”, you do not need to make a personal “fork, copy, or clone of the repo”

  • If you wish to submit updates to anyone’s repo, then, indeed, you need to first make a “fork” of it. I think you may be able to submit updates to this fork hosted only on GitHub (i.e., you still might not need to install Git … but I’m not 100% sure).

  • To submit updates to the original author, the detailed procedure for forking the Repo, cloning it to local git, syncing upstream, submitting pull requests, etc., is pretty what the official documentation describes. It isn’t rocket-science … but it much more complicated than necessary for 90% of users who just want to pull-down the latest code.

2 Likes

Thanks very much, TG and Kevin! That’s good to know. I will leave some feedback asking ST to consider rewriting it, and point to what was said here.

I wouldn’t be surprised if it was originally written in the “early days” of the development community by hardcore devs. But now that there are lots of apps and lots of users (thanks in no small part to you two), perhaps there are a lot more followers than leaders, and they just want the code.

Seems to me you’d have to be pretty hardcore to want Git on a Windows PC, if you’re just tweaking ST stuff for the cloud. :fearful: