Bare minimum to making a package which can be updated automatically?

Hey guys, I finally managed to a package in Julia (https://github.com/AhmedSalih3d/PostSPH.jl) manually, by uploading the files directly to Github as best as I understood to.

My question are;

  1. Does anyone have a bare minimum template, so I can see what at the minimum should be included?
  2. Could anyone show me a useful guide to understand how to upload to Github through my laptop ie. not having to update repository manually, when I make changes to the package? I have heard about Gitlab, is that what I should use?

Thanks for your time, even if the questions are a bit too basic.

Kind regards

  1. https://github.com/tpapp/skeleton.jl/tree/master/template

  2. GitHub Documentation or any of the git guides online.

Regarding Gitlab: it is an alternative to Github, but if you are just learning the workflow perhaps go with Github.

1 Like

To help you out with some stuff I think it sounds like is confusing
you from your post, here’s some general basic definitions and explanation.

“Git” is a piece of software and a protocol. It’s the most common
modern-day “version control system”, meaning that it’s used to track
change to a set of files in such a way that you can rollback (or roll
forward) to other points in time easily. This set of files is called a
“repo”. In git, a repo is distributed; there can be many copies of the
repo and none of them is strictly speaking canonical.

Both Github and Gitlab are nothing more than services for hosting
copies of your git repos. You generally upload to them by "push"ing to
them with your local git client from a local repo. So the best
way to upload to Github from your laptop is going to be using either
the git commandline program or one of the graphical frontends to git.

For a person not used to the command line, a graphical frontend may be
easier to learn with. Unfortunately, I am not familiar enough with the
graphical options in this space to recommend a good option.

3 Likes

One of my coauthors found GitKraken nice.

GitKraken is a great UI for intermediate to power Git users, but Git newbies should strongly consider sticking to Github Desktop. It only supports the bare minimum of interacting with your local git repo and syncing with Github, but that’s a good thing for beginners. And like GitKraken it also has a great undo function for minor mistakes.

5 Likes

Thansk for the template @Tamas_Papp. Just to understand correctly, their is no tool to auto generate all of this or do I have to fill in manually?

@non-Jedi thanks for the basic explanation! I think I will go for the graphical interface, maybe Githubs own, " Github Desktop", else I will take a look into GitKraken.

Thanks for your time. Still open for suggestions

The official git site lists a number of GUIs here. I use GitAhead, but GitKraken is also very nice. Ultimately though, the command line is what you send up using most often.

You misunderstand, skeleton.jl is a tool to generate package skeletons. Please see its README.

I have some trouble, when I open the readme I only see this:

But maybe I am looking the wrong place?

Kind regards

https://github.com/tpapp/skeleton.jl

1 Like

This seems pretty good too, more like the old PkgDev:

3 Likes

Thanks for the templates, especially the interactive one is exciting! Eases the process a lot, showing what is required.

I chose to go with Github Desktop and it is so user friendly for a newbie, will recommend to anyone just starting out!

Don’t know who to give solution, since it is a very broad question, but thank you all.

Kind regards