sr320 / course-fish546-2021

1 stars 1 forks source link

Git for Scientist #27

Closed sr320 closed 3 years ago

sr320 commented 3 years ago

This week's reading is on Git. Specifically the reading discusses using Git from the command-line. What is different in using Git from the command-line (or something you are not experiencing) in comparison with GitHub Desktop? What are some advantages to using Git at the command-line?

aspencoyle commented 3 years ago

Personally, the biggest difference I've found with Git (I'd previously used GitHub Desktop) is that you really need to know exactly what Git is doing. GitHub Desktop is much more intuitive, which has upsides (a lot easier to pick up), but also downsides (I wasn't forced to learn how Git handles files). As a result, now that I'm using Git, I'm spending a lot more time staging and committing - things that I barely thought about before.

In terms of advantages to command-line Git, there are a few. First, it's universal - if you learn command-line Git, you can use Git on any machine, whereas apps may have different interfaces or be unable to run altogether. Second, it's (more) static. GUIs change relatively quickly, whereas using text-based Git means that your actions (if you document them) will be comprehensible for much longer. And finally, if something goes wrong, it's easier to ask for help. The text-based nature of the command line forces you to learn the terminology, so you can post "accidentally added file to commit Git" instead of "checked box on left hand side by mistake GitHub Desktop"

skreling commented 3 years ago

Having never really used git prior to this class, I find GitHub Desktop a bit over-simplified. I realize it's supposed to be more intuitive to learn/use but I really find it more confusing than either using git functionalities in R or through command line. I like being able to see the commands and know what they are actually doing rather than just clicking. That being said, I'm sure it also generally takes longer to commit and push/pull through command line since you have to do a fair bit more typing rather than just clicking things.

jdduprey commented 3 years ago

I think working with git from the command line forces you to understand the different functions and what they do. Everything is a little more deliberate. On the flip side, last week with GitHub desktop, I accidentally committed a bunch of giant files in a single click. I imagine GitHub desktop is very convenient once you have a better understanding of git, it also streamlines the collaborative side of things.

laurel-nave-powers commented 3 years ago

With GitHub desktop I find it is easy to move around and see everything at my fingertips, which I like. Git from the command line is different because you need to actually put in different commands to move around and do things. This is good because you have to know exactly what you are doing and you can see each little step.

dippelmax commented 3 years ago

The terminal version of git is different because you must know what you are doing and know the organization of the project in order to access different functions. Git in the terminal will not prompt you commands, instead you must know the commands inorder to execute them. You must also know where files are in order to access them.

meganewing commented 3 years ago

Github desktop is definitely more user friendly for those who are not command line veterans. Everything is more intuitive on the desktop version, comparatively. Git when used from the command line is basically another type of coding language that you have to fully understand and deliberately use commands to control what you are doing while github desktop has more of a program/application feel to it. Something I noticed in the reading that is similar between the two in terms of user experience is the color coding of changes (green=added, red=removed).

However, comparing git from command line to github desktop made me wonder what the benefits/differences are for github desktop versus online github

Brybrio commented 3 years ago

Clearly the desktop option is more intuitive given the different buttons/actions showed that can be easily clicked for running. However, the command line version is more robust given its general use among terminal options and because users have to learn the appropriate commands to understand the actions happening. A downside of the latter is that more writing input seems to needed to run similar actions than the desktop version.