Has anyone read Apress's Pro Git by Scott Chacon? Do you recommend it?
Git Tutorials for Beginners
21–29 of 29 posts
Re: Git Tutorials for Beginners
#22Earlier quoted context omitted.
The overloading of "checkout" to mean revert a file as well as "switch to a different branch" is for me one of the most confusing git design choices.
1. You're right, it's confusing when coming from a Subversion background. 2. It makes sense when you realize that 'switching to a different branch' and 'reverting a file' are both operations that make your working copy (partly) match a branch, be it a different branch or just your current HEAD. Git is full of stuff like that. Once you get the fundamentals down it all starts to make sense.
The fact that file checkouts and branch creation shares underlying mechanics have nothing to do with the UI, it'd make a lot more sense to create new branches with for instance the git branch command, and checkout files with the git checkout command.
Having said that, I don't think the git UI is horrible at all. I found learning the basics of git rather easy, that doesn't mean the UI can't be improved on further, though.
Re: Git Tutorials for Beginners
#23A few great resources are missing from that big list at the bottom: Git internals PDF (Scott Chacon) http://peepcode.com/products/git-internals-pdf "Getting Git" screencast (Scott Chacon) http://blip.tv/scott-chacon/git-talk-4113729 Interactive Git cheatsheet (Andrew Peterson, NDP Software) http://www.ndpsoftware.com/git-cheatsheet.html
Once you understand git, the man pages, docs at kernel.org and cheatsheets are a much easier read. My go-to cheatsheet is now [2], which is actually more of a visualization of commands to use to move between git's different areas.
I must admit, I still need to Google every now and then for things that are counterintuative in git (e.g. removing a submodule) and normally end up on StackOverflow.
[1] http://tom.preston-werner.com/2009/05/19/the-git-parable.htm...
Re: Git Tutorials for Beginners
#24Re: Git Tutorials for Beginners
#25Re: Git Tutorials for Beginners
#26Re: Git Tutorials for Beginners
#27Earlier quoted context omitted.
The overloading of "checkout" to mean revert a file as well as "switch to a different branch" is for me one of the most confusing git design choices.
1. You're right, it's confusing when coming from a Subversion background. 2. It makes sense when you realize that 'switching to a different branch' and 'reverting a file' are both operations that make your working copy (partly) match a branch, be it a different branch or just your current HEAD. Git is full of stuff like that. Once you get the fundamentals down it all starts to make sense.
git revert is the "undo committed change" command.
git reset is the "discard uncommitted change" command (what is called "revert" by Subversion, Mercurial, Perforce, Bazaar, Darcs, Fossil, and SVK).
Re: Git Tutorials for Beginners
#28A few great resources are missing from that big list at the bottom: Git internals PDF (Scott Chacon) http://peepcode.com/products/git-internals-pdf "Getting Git" screencast (Scott Chacon) http://blip.tv/scott-chacon/git-talk-4113729 Interactive Git cheatsheet (Andrew Peterson, NDP Software) http://www.ndpsoftware.com/git-cheatsheet.html
Re: Git Tutorials for Beginners
#29A similar list for Mercurial, please?