Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I really don't get the part, "Despite its widespread adoption, Git puzzles even experienced developers and is not regarded as easy to use"

Am I the only person who finds Git exceedingly simple? I had significant experience with Subversion, and then tried Git on some of my personal projects. I didn't find the learning curve very steep (perhaps some of the articles and documentation I read helped a lot, or maybe some of the graphical tools I used at first), but compared to SVN, git just feels to me how a version control system should work...

Sure there are some little quirks with the interface, but it didn't take all that long to work out...



I didn't find the switch any harder than learning about revision control in the first place. When I moved from RCS to CVS, it was pretty easy (though I was pretty weak in RCS, and so I had to learn a lot of new concepts). When I switched from CVS to Subversion, it was really easy (Subversion is designed from the ground up to just be a better CVS). When I switched from Subversion to git, it was a challenge...but, not a really big one.

There are some things I still don't get about git. And I still find myself with some weird commits that look like I'm committing what other people just committed (because my tree was behind theirs/HEAD, and I had commits that happened and then I had to pull in order to push...I still don't know how to avoid that, other than always pulling immediately before doing any commits and then pushing immediately after committing, which feels clunky).

I tinkered with some other distributed revision control systems before it was apparent git would win the majority of the mindshare (and actually before git even existed). Someone I worked on the Squid project with also happened to be an arch and then bzr developer (and I think now works at Canonical on DVCS), so I spent quite a bit of time using those. I also found them kinda confusing. But, not so much that I couldn't get work done.


> There are some things I still don't get about git. And I still find myself with some weird commits that look like I'm committing what other people just committed (because my tree was behind theirs/HEAD, and I had commits that happened and then I had to pull in order to push...I still don't know how to avoid that, other than always pulling immediately before doing any commits and then pushing immediately after committing, which feels clunky).

Git pull --rebase?


When you commit other developers work you are merging in the wrong "direction".Please read: http://tech.novapost.fr/merging-the-right-way-en.html


With all due respect, could it be that people use only a very limited subset of git features (that are simple to use) and/or still don't understand how the features _really_ work. Personally, I've several times thought I understand git only to realize later that I've been mistaken although I've been relatively successful in using it. I hope that makes sense. :)


I found this to be one of git's greatest strengths; Beyond the basics, it doesn't force you to use features you don't need or want. Initially, I just committed snapshots in a single branch. Later, I found I wanted to do something experimental, so I learnt to branch, and so on…

Now, I would miss git's more advanced features if they weren't there, but when I started, I distinctly remember thinking, "For now, I just want to be able to change my code non-destructively, so I can easily revert it if I make mistakes". Git did that, and did it well.


Nope not the only person. I found git incredibly easy to get the first few times i used it.


I personally think that the Git approach is closer to how I envisaged a (non-distributed) VCS should work. I'm the same as you, coming from SVN it was a godsend.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: