From f3f4370ff8f7ca04518804f24f198d792c834527 Mon Sep 17 00:00:00 2001 From: Neal Magee Date: Wed, 7 Aug 2024 11:06:52 -0400 Subject: [PATCH] GUI vs. CLI --- docs/setup.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/docs/setup.md b/docs/setup.md index 811edc2..e76a7e5 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -17,7 +17,33 @@ nav_order: 2 Setting up git and authenticating yourself to GitHub is an important first step in managing and tracking your code and various projects. Follow the steps for your platform below -## Command-Line Git +## GUI or Command-Line? + +Developers should always feel empowered to select and use the tools they feel most comfortable with. There is no superiority or shame in selecting a GUI over the command-line `git` tool. Generally, most every feature is available in either. + +While most data scientists tend to use `git` from the command-line, many use a GUI every day. + +Advantanges of using a GUI for `git`: + +- Simple to use. +- Handles dragging and dropping of files. +- Visually displays changes, errors, and status. +- Makes resolving merge conflicts much simpler. +- [**GitHub Desktop**](https://github.com/apps/desktop) is an excellent, free choice. There are many other free and paid `git` clients available. + +Here is what **GitHub Desktop** looks like: + +![GitHub Desktop](https://images.ctfassets.net/8aevphvgewt8/5fErhOtgvjrf97d7wOoARB/b262e06c615977f33046c468147aa114/screenshot-windows-dark.png) + +Advantages of using the CLI version of `git`: + +- Fastest way to access all commands. +- Displays only what the developer wants to see, allowing for focus. +- Might be the only way to use `git` in a remote system (HPC cluster, cloud instances, etc.) + +In order to focus on specific operations and workflow steps using `git` this documentation references CLI commands only. We recommend learning those commands to get the concepts, and then learn how they are done in a GUI. + +## Command-Line `git` Data scientists and software developers who write code regularly *greatly* tend to use the terminal/command-line to interact with `git`. This primer assumes this and does not address various GUI tools for working with `git` and GitHub.