Hacker News new | past | comments | ask | show | jobs | submit login

I simply don't agree with this. There's nothing wtf about git add, git commit, git push. Those are the commands that normal developers use. Maybe git reflog has issues but 90% of people are never going to come across them.



Which is why git literally has the person who wrote the book blogging about how he didn't understand git reset: http://git-scm.com/blog


Nothing about that deals with collaboration.

fetch/merge/pull/remotes can be pretty confusing without really wrapping your head around it.


What is wtf about git pull?

> git pull origin master

(fix conflicts)

> git commit

That's it.


1) Pull creates a merge commit. Why?

2) What's a fast forward?

3) What's a tracking branch?


1) So you can revert the merge very easily. 2) Merging without a commit. 3) A branch on a remote server that you have a copy of locally and you want to keep track of the status of remote against the local copy (who's behind and who is ahead?).

This is my basic understanding in terms of how I use git. I like Mercurial too and don't have a horse in this race.


While this somewhat underscores some complexity in git, here's something I wrote trying to explain to others why and how to avoid those merge commits:

http://michaeldehaan.net/post/116465000577/understanding-whe...


You don't need to know any of these things to get along fine.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: