

Git is hard - jasonhanley
http://vimeo.com/60788996

======
darrencauthon
Using Git can be easy to understand, as it takes only a few commands to make
it usable. git commit, git add, git push, git pull, etc. That's enough to get
most users, including people that would normally be afraid to use a command
line, to a state where they can contribute to a git repo.

And if the work is being done in Github, then the person can use the Github
apps to just-get-the-work-done. No command line.

What makes git hard are the men "helping" the woman in this video. Devs create
these crazy rules around branching and rebasing, which results in:

1.) Hours wasted while people try to comply with a process they don't
understand, and

2.) Timid work, as everybody's afraid that stepping on the wrong stone will
trip a booby-trap that messes everything up, looping back to (1).

There is a workflow that people were following without git. They'd make
changes, save them, and then move on. If someone else made changes, they'd
bring those changes in (i.e. merge) and move on. In my experience, most people
understand that. All of the rebasing nonsense is getting people nowhere.

A deep understanding of git should not be a requirement to use git anymore
than I shouldn't need to know how my car works to drive to work. The goal is
to get where we need to go, not to have the perfect vehicle and trip. Your git
repo might get messy sometime, shrug, sorry -- development can be messy
sometimes. Use the git experts abilities to clean it up, rather than try to
get everybody to a git expert level.

Git experts: Keep. It. Simple.

------
snaky
That's not about git. That's about ``Fool may throw a stone into a well which
a hundred wise men cannot pull out''.

------
jasonhanley
This video is funny because it's true.

Git is practically unusable for all but the simplest things without a good set
of aliases or wrapper scripts.

~~~
migrantgeek
It's true only from your world view. You should have titled the post "Git is
hard for me" but it would have attracted less eyeballs.

I'm a daily user of Git interacting with thousands of developers committing
against the same repo. Here's my sole alias

l = log --graph --pretty=format:'%C(yellow)%h%C(cyan)%d%Creset %s %C(white)-
%an, %ar%Creset'

I'm not saying that "I'm so smart I don't need aliases" or that "you're so
dumb that you need them" which is how my post is likely to be interpreted.

I'm saying that your past usage and experience may differ so much that it's
hard to change the patterns set in your brain. I work with folks who have used
Perforce for a decade and struggle with Git. They're super smart but Git is
very different and therefore difficult for them at least at the start.

Generally speaking I would recommend avoiding sugar. I sometimes interview
folks with so many Bash aliases on their own workstation they can barely
navigate using vanilla Bash.

~~~
snaky
I understand Perforce users you are talking about, but their problems are
temporary and that's OK - almost anyone changing main language from Java to
Haskell need some time to start feeling comfortable and get productivity to
his usual level.

But about Bash aliases - is there any real need to use vanilla Bash (or sh, or
ksh, or csh) when he has his settings/aliases file with him?

