I was surprised and gratified to see that pressing 'up' in the terminal window did exactly what I was hoping it would do.
Visualizing Git Concepts with D3.js
31–40 of 52 posts
Re: Visualizing Git Concepts with D3.js
#32Can anybody suggest good D3 books?
http://shop.oreilly.com/product/0636920026938.do
You can read it for free at Oreilly's Chimera labs
Re: Visualizing Git Concepts with D3.js
#33New to git as well as programming in general. This site has helped me somewhat, but I'm still confused about some basic concepts. Aren't the arrows all facing the wrong way? What happens to a commit after 'git reset' abandons it; can the commit be accessed ever again? What's the difference between reset and revert? How can merge and rebase be trusted? What are the best practices for how many branches a project should…
- Checkout manages HEAD. When you use checkout, HEAD is changed to point to the branch, commit, tag, or whatever you've told it to and the working copy is altered to match that ref.
- Reset manages what commit a branch points to (though, see [1] again for the disclaimer). Several of my sibling posts here talk about it altering history but I think this is not really a correct way to look at it. Branches, in git at least, are not really 'history'. They are dumbass pointers and they move around a lot. This is not an alteration of history most of the time.
- Revert creates a commit, so is actually not really like the above two commands at all. It's just an automatic way to create a commit that undoes an earlier commit (which can even be a merge commit, btw).
The more destructive version of revert is actually rebase, which can truly alter history in that it takes existing commits, replaces them with new ones that resemble the old ones, and then pretends that it was like that all along.
[1] In fact, they overlap in areas, and checkout and revert in particular have developed a swiss-army-knife set of commands unrelated to their main purpose. I want to talk about their main purposes here, though. Reset, in particular, has a lot of different uses.
Re: Visualizing Git Concepts with D3.js
#34Re: Visualizing Git Concepts with D3.js
#35This is really cool - I wish I'd had this for teaching git a few weeks ago. FYI - it looks like branch creation is broken. Creating a branch and following with `git commit` gives the error "Not a good idea to make commits while in a detached HEAD state." It's not a detached HEAD, it's a branch.
Re: Visualizing Git Concepts with D3.js
#36Re: Visualizing Git Concepts with D3.js
#37This is really cool - I wish I'd had this for teaching git a few weeks ago. FYI - it looks like branch creation is broken. Creating a branch and following with `git commit` gives the error "Not a good idea to make commits while in a detached HEAD state." It's not a detached HEAD, it's a branch.
Excuse the self promotion I wrote a tool aimed at teaching git at https://github.com/Gazler/githug
Maybe you should create a demo page.
Re: Visualizing Git Concepts with D3.js
#38Nice work! This is a great complement to the codeschool tutorial [1] it would be nice similarly offer the feature that clicking on the command will auto-populate the virtual terminal. New git users might be more likely to use a client-side GUI where they are clicking buttons rather than typing in the terminal. [1] http://try.github.io/
Re: Visualizing Git Concepts with D3.js
#39Re: Visualizing Git Concepts with D3.js
#40It seems cool, but I don't understand why I can't just click multiple times instead of having to type the command several times. That UI decision makes the site nearly unusable on an iPad.