Learn Git Branching

If you're using git and you want to learn the overall stuff related to branching, merging, rebasing, etc., then check out this nifty website:

http://pcottle.github.com/learnGitBranching/?demo

I'm really impressed with it - I've solved all the levels and learned some new things I didn't already know along the way. They guy is actively working on it too; soon to come are remote servers and teammate interaction.

It assumes you already have basic knowledge of git and focuses on branching - normally for commits you would add files and give a commit message, but this allows you to just write "git commit" since the messages and files added are irrelevant. It also assumes that all merges can be made automatically, so you won't learn how to resolve merge conflicts.
Last edited on
closed account (1yR4jE8b)
It's funny. Git was my first Version Control system and I learned it very quickly without many issues. Currently, I am the "guru" that all my colleagues go to when they can't understand something. They still moan and complain from time to time about missing Subversion -- I got hired on right after they switched to Git.

I contributed to an open source project a while back that used SVN. When I tried to learn it, it was completely opposite for me. Why does branching suck so much? Why is everything so damn slow? Why is renaming so awkward and broken? Why is this system so bad at resolving conflicts? I ended up just figuring out how to use git-svn and everything was gravy again.
Yeah, I learned git pretty quickly too and I really like it. I was scared at first and I thought everything was going to be painful, but every time I was delighted at ho simple it turned out to be. There have been several times where I expected merge conflicts and it has somehow managed to correctly merge everything :)
I dont know what it is but i get the impression it somehow lets lots of people work on the same program, how can you not have shitloads of bugs??
devonrevenge wrote:
I dont know what it is
Assuming you're talking about git, it's a version control software. https://en.wikipedia.org/wiki/Version_control_software
devonrevenge wrote:
but i get the impression it somehow lets lots of people work on the same program,
Yes, it's very very helpful for that because otherwise you would have to send code to each other by email or something and everyone would have to keep track of everything and merge in changes themselves, etc.
devonrevenge wrote:
how can you not have shitloads of bugs??
Because it doesn't let people add code that hasn't been mixed into everyone else's code.
closed account (1yR4jE8b)
I dont know what it is but i get the impression it somehow lets lots of people work on the same program, how can you not have shitloads of bugs??


Testing.

People usuallyhopefully test their code before asking for it to be pulled upstream. Maintainers usuallyhopefully won't even look at code *unless* it has been tested and demonstrated that it already works. It's also very easy to pull in other people's code so that you can test your code to make sure it works with the lastest changes first.
Last edited on
and you can revert to a previous state
cant wait till im good enough to work on a project with lots of people, guess i will have to learn for another 8 months, maybe longer
Topic archived. No new replies allowed.