2 ms·
> In your opinion, how many of these points are "git gotchas" that the first group need to be trained in, and how many are "subversion gotchas" that only really
by BiteCode_dev 7y ago
> In your opinion, how many of these points are "git gotchas" that the first group need to be trained in, and how many are "subversion gotchas" that only really come up for the second group?
Many years ago, SVN users coming to git were indeed a huge source of head scratching.
Not anymore.
Now we just have a lot of people that just don't think in a way that will lead them to say "So, there's an isomorphism between (1) a commit node; and (2) the chain(s) of commits ending in that node.". In fact, they don't know what isomorphism means, nor that the word exists.
Personally, I like to picture git as applied graph theory. One command = a bunch of operations on the graph.
But there is an old git joke that says:
"Git gets easier once you understand branches are homeomorphic endofunctors mapping submanifolds of a Hilbert space".
It is nonsensical (it's a meta reference to a Monad joke), but I think it gets the point perfectly: we need to bring git to the people that needs it, not to ask the people to come to git. I don't care what level of abstraction they are comfortable with, I want them to feel like they can trust their ability to be productive with the tool and feel their project is safe.
And I find that this way of explaining branches is the most universal way for people from all sorts of background to have a decent model of how git works under the hood. So that when fall in a trap, they can use this model and find a pragmatic way out by themself.
Being right used to be my objective when I was younger. Now I just want to be helpful.