VERY strange Github behavior - A bug report and a few questions

Apologies for going on. I’m an edu-based hobbyist (probably your main market?) and most of what I’m having problems with are down to lack of technical knowledge.

My git workflow wants to be…

Develop locally --> commit to git --> From glitch pull all changes.
… and occasionally …
Edit on glitch(to get working) --> delete that file --> Make same changes locally --> commit to git --> Re pull.

But If I ever do the latter, the git import fails … probably because there is now a file there that is newer than the repo. BUT sometimes, the editor doesn’t have all the files, but when I look with the Terminal they ARE actually there…

Sometimes a refresh helps, others not. At times I have had to delete my glitch project and begin again.

AND sometimes, they aren’t there but I can get myself out of this hole by…
> git fetch --all
> git reset --hard origin/master
…and it seems to stomp all the glitch files that are newer… and the git import works.

It might be nice if the errors were more verbose… or if buttons to just “Update from Git” or “Force update from Git” were in the interface?

SO… THAT IS THE BUG REPORT HERE ARE THE QUESTIONS

a. Is this a reasonable way of working? Should I be learning another way entirely?
b. Is SQLite a perfectly respectable database for small projects? What are the limitations/gotchas?
c. How might I maybe push from glitch into github… I don’t know how I would do that?
d. I notice each glitch project IS a git repos, how might I maybe take github out of the equation and maybe just push straight into it from my local computer? --> Make changes on glitch --> pull down to my local computer --> make changes and push back?

Thanks

Tom

p.s I love Glitch, having just tried Google App Engine, Heroku, Amazon AWS (and Webfaction) I have found all of them a bit of a pain. Google, ran up a huge bill on a database I wasn’t even using. Heroku HAVE to use Postgres and ran over 10,rows , Webfaction, impossible to configure reliably, Amazon (love Cloud9 but it’s not free).

Lots of my problems stem from wanting to make simple prototypes, to be able use it with staff and students, but also want to be able to get close to “real” service at times, which runs right from student project to professional web service… I want the moon on a stick.

My main aims are to:

  • Be able to make prototypes, with Django and Sqlite or better.
  • Be able to transition to MySQL if need be…, and if that site was popular, to then go paid. I see this feature is on its way.
  • Have a very simple workflow with regards to git. I don’t want to do tech stuff regarding hosting, I just want to design small apps, if possible.

Hi @everythingability, thanks for the kind words about Glitch!

There are a few parts to your post here that I’ll address separately.

a. Is this a reasonable way of working? Should I be learning another way entirely?

Could you clarify what you mean by “commit to git”? Are you typically pushing your from your local machine to GitHub, and then in Glitch pulling in those changes? If so, are you using the “Import from GitHub” feature, or going into the Glitch project’s terminal and running git pull origin/master there?

b. Is SQLite a perfectly respectable database for small projects? What are the limitations/gotchas?

SQLite works extremely well for small projects, but it certainly does have its limitations and gotchas. Have a look at this Digital Ocean article comparing SQLite, MySQL, and Postgres for a good breakdown of when you should or shouldn’t use SQLite.

c. How might I maybe push from glitch into github… I don’t know how I would do that?

Glitch projects are backed by a git repository, so in the same way that you set up your local machine to push/pull to a remote repository like GitHub, you could do the same in your Glitch project.

d. I notice each glitch project IS a git repos, how might I maybe take github out of the equation and maybe just push straight into it from my local computer?

Yup, you could skip GitHub entirely and push/pull between your local machine and Glitch instead. We currently prevent pushing to the master branch, so you’d probably want to push to a glitch branch instead and then merge that into master.

Hope this helps!

For d I want to add on.

You can push to the master branch, but you would have to do it from the Glitch project terminal