10 ms·
Learn Git Branching
- deleted 13y ago[deleted]
- AlexanderDhoore 13y agoI'm shocked at how awesome this is... My git-fu is not very strong. This is great! You can even make lessons to share with friends... That's amazing! Next step: make user contributed lessons archive!
- jafaku 13y agoSo what do I do now? http://i.imm.io/1al4b.jpeg http://i.imm.io/1al4b.jpeg
- rurounijones 13y agoOn the off-chance that you are not trolling: The site requires JavaScript. On the on-chance that you are trolling: You go to the repository and raise an issue regarding the fact that there is no obvious "This site requires JavaScript" message for those who access the site without JS. https://github.com/pcottle/learnGitBranching/issues/107 https://github.com/pcottle/learnGitBranching/issues/107 You're welcome.
- xxbondsxx 13y agoI'll fill out a noscript tag for the non-troll case -- sorry about that, not a user demographic I keep in mind!
- jafaku 13y agoI haven't turned off Javascript. The site is broken.
- morpher 13y agoIt doesn't work for me in firefox on linux. But, works fine on chromium (although it requires more vertical real-estate than my 13" laptop screen has).
- rurounijones 13y agoWorks well on Ubuntu 12.04 with std Firefox 21.0 for me.
- deleted 13y ago[deleted]
- mazsa 13y agoFYI: http://news.ycombinator.com/item?id=5232415 http://news.ycombinator.com/item?id=5232415
- rob22 13y agoIt Really Awesome as well very usefull too....
- zaius 13y agoWhy is git so hard? Is it that it encapsulates concepts that are inherently difficult to grasp? Or is it just that I need to think about things in a different way? I still feel after 5 years of git use that I am useless with it.
- girvo 13y agoAs the rather facetious saying goes, "Git is a great library for building a DVCS". I wouldn't go that far myself, however I do feel that Git has a LOT of features and becomes the "Jack-of-all-trades-master-of-none", if you will. Since I've grokked it properly, I'm now happy with it, but there are things I'm still not okay with doing (`git bisect' being one).
- guard-of-terra 13y ago- Its user interface is inconsistent and poorly designed. - It is an overkill for a small project with a central repository - what we usually have, leading to a large conceptual overhead. Why it became popular in the first place? a) Linus, b) It's pretty easy and pain-free when you have a single-person project that doesn't branch much.
- skrebbel 13y agoc) github
- talles 13y agoIndeed, in most small-medium project scenarios it may be an overkill. But, if the people involved are proficient using it and the learning is not a issue, there is still git goodness to be used (or even dare I to say: to enjoy). I find myself using A LOT of local branches while developing. Not only they are cheap to make/destroy, it's pretty flexible to manipulate it (ya, rebase). When you are comfortable with things like staging, stashing, branching, rebasing, rebasing interactively, using -p (patch) in commands and reflog git enables you wonderful workflows (note the plural). There is this gap between awkardness/frustation and power/enjoyment when using git. Tools like these help people jump it.
- 13y ago
- vanwilder77 13y agoWoww..! I just learned Git branching. Used Git for 2 years, but never really bothered to learn more! Awesome stuff
- andyhmltn 13y agoWhy is this posted and upvoted on to the front page at least 3-4 times a month? It's a great resource, but I don't think that warrants pushing other stories down as it resurfaces so frequently.
- xxbondsxx 13y agoI agree -- I'd rather come back every ~6 months with big updates rather than have the link submitted constantly. I'm always planning to submit it myself when I reach a big milestone but someone always beats me to it... it gets a fair amount of organic traffic and Github switching to the .io domain for pages probably made it fall through the cracks of the HN submission map. That being said, I think I'll resubmit when I get the origin lessons in place (WIP here:) http://pcottle.github.io/learnGitBranching/?NODEMO&command=git%20clone;%20git%20fakeTeamwork%202;%20git%20fetch;delay%202000;reset;%20git%20clone;%20git%20fakeTeamwork%202;%20git%20commit;%20git%20pull;git%20push;%20delay%202000;%20reset;%20git%20clone;%20git%20fakeTeamwork%202;%20git%20commit;%20git%20pull%20--rebase;%20git%20push http://pcottle.github.io/learnGitBranching/?NODEMO&command=g... And then hopefully I'll be out of everyone's hair forever.
- anton_gogolev 13y agoSo judging by the number of Git-related posts here on HN I can assume that Git has taken over. Sad, but true.
- chris_wot 13y agoYou've been downvoted... but seriously, why is this such a bad thing?
- arctangent 13y agoGit is too complicated for most use cases, but seems to be becoming a de facto standard for even the simplest collaborative tasks.
- revscat 13y agoI use it both for personal projects that will never have another human look at them, as well as for large multi-user projects. In what was is it too complicated for most use cases? Most use cases involve "code being worked on by multiple people", in which case it has seen great success.
- grannyg00se 13y agoFor simple collaborative tasks, git is rather simple. You'll need just a handful of commands. And as a bonus, you're using a tool that has the capacity to grow as necessary.
- abraininavat 13y agoI think this complain only comes from people who are too lazy to learn git. It's really not that hard.
- talles 13y agoVery useful. Used in a Git presentation I gave.
- xxbondsxx 13y agoOh really? Nice! Was it an academic setting or a professional one? I am working on origin lessons right now (see link above) but I could actually make a file staging version if necessary. What other gaps of knowledge do you think it could fill?
- diego898 13y agoIm actually going to use this in a presentation Im giving to my research lab as well. I tried to do something similar by drawing on the board but this is BY FAR one of, if not the, BEST tutorial I have ever seen. Actually seeing the images created and change in real time is worth 1 million words explaining them. Thank you so much!
- goghvanmr 13y agoI never really understand git branching until I saw this cool website. Thanks a lot.
- grimtrigger 13y agoI've struggled with git for years without ever feeling comfortable with it. This looks like it is going to be really awesome. Thank you pcottle!
- rbellio 13y agoLevel 3 Intro - Create a branch, checkout, commit, checkout master, commit, merge. It says it can be done in five commands and I'm doing it in six (following the above steps very closely). What am I missing?
- xxbondsxx 13y agogit checkout -b will make the branch and check it out at the same time. You can always use "show solution" to see what we are using as the benchmark. Command discovery is a bit hard to communicate in this app -- I added the helper bar at the bottom for the most common commands but I only have so many pixels...
- rbellio 13y agoThanks.
- deleted 13y ago[deleted]
- xxbondsxx 13y agoHey everyone! Author of LGB here, wasn't aware this would go to the front page again, sorry for not responding earlier. Please check out the demo of the app if you haven't seen it yet: pcottle.github.com/learnGitBranching/?demo It explains most of the operatons and gives you a sense of how to start and stop lessons. I'm also working on getting lessons for origin commands (git push, pull, fetch, etc). You can see a short demo of that functionality here: http://pcottle.github.io/learnGitBranching/?NODEMO&command=git%20clone;%20git%20fakeTeamwork%202;%20git%20fetch;delay%202000;reset;%20git%20clone;%20git%20fakeTeamwork%202;%20git%20commit;%20git%20pull;git%20push;%20delay%202000;%20reset;%20git%20clone;%20git%20fakeTeamwork%202;%20git%20commit;%20git%20pull%20--rebase;%20git%20push http://pcottle.github.io/learnGitBranching/?NODEMO&command=g... But a lot of it is broken still, so it's strictly a WIP
- tankbot 13y agoAwesome work! Would be neat to adapt this idea to show a realtime visual 'map' of a project as you're working on it. Watching your commits/merges as well as others' while they're happening could even be useful. I'm noticing that the Merging in Git level (level 3?) gives you 6 steps to complete, but then complains that you didn't do it in 5. Is this a bug?
- stared 13y agoI like it a lot, great work! What I am missing though is: - examples and motivation, - commands on the right (to see them all the time and learn eventually), or example files in the folder, - on the level-chooser - 'empty' for starting just with the command line (e.g. for level-building). That is it implicitly assumes that someone knows what are branches, why to use them, when to use them (and when - not). E.g. 'lightweight' as a feature, not - goal. Sure, this tutorial assumes some level... but if one is a master at branching, then one does not need to learn it from a graphical tutorial.
- CodeMage 13y agoGreat job! I really loved LGB. One small complaint: level advanced2 could be solved with 3 commands instead of 5, if only you recognized the "--onto" option in "rebase" command :)
- bellbind 13y agoGreat stuff there, I actually learnt from what I thought was an interactive tutorial for beginners. The commands (like 'reset' to go back to the beginning of a level) are not that straightforward from the beginning though. Also I haven't found how to actually see your solution yet (not that I have really searched for it, but it would be nice to have a big button).
- julien421 13y agoThis is very nice! GG!
- goghvanmr 13y agoevery time I completed a level, my Safari crashed... Environment: Mac OS X 10.8