
Git for Computer Scientists - humanfromearth
http://eagain.net/articles/git-for-computer-scientists/
======
politician
Conceptually, git is simple and elegant.

The porcelain, however, is incoherent and riddled with special cases. This
makes it a hard sell to businesses and developers who struggle to understand
that version control is a process, not a button.

So, articles like "Git for CS" are great and all, I guess, but what I'd really
like to see is an article on "Git for junior Windows developers" or "Git for
Your Boss" or "The case for git: delivering business value in IT" or "git vs
TFS: how not to cripple your development team" or "git: because you don't just
need to know how to program in language X, Y or Z".

~~~
masklinn
> The porcelain, however, is incoherent and riddled with special cases.

Eyup.

Mercurial's UI sitting directly on top of Git's storage backend (replacing
hg's own storage by git's) is an idea I've been wondering about for quite some
time.

~~~
callahad
At that point, why not just use Mercurial? What advantages does the git
storage format give you?

~~~
masklinn
Git-using colleagues mainly, who may need to work on your machine for one
reason or another (imagine git as the standard SCM and pair-programming, your
using a different "porcelain" only works as long as your colleagues can keep
using the standardized tool).

It'd also feel a bit less hack-ish than my current hg-git setup, and it would
probably work correctly with http git repositories (I believe hg-git will
support them once Dulwich 0.8.1 is released[0], but I've no idea if — and when
— that'll happen, not to mention the issue will rise its ugly head again if
git adds more protocols in the future)

[0] <https://bitbucket.org/durin42/hg-git/issue/1/http-cloning>

------
javert
The best Git explanation I've seen is "Understanding Git Conceptually" [1].

[1] <http://www.eecs.harvard.edu/~cduan/technical/git/>

~~~
apsurd
Just read a little of the above link. Personally I think <http://progit.org/>
does a better job of a conceptual walk-through while at the same time giving
you exactly what you need to get started tracking your projects. It also
explains the different types of suggested collaboration strategies in a way
that you think "ah that makes sense".

Personal thanks to Scott Chacon if he's reading =)

------
keyist
This is a great post that gets mentioned from time to time and covers the
underlying theory well. I'd supplement it with Chapter 9 of the Pro Git book:
<http://progit.org/book/ch9-0.html> , which focuses more on the actual
implementation and shows how to create commits from scratch using Git's
content-addressable primitives.

------
ximeng
<http://news.ycombinator.com/item?id=1485612> \- some comments

<http://news.ycombinator.com/item?id=441670> \- a link to this amongst other
Git stuff from 3 years ago

------
kclittle
Dense. Concise. Informative. Like!

------
dbbo
This link is also on <http://git-scm.com/documentation>

------
RusAlexander
awesome

