Ways To Interact With Git And Why Choose One Over The Other
This post is a basic introduction and summary in to ways to interact with Git. I will talk about some advantages and disadvantages of each option and why you would choose one over the other.
Command Line Interface
As you may already know, Git was initially created to be accessed by the use of Command Prompt or the Terminal. Because of this, most of the people that use Git started out using the Command Line Interface. This means that when researching, learning, and troubleshooting with Git, there will be more available resources to help you online.
Most IDEs or at least the most popular IDEs such as Eclipse, IntelliJ, and NetBeans have plug-ins that can be installed to ease the use of Git. So far I have only been able to play around with the NetBeans plug-in on Git so that is what I am going to talk about and use as example. My Capstone Project Group and I initially used the NetBeans IDE plug-in to interact with our Git remote repository that is online (Github). In my opinion, the NetBeans IDE works very well and performs every basic functionality that we need fairly efficiently which is why we continue to use it.
Graphical User Interface(GUI)
GUI/Third party tools for Git are a fairly new concept that were implemented recently by software developers to ease their access to their Git repositories. I will throw in a link for Git GUIs at the end of this post so you can check them out yourself. There are free ones that accomplish everything that has everything you might need for Git but there are also paid ones that may have more functionality and better performance.
Why Choose One Over The Other
- CLI — Since Git was primarily made through the use of Terminal, the newest features of Git are implemented on there first. Furthermore, understanding how the command line syntax works enhances your comprehension of how Git performs actions step by step unlike the GUI and IDE which groups up 2 or more actions in to a press of a button. However, learning the syntax might be confusing and a lot of trial and error for beginners.
- IDE Plugin — For capstone, my group and I decided to choose the NetBeans plug-in because it is easy to use and learn. It also has a fairly straightforward interface which helps filter out unnecessary functionalities. A disadvantage for the IDE plug-in is lack of functionality and less control over specific actions.
- GUI — I have not used much of the GUI for Git but im assuming it would be similar to how the IDE plug-ins work. For some people, a picture/visualization of how things may look would be better which is why this alternative might be preferred over the other two. Hopefully for my next presentation I will know enough about Github’s GUI to be able to explain each functionality you can do so I can showcase and hopefully encourage my class to use it for their future projects.
To wrap it all up, I have talked about 3 most common ways of interacting with Git and a brief summary of their advantages and disadvantages. As of now, I would continue to use the NetBeans IDE plug-in to keep consistency with my group; however, I will learn the command line syntax in the future to better understand Git at a lower level. In my next presentation I will demo some Git commands and GUI examples to the class to show how Git could be a good asset to future project.
https://git-scm.com/downloads/guis (Link to GUI examples)
https://git-scm.com/book/en/v2/ (used this book to learn basic commands for Git, I highly recommend it for people that are tryiing to learn)
https://git-scm.com/downloads/guis (links to GUIs)