

You have to wonder, though: why exactly is proficiency in command-line interfaces a skill that many beginning developers are advised to obtain? The Power to Automate and Customize This (somewhat humorous) sentiment was perfectly portrayed in numerous Hollywood blockbusters from the ‘90s: a young hacker teams up with a Schwarzenegger-esque protagonist, tries to infiltrate the bad guys’ network/system, which finally culminates in the following phrase: When you ask developers about the benefits that command-line interfaces can offer, they often tell you - reflexively - that it makes the user “feel like a hacker/wizard”. This debate reaches beyond personal preferences and creates an image of “proficiency in CLIs as a superpower”. Although we’re making this recommendation jokingly, there is some truth to that: for some reason, we often put great importance into how we interact with our devices. graphical interfaces” is a great conversation starter when you’re approaching a new group of developers - just mention that you prefer one over the other and people will tell you, in great detail, why you’re wrong.

The timeless debate of “command-line interfaces vs. GUIs” debate click here to jump straight to the section about GitHub Desktop itself) The Cases For/Against Command-Line Interfaces (Disclaimer: We first delve into the “CLIs vs. GitHub, the world’s largest software development platform, just so happens to be offering a desktop app called GitHub Desktop - and in this article, we’ll explore the ins and outs of this program, highlighting its advantages and discussing the potential problems and caveats you need to know about. However, how to use it (and, by extension, services like GitHub, GitLab, and BitBucket) comes down to the developers’ preferences: Naturally, git as a technology sparked even more collaboration between the developers from all around the world - a glance at GitHub’s home page stands as a testament to that. All of a sudden, developers were granted the ability to create alternate timelines ( git branch), visualize their great deeds ( git log and gitk) ground their magic in reality ( git commit and git push), and more. Nowadays, the development process evolved into a more balanced, full-featured, and enjoyable workflow thanks to version control software.

If you want to learn git, then use git directly as much as possible and find resources dedicated to understanding and learning git, as its the best tool because really its the only tool underpinning all of these technologies.Git holds a special place in the development world - in the dark times before git, the typical project structure would look like this: If you just want to get going and focus more on code, while still using Github to show off/back-up your code, then yes use Github Desktop, it will get you going faster. Github Desktop can help leverage both of those technologies, but will also keep you from learning and fully* understanding how git by itself works. Github by extension takes knowing git and adds in the wrinkle that you now are using git with an external remote (Github) and github’s own services that are unrelated to git (issues/projects/pull-requests/etc). However the underlying tool is always git, which is why it is recommended to learn that tool, rather than an abstraction like Github Desktop.Īs git by itself can get confusing and takes some time to understand the core basics. There are other tools you can use instead of directly using git, Github Desktop, is just one option that is dedicated to interacting with Github. Its overall goal is primarily to handle core use-cases when using git and Github, It also integrates with Github’s services, such as pull requests. Github Desktop is a tool created by Github to help work with git on your system. Github is the company that provides services that integrate with git, allowing you to host repisotiries, manage your projects via issues, and do other things directly or indirectly related to git. You can use it by itself without using github, nor is it directly related to github. Git is the version control software used to keep track of changes within a codebase. One of the easiest mistakes to make when starting out is to get confused between what is git and what is github.
