

Git Tutorials and Training - eaxitect
https://www.atlassian.com/git

======
capkutay
Can anyone here comment on atlassian's stash vs github's enterprise offering?
It seems nice to have jira integration while github is clearly very popular in
the open source world.

~~~
taspeotis
Stash is great. We use it at work and it's quite simple yet powerful.

You can set up branch permissions, require at least one approval before
merging pull requests, one Bamboo build to pass etc.

Since JIRA 6.1 (I think) you can branch from within JIRA, if it's wired up to
Stash. (Although this might be any Git repository.)

~~~
semerda
Yap, branching from within Jira 6.1 is great. With the OnDemand suite this all
just works flawlessly too!

------
OliC
I can't recommend Githug highly enough for learning git:
[https://github.com/Gazler/githug](https://github.com/Gazler/githug)

------
fusiongyro
I'm not digging their increasing emphasis on git.

~~~
wdewind
Why not?

~~~
fusiongyro
Because I use Mercurial. They're going to wind up sacrificing their Mercurial
business, where they're the market leader, in order to play second fiddle to
github.

I love their stuff and have used bitbucket since prior to the acquisition, and
I respect that they may have to do this for business reasons, but that doesn't
mean I have to like it.

~~~
brandonbloom
I wouldn't be surprised if their Mercurial business is stagnating because,
let's face it, Git has won. With that in mind, it might not be such a bad
thing if they sacrifice a market of shrinking value.

~~~
ezquerra
Git currently has a greater mindshare than mercurial, specially on HN and many
open source circles. I don't think that is enough to consider that "git has
won". There are big projects and big companies that use mercurial instead of
git (e.g. Mozilla, Python, Facebook). Both git and mercurial are great and
both can (and probably will) coexist for the foreseeable future.

If you only read proggit or HN you could think that everybody uses git. The
reality is that there are many teams that use mercurial. There are many, many
teams that are still using old style non distributed VCS. There are lots of
teams that don't even use any VCS at all!

There are lots of people (myself included) who consider that git is needlessly
complex, and that mercurial hits a better trade off between power and
complexity. A lot of teams would be much better served by using mercurial
instead of git. I know for example of several HW design teams that decided to
use mercurial because they found it much easier to use.

In addition, I don't think that git or mercurial, as they currently stand, are
the best we can do on a DVCS. There are plenty of areas where they both can
improve (submodules / subrepos being one of them, but also better support for
code review workflows, simpler / safer history rewriting, etc). Perhaps
something else will come that will learn from git's and mercurial's mistakes
and improve on what they offer?

What I mean by this small rant is that it would be foolish to consider that
git has "won" and that there is nothing that can come and improve on it. I
hope that the git devs don't think that way. I know that the mercurial devs
definitely don't think that way, given the number of cool things that they are
working on (e.g. with the evolve extension being my preferred one).

~~~
simias
I'm in the same boat (I use git a lot at work because I work with the linux
kernel but I prefer Mercurial for my own projects) but I feel the thing that
may end up killing mercurial is git's superior branch support.

For local dev branches mercurial patch queues work great but working with
multiple remote branches becomes a bit of a head ache. Generally you end up
using several repositories instead of branches within the same repository.

That being said that was the state of the art a few years ago and I haven't
followed Mercurial development closely so maybe it's not the recommended way
of dealing with that anymore. Is there a way to properly delete a branch in
mercurial these days?

Git branches is the only thing I could imagine a git user miss when switching
to mercurial. And possibly staging, it's sometimes convenient (but can be
emulated using extensions).

------
diptanu
I find [http://gitimmersion.com/](http://gitimmersion.com/) to be a better
hands-on guide to learning Git. Very useful for beginners.

------
kmfrk
What would be really existing is a venture that aims to teach Git to a "niche"
like writers, liberal-arts students or an area outside that of programming.

I think that could be pretty exciting. They could basically do it without
mentioning Git overmuch.

~~~
guynamedloren
That's kind of what I'm trying to do with a project I'm working on [1].
Everything is backed by git repositories, and the interface allows you to work
with git (branch, commit, fork, merge, etc) without actually knowing any git
commands. Essentially, git is masked beneath the surface, but you get all of
the power of git for versioning and collaborating.

[1] [http://www.penflip.com](http://www.penflip.com)

------
joliv
Nice clean, simple overviews on the different git workflows.

------
reinhardt
I'm getting invalid certificate.

