Live data from Hacker News

Visual Git Cheat Sheet

ndpsoftware.com

31–40 of 43 posts

Re: Visual Git Cheat Sheet

#31
post #30

Why isn’t git fetch included? Having worked with a quite a lot of developers who don’t understand git, many of whom know so many things I don’t when it comes to so many other domains of dev knowledge, it always astonishes me that people don’t understand what is happening underneath when they do a git pull. I feel like the two main reasons people don’t understand git is that they start by using a GUI instead of starti…

[deleted]

Re: Visual Git Cheat Sheet

#32

Why is git the hardest to grok for most developers compared to almost anything else in the web dev ecosystem? It always feels like a tool with very less or very leaky abstractions. Is it because the complexity is really needed, or if papering over them and making it user friendly has failed? For example, you won't find a cheat sheet of SQL commands submitted and upvoted so many times on HN, even though SQL implementa…

It's not just a leaky abstraction, there is no abstraction!

It's the opposite of user-centric design, like a car with no body where you adjust the gasoline pump, the transmission, the amount of oil etc. yourself.

There's an underlying model, which is tricky but not rocket science - and all actions on that model can have a bunch of non-obvious state changes and side-effects.

It's just complicated enough that it's hard to keep track of the models+statefullness without some expertise, experience and thought.

The first time I saw an 'animation' of what was going on with various commands, it blew my mind how much I learned as I saw things happening.

The language we uses is often not very specific and leaves out important details.

We use it because there's a kind of simple brilliance to the underlying model, it's very fast, very robust, and works well for open source.

That said, I wish there was a git optimized for teams and with better abstraction.

Re: Visual Git Cheat Sheet

#33
post #30

Why isn’t git fetch included? Having worked with a quite a lot of developers who don’t understand git, many of whom know so many things I don’t when it comes to so many other domains of dev knowledge, it always astonishes me that people don’t understand what is happening underneath when they do a git pull. I feel like the two main reasons people don’t understand git is that they start by using a GUI instead of starti…

`git fetch` is included - note that you have to click the other columns to see commands relating to them.

Re: Visual Git Cheat Sheet

#34
post #22

Earlier quoted context omitted.

I'm still in camp subversion, my main gripe about git is the lack of a linear rev number for master. The rest of it is complexity you can either take or leave. I've thought about writing a subversion compatibility scripts overlay for git, just to make my live easier.

> my main gripe about git is the lack of a linear rev number for master Unless you are using git as a centralised SCM, the concept of a linear revision doesn't quite match up. Of course many workflows between different branch and people do eventually end up with there being a "master master" (or a main main to use more up-to-date terminology), and workflows for single dev projects naturally do, perhaps in those cases…

Most people are using git in a centralized fashion whether they realize it or not.

Re: Visual Git Cheat Sheet

#36

Why is git the hardest to grok for most developers compared to almost anything else in the web dev ecosystem? It always feels like a tool with very less or very leaky abstractions. Is it because the complexity is really needed, or if papering over them and making it user friendly has failed? For example, you won't find a cheat sheet of SQL commands submitted and upvoted so many times on HN, even though SQL implementa…

It's not just a leaky abstraction, there is no abstraction! It's the opposite of user-centric design, like a car with no body where you adjust the gasoline pump, the transmission, the amount of oil etc. yourself. There's an underlying model, which is tricky but not rocket science - and all actions on that model can have a bunch of non-obvious state changes and side-effects. It's just complicated enough that it's hard…

Could you please post links to those animations? They could be hugely useful.

Re: Visual Git Cheat Sheet

#37

Why is git the hardest to grok for most developers compared to almost anything else in the web dev ecosystem? It always feels like a tool with very less or very leaky abstractions. Is it because the complexity is really needed, or if papering over them and making it user friendly has failed? For example, you won't find a cheat sheet of SQL commands submitted and upvoted so many times on HN, even though SQL implementa…

Is it because of trying to use too many features? Or working with large groups and everyone trying to do too much? I've been through 3 source control systems now, and Git is by far the easiest. I only branch, clone/init/add/commit/push/pull and merge. (And now most through the gui in vscode) There are some minor fixes I've had to look up, but it's rare. Almost all the complaints I hear about are from very obscure com…

At one point you'll have a long-living feature branch which you'll have to periodically rebase with the main branch, and this is where nightmares begin.

Re: Visual Git Cheat Sheet

#38
post #34

Earlier quoted context omitted.

> my main gripe about git is the lack of a linear rev number for master Unless you are using git as a centralised SCM, the concept of a linear revision doesn't quite match up. Of course many workflows between different branch and people do eventually end up with there being a "master master" (or a main main to use more up-to-date terminology), and workflows for single dev projects naturally do, perhaps in those cases…

Most people are using git in a centralized fashion whether they realize it or not.

You took the words out of my mouth.

They're using git with Gitea or Github, or Gitlab, there is a defacto centralized master.

Re: Visual Git Cheat Sheet

#39
post #22

Why is git the hardest to grok for most developers compared to almost anything else in the web dev ecosystem? It always feels like a tool with very less or very leaky abstractions. Is it because the complexity is really needed, or if papering over them and making it user friendly has failed? For example, you won't find a cheat sheet of SQL commands submitted and upvoted so many times on HN, even though SQL implementa…

I'm still in camp subversion, my main gripe about git is the lack of a linear rev number for master. The rest of it is complexity you can either take or leave. I've thought about writing a subversion compatibility scripts overlay for git, just to make my live easier.

git rev-list --count ${GIT_HASH}
Post reply on HN