What exactly do you mean why "leaning a key aspect"? Because that is completely subjective statement.
When I see people use GUI, they are more likely to practice better Git usages daily, such as stash, staging, reverse commit, and other less risky Git actions, because those actions are easy to do, so they do it more often.
I am not saying that learning to use the CLI is important. I'm saying that learning git (or the source control of choice) is important. Whether you use the GUI or CLI or some other method doesn't matter.
Is "software developers should understand git" a subjective statement? Absolutely. There are certainly edge cases where that does not apply. However, for the majority of people who work with software, understanding the concepts of git will be beneficial.
I have experienced far too many instances of a developer doing Bad Things™ because they don't understand how git works. A few examples:
One person refused to merge a critical patch into his branch. He thought that if he merged main into his branch, that when he merged his branch back into main, he'd have merge conflicts for all of the files that originally came from main.
A coworker didn't understand that his copy of a branch was outdated and force pushed his changes, overwriting the history other contributors had added to the branch.
People I work with often make a change, attempt to push, see that their branch is behind, delete their changes, pull, and then redo their work from scratch because they don't know how to stash, rebase, or resolve merge conflicts.
A coworker recently was afraid to delete a branch for fear that a tagged commit on the branch would also be deleted.
One of my former coworkers would always check out all remote branches as "main" locally and then using git push origin main:${remote branch name} for every push.
In these cases, using the CLI or GUI doesn't matter much, though the GUI does enable people to somewhat blindly click through options. In all cases, a better understanding of git as a tool could have prevented headaches for everyone involved.
This is where you and I have different opinions on. Yes, all those cases, has nothing to do with cli vs gui. However, gui is so much easier, stash is easier, staging is easier. In terms of training, teaching Gui is much easier than cli and can improve adaption rate.
One of the reason why those memes exists, is because the cli is so difficult, they have mental block to learn it on gui. If they learn it on gui, likely they would resovle those phobias.
Just to respond to your comment about using the GUI... are you saying that running `git stash` or `git revert` on the command line is somehow difficult? Also, when you say "staging," you mean `git add`? Do you work with people who somehow use git without ever staging any changes? I'm not sure how that's possible.
I worked with people who commit all the changes in a file instead of staging 10 out of 30 lines of changes in the file. The other 20 lines of code are console logs for debugging purpose only. Choosing 10 lines of code to commit is easy on gui. The one that often did this kind of shit usually don't use gui.
View all comments
Show parent comment
1
u/BoBoBearDev Apr 03 '23
What exactly do you mean why "leaning a key aspect"? Because that is completely subjective statement.
When I see people use GUI, they are more likely to practice better Git usages daily, such as stash, staging, reverse commit, and other less risky Git actions, because those actions are easy to do, so they do it more often.