Difference between Git GUI, Git Bash, Git CMD

What is difference between GIT GUI, GIT BASH and GIT CMD?

Someone has asked it before in Quora.

Git Bash:

Bash is a Unix shell and command language, and is the default shell on Linux (Ubuntu etc.) and OS X. In laymen terms, the git which runs on the terminal of any Linux device is known as git bash.

Git CMD:

(Command Line prompt) is the command-line interpreter on Windows operating systems. Sort of an equivalent to the bad-ass terminal in Linux, when you install git on windows and you are used to using command line, one uses cmd to run git commands.

There is not at all any difference when it comes to git commands when you use either of the above. I would prefer the terminal over cmd any day, but if you like Windows for conventional reasons, I have used Cygwin to give me the terminal like feeling on Windows.

Git GUI:

Essentially aimed at people who don't like the coding on black screens a.k.a the command line. It provides a Graphical user interface to run the git commands you like for eg. if you are commiting some changes from your local repository to the staging queue, you would just have to click a button to commit the changes whereas the git command is 'git commit -m ""

I think it is clear enough for your question.


Git CMD is just like regular Windows command prompt with the git command. It lets you use all of Git features through command line. Useful if you are already familiar with Windows cmd and you only work on Windows.

Git Bash emulates a bash environment on windows. It lets you use all git features in command line plus most of standard unix commands. Useful if you are used to Linux and want to keep the same habits.

Git GUI is a Graphical User Interface letting you use Git without touching command line. It is an alternative among other Git clients. Since Git GUI is very minimal, you could also look at other alternatives if GUIs interest you.

It is up to you to decide which you want to use. As many others, I recommend you to learn Git with command line before switching to a graphical interface. If you don't know which to choose between Git Bash and Git CMD, I'd go for Git Bash since bash is a really useful tool to learn.

Tags:

Git

Bash

Cmd