2

I am under the impression that gitlab both creates a repository similar to github (but private), and also provides a web client interface to the repository.

I am also under the impression that tortoisegit is a Windows based git client.

Am I correct?

If I am using gitlab, do I need tortoisegit?

What is the difference between the gitlab web client and tortoisegit?

user1032531
  • 24,767
  • 68
  • 217
  • 387

1 Answers1

5

TortoiseGit is simply a native GUI git client application. GitLab is a full-brown repository management and development lifecycle framework, which provides some functionality similar to GitHub, such as pull-requests, issue tracking, user authentication, etc. They are two different, indepedent applications used for two different things.

You can use GitLab with any git client, including but not limited to TortoiseGit and the built-in git CLI.

On the other hand, you can use TortoiseGit with any local or remote git repo host, including but not limited to GitLab.

From the Arch Linux Wiki for GitLab:

Gitlab is a free git repository management application based on Ruby on Rails. It is distributed under the MIT License and its source code can be found on Github. It is a very active project with a monthly release cycle and ideal for businesses that want to keep their code private. Consider it as a self hosted Github but open source.

About git clients

By the way, I don't recommend TortoiseGit. I don't recommend git GUIs in general, actually, because I think they abstract away too many details about how git actually works. But if you're going to use a GUI client for git, then I recommend SourceTree instead, because it doesn't abstract away as much details as TortoiseGit does.

TortoiseGit is heavily influenced by TortiseSVN, which is centered around SVN-style workflows, so you aren't really guided into working with git-style workflows with TortoiseGit.

Andreas Violaris
  • 2,465
  • 5
  • 13
  • 26
  • Thanks Cupcake (I feel embarrassed calling you that!) So, GitLab and GitHub are more comparable, and for pulls/pushes/commits (I really don't understand this yet), I should use TortoiseGit (or similar)? – user1032531 Mar 30 '14 at 00:19
  • You need a git client to do operations on a single repository, such as pull, push, commit, etc. Some hosting apps like GitHub provide a web interface for this, which can be okay to use sometimes, but for your normal everyday work, you really want a desktop or command-line client instead, such as TortoiseGit, SourceTree, the CLI, or whatever. –  Mar 30 '14 at 00:23
  • Regarding your comment about git clients... I use NuSphere's PhpED which only supports TortoiseGig, thus my reason to go with it. Unfortunate, I really don't yet know the work flow yet. If you have advice how I would utilize it, I would very much like to hear either on this post or as a private conversation. Thank you!!! – user1032531 Mar 30 '14 at 00:31
  • **[Is this what you're referring to](http://www.nusphere.com/products/index.htm)**? As far as I can tell at a glance, it's just an IDE for PHP, is that correct? You shouldn't ***have to*** use a particular git client with it, and I find it really strange that it would force you to use an external git client instead of integrating with git directly. Are you ***sure*** that you ***have to*** use TortoiseGit with it? –  Mar 30 '14 at 00:40
  • Yes, that is what I am referring to. Yes, it is just an IDE for PHP. PhpED integrated various shell commands with only Tortoise. I don't at the current time know whether I should bother using them, and am trying to understand how my workflow should look like. – user1032531 Mar 30 '14 at 00:49
  • Are the shell commands optional? If they are, then I would suggest that you just use the native git CLI instead, or at least try out SourceTree and see how you like it. –  Mar 30 '14 at 00:51
  • Yes, I think it is optional. I've heard good things about SourceTree, or could of course use the CLI. You answered the direct question, but still trying to better understand how day-to-day life is changed. Do I do my work on my local PC and use CLI or SourceTree to push the data when ready to the repository? – user1032531 Mar 30 '14 at 01:05
  • I don't fully understand what you're trying to do yet, I need more context, please edit your question to add more details. –  Mar 30 '14 at 01:06
  • Thank you for your help. I feel you adequately answered the direct question, however, I would very much appreciate more of your insight. I will post another question, and when I have, comment on this thread in hopes you will respond. Thanks again! – user1032531 Mar 30 '14 at 01:15
  • Please see http://stackoverflow.com/questions/22744726/integrating-git-into-my-workflow for related post. – user1032531 Mar 30 '14 at 13:59