Navigation on the gitlab site is woeful for beginners

I have spent days trying to get to know how to use this. The final straw has been that I have transferred my current project to gitlab, checked it back out, and modified it. Ran my code made a video and uploaded it to the project wiki. Along the way I discover visibility issues (of course) and try to fix them. Then when I go to test, I can’t find the page, and indeed I can’t find my project.

This is what I get going to the project:

Indeed I have created a homepage - twice. Looking at the project activities:

But I can’t see how to get back to my files. What am I missing about this interface? Lots of sites disable the back button, but they then (usually) have a functional breadcrumb trail. Nope. Someone ought to do some shoulder surfing with beginners to figure out where we have issues. In the mean time, does anyone have any guidance of where my files have got to?

Thanks,
p

Hey there,

Could you maybe provide more info on how did you create your project?

Hi Paula,
thanks for showing an interest and hope I can help make gitLab better. I believe I followed one of the official tutorials to start with. I cannot tell you what I did without going back to the “clicks” as - and indeed this is the problem - I am very much a beginner and don’t know what things are called or how they work. I was starting with a project on the local disc that I wanted to upload. In the end I created the project and then added files one at a time - I am sure there is an easier way. Note this use-case does not appear to be documented and, I would have thought, is quite a common one for beginners.

Having got my project on (I think) I then tried adding a readme with a video of the device. That didn’t work (and I don’t think is meant to) but I could apparently put the video on a wiki, so pressed the button. That worked (if I recall) but was not visible. I then adjusted visibility (you will know how I did that) but happened to make the “repository hidden” as well as the website? Going to the home page, I couldn’t see either, and it asks if I want to make a first website. This, I guess, is the bug that can be fixed: as the administrator I should always be able to see where all my stuff is, even if I can’t get to it. Although it should then be obvious why I can’t get to it…

Note the tutorial on adding a wiki assumes I already know all about the CI/CD process, am familiar with Docker (nope) Ruby (nope) and am willing to install Jekll. I also need to know what an “artifact” is in this context. And that is just step 1. All I wanted was a readme. It turns out my videos on youtube are available and so I am currently planning to link to those, hopefully with stills on the readme.

I am recommending “shoulder surfing” a beginner and writing the tutorial after seeing what it is he or she expects and understands. What you’ll find is that we love the “undo” button and use it to explore what is in front of us. I expect every beginner makes several projects and deletes a few along the way. Hiding the delete is sort of sensible for people who are accident prone but the “do you really really want to do this” check is enough and hiding it just makes it hard to experiment.

But most of all, it would be great to know where I was in relation to my stuff. I can’t find the video I put up and I would like to remove it. The breadcrumbs ticker usually does this and works well if we’re navigating a hierarchy. Finally, us beginners to not need an add telling us to use CI/CD on every page (almost) I know advertising sites do this with the content covering about a 1/4 of the realestate, but gitLab users are trying to do things with your stuff already and the realestate is valuable… right now I have two “reply” buttons and they do different things(!)

Hey there,

Okay, I’ll start literally from “scratch” because I’m not entirely sure what your use case is, neither your knowledge - so I apologize in advance if I say something wrong.

GitLab is primarily a tool for software development - it covers many different aspects of software lifecycle such as:

  • Planning (through Issues / Tasks / Epics / labels etc)
  • Coding & development with version control (by serving a central bare git repository - the heart of every project)
  • CI/CD pipeline for automation of tasks such as build, package, test, deploy, etc

From the context of your message, I see you’re working with some videos, perhaps building a website (?). I will tell you right away - GitLab is normally not the best option to store anything else apart from text files. Its main purpose is to provide version control over changes in text files (all code is just plain text :slight_smile: ).

So, if your plan is to store your website code and automatically deploy it to a production web server - you are in the right place. If your plan is to upload bunch of binary files (images, videos) - you’d better consider proper cloud service.

So, the next question would be - what’s your use case? What are you trying to achieve with your project?

Yep. I have most of that. Over the years I have built several robots, nearly all using java and raspberry pis. My revision control has been to copy the code onto removable media and label it. I used to have a website where I’d put things but thought I’d move with the times and use a GitHub equivalent. My plan is to put my code on gitlab and make it public; for robots, a video of it in action is quite useful. I would plan to use ci/cd in the future but step 1 is to get used to using git. Step 2 is to publicise it.

Sounds good.

Well, good news - there are plenty of YoutTube tutorials for all the topics :smiley:

I’d recommend you maybe to start with git tutorial - because, essentially, every project in GitLab is actually a git repository (plus some fancy additional features around it). Unfortunately, I don’t have any to recommend, but I’d say just go there and find something that you can understand. It could be you’ll need to go over it a few times until it really “clicks”, but don’t worry - we all struggled with git in the beginning :smiley:

As an intro - git is just a version control system. Every change you made (in 1 file or more) you can commit (instead of save) with a short message and in that way you can easily track your changes through the history, easily revert, etc.

About GitLab - there are a few ways how to begin a new project, I’ll write you my favorite.
Basically, after you login, you should have a screen like this:

Or maybe it’s a bit different if you have 0 projects, I’m not sure.
You’ll for sure find somewhere a New Project button. Then select Create Blank Project -

On the next screen you will give it a name and add maybe some description. I like to check this box - this will initialize (git init) a git repository for you and generate you a quick start guide.

Then you click Create Project and that should be it. You will have an empty git repository, just with a “Readme.md” file. To have it locally on your PC, you need to clone it… this is now already part of the git stuff :smiley:

In order to communicate from your computer to GitLab (push ~ upload or pull ~ download) - you will have to authorize (if your project is private). There are two main ways to authorize with git

  • https - via username and password (basically your username and password to login to GitLab)
  • ssh - via SSH key pairs - preferred way, more secure.

Which way you will use depends on which clone URL you use when doing it, e.g.
image

I hope this clarifies a bit.

Kind regards,
Paula

Okay, thanks Paula,
watching videos is the new way to learn stuff and I will give it a go.

A note. You have basically said RTFM - not your fault but I just thought I should point that out. I was, in fact, trying to help by saying where I have trouble when I read (vs watch) the manual in order to help someone improve the manual. In that spirit, I’d also like to point out that it is not clear (I will figure it out, but it is not clear) how “git commit” is used. Somewhere it needs saying that I have two roles: a project administrator, who sets up a project and uses your web site to coordinate development etc, and as a contributor who uses the git command to make contributions to the project. The interaction between these two roles is as follows:

Sure, you can also read, it’s no problem.

GitLab Docs is huge, and as you didn’t link which exactly tutorial you followed, I could not help you clarify the misunderstandings.

Again, git and GitLab are two different things:

  • GitLab is a platform that serves git repositories plus many other things
  • git is a version control system (command line tool installed on your computer) - https://git-scm.com/

git commit is part of git, not GitLab. Git works the same in GitLab, GitHub, BitBucket, etc…

It’s kind of obvious GitLab docs is not going to teach you git concepts, even though they have also covered that in some way: Learn GitLab with tutorials | GitLab

GitLab roles at this point do not really matter, especially if you’re using gitlab.com (SaaS). You will be your own project Owner / Maintainer / Developer. You can send me a link where did you find this as well.

Kind regards!

1 Like