My main complaint about it is that I cannot type the URL/ address of the repository, like I can do in TortoiseSVN...
Well git works fundamentally different than svn. That reflects in the frontends.
git needs to do a clone. Otherwise it wont have the info to show the log.
(git refers to what the tool git does // Websites like gitlab/github are not git, they are based on git, offering an infrastructure build on git with lots of other stuff)
In theory (and I don't know / but also don't expect) someone could write a GUI that
- has a "url" field in the log
- automatically clones any git that you haven't gotten yet
- maybe also automatically "remote updates" (though that may not be what many git users expect)
- then shows that log.
And yes, you can clone 2 or more different remotes into one local folder. That works.
As I said, I don't expect such a gui to exist. Simply because if it did, it would not be a "frontend to git", but a "new tool using git internally" (and do something different).
But it occurs that I can edit the GitLab repository from the web interface, so maybe I should file a feature request.
For what and to whom?
GitLab is not git. Of course they could do stuff in there own clients (whatever they have...). If they feel its useful.
@Martin_fr and @JuhaManninen talk about features that I might never use, all I need is to commit, restore a previous version, if I have damaged something in a later release and create pull requests. Pull requests are for a person who does not know how to apply patches, but knows how to apply pull requests. I do not need branches, etc.
Actually, a pull request is a branch. Always.
It may just have the same name. And be the only one you use.
You need to make a fork. By that you get all the existing branches, including the "main" branch. Your main branch is then an independent branch (independent of the original main branch).
And git will tell you, because it will always have "main" (your local branch) "remotes/origin/main" the one that you forked, and (if you update the fork) containing the new commits of the original project.
If you plan to do more than one pull request (over time), then I do recommend to create a branch of your own for that (a branch other than main).
Otherwise, your main branch has the unmerged changes, until they get merged. And that blocks you from using it for making a second pull request.
And even if they are merged, the will (in some case) cause a diversion between your main and the original main. And then you have to reset, to get on track again.
Also, if it takes you some time to do your pull request, you may want (or need) to update from the original git (and "rebase" your work on that), so your changes are against the latest commit.
You can do that using main. But during that process you have 2 branches with differences: main (aka heads/main) and remotes/origin/main. So why not make that clear from the beginning, and call your work branch different?
Though yes, you don't have to. It (update/rebase) works with main vs remote/main too.
For all else that I wrote about my workflow: I was guessing you might not (plan to) use all that. I was simply illustrating that the diffs between git and svn can be used as advantages. And yes, I am aware that goes both ways. Depending on needs, svn can be the more advantageous choice for someone.
Of course, if you contribute to some existing project, you are forced to follow their choice of git/svn/other.
Well either follow, or download otherwise and do patches. But if you don't want to do patches...
As for download by other means, afaik GitHub offers (or did offer?) an svn interface to the git repos hosted on them. (Gitlab afaik does not). I haven't used that, so I can't comment on how far that would get you (e.g. if you would be able to: fork, svn update/commit, and then online create a merge request...)