So in short, I don't teach people to do something differently, I just teach them. I try to be clear that as long as we all are ending up with the same end result, they should feel free to find other ways that work better for them.
Ask HN: How to give a crash course on Git?
11–20 of 34 posts
Re: Ask HN: How to give a crash course on Git?
#12Re: Ask HN: How to give a crash course on Git?
#13I actually switched from CLI to a GUI a couple of years ago because I found one that was a pure UI over git (not trying to abstract it) and that had a lot of useful features that were difficult to do from the CLI. If looking for a GUI to check out, I’d really recommend sublime merge, created by the same people as sublime text. You can also see exactly which commands it’s running which makes for an easy transition imo.
With that said, I switched to Sublime Merge purely because of advanced features that were difficult in the CLI. For just learning git, the CLI should be totally fine.
Re: Ask HN: How to give a crash course on Git?
#14Explain that GIT takes snapshots, kind of like pkZip does, and it FAKES storing deltas. Also explain that GIT stores files by the MD5 hash of their contents, show him the hidden .git folder, explain its structure, and the object folder, with all the subfolders and files Everything else is pointers, and chains of pointers, to those snapshot files, with some labels. --- It took me way too long to grok GIT because I was…
Re: Ask HN: How to give a crash course on Git?
#15Explain that GIT takes snapshots, kind of like pkZip does, and it FAKES storing deltas. Also explain that GIT stores files by the MD5 hash of their contents, show him the hidden .git folder, explain its structure, and the object folder, with all the subfolders and files Everything else is pointers, and chains of pointers, to those snapshot files, with some labels. --- It took me way too long to grok GIT because I was…
Just point him to the source code to fully grasp the implementation details.
Knowing that GIT doesn't store deltas explains some of the things that made absolutely no sense before that point.
You don't want to just tell a programmer... oh... here are some magic spells, don't worry about how they work, or how to fix it if you make a mistake.
Tell them you don't expect them to remember all the details. It should only take 10-20 minutes to get them up to speed.
Re: Ask HN: How to give a crash course on Git?
#16Re: Ask HN: How to give a crash course on Git?
#17https://git-immersion.github.io/gitimmersion/
If they were my report, I would allocate about twenty paid hours for the training. A contiguous block or fragments of time depending on the way the report trained best…some people want to plow through, others have limits of a few hours at a time.
Not saying gitimmersion is the best tutorial. Only that it is good enough for normal cases
However I am saying that without having been trained as a trainer, outsourcing training is going to be a better use of your time and theirs.
Good luck.
Re: Ask HN: How to give a crash course on Git?
#18So, I know you are new to git, and I am happy to help you! Just so you know, I am a bit of a command line kind of guy (because ).
If you'd like to be able to copy exactly what I do and have me help you with any problem that you encounter, you may find it easiest to use exactly the tool/version/environment that I use. However, if you're comfortable doing a bit of research and troubleshooting yourself, feel free to use a different tool that works better for you, and I'll still do my best to help you, but it's possible you'll run into tool-specific issues that I have never encountered and won't be the best person to help with. You could even try both at once, or try one approach and change your mind later on, we'll work it out as we go!
Re: Ask HN: How to give a crash course on Git?
#19Having some visual intuition of what the commands correspond to really helps.
Re: Ask HN: How to give a crash course on Git?
#20Give him some prescriptive formulas. He can look up the magic incantation for each task he needs to do. Deeper understanding of git can happen gradually. For now he just needs to be able to do a basic workflow. ################################ # download a new project to local disk cd ~/projects git clone someUrl ################################ # get latest code git pull ################################ # observe th…
Telling someone to take a course or go through a tutorial or read a book doesn't help that much, actually it is more discouraging and give impressions of an unhelpful colleague, as a new guy. Depending on GUI or Built-in IDE git features are not the solution, getting to know simple raw native git commands for tasks at hand or problem being faced is the best approach, imo.