(I honestly don't see why people worry out so much over Agile... it works like a charm as long as you get the basics right, and feels entirely natural especially for the "hacker" mindset.) At Skyera-Systems, we are 100% Agile. We use Scrum in conjunction with Agile, and the entire Atlassian stack supports our agility.
Jira is the only way to go when it comes to issue tracking. Creating a backlog is simple, prioritising it is simple, and setting up sprints is not difficult. Jira can also be used for tasks like assigning work hours (which I know some firms take seriously... for what reason, I have no idea). Another major bonus for us is the flexibility of the issue categories. This is most likely your finest tool for Agile.
Confluence is documented! This area of the development side-stack is one of my favourites. We can save all of our documentation, make comments, edit and update pages, etc., in one location thanks to Confluence. Personal places are also permitted, which is a really cool feature. Setting up a Wiki is the only alternative I'd consider for team document sharing to Confluence. Confluence is a winner in my book because of little things like support for wiki markup, anchoring pages, setting up of spaces, etc.
Sprinting: During the sprint, GreenHopper is running on our dashboard. We can examine the status of the sprint in a single view. which projects are finished, which are in progress, and which have not yet begun. GreenHopper enables you to explore the specifics of the sprint stories in addition to the burndown chart, which only provides a top-level overview of how a sprint is doing.
Although I've never used Rally, I am aware of a few teams who just made the conversion to the Atlassian stack, and so far, none of them have voiced any particular complaints. Since Jira and Rally seem to be the two main competitors, you should also consider look into Planbox.
I personally use Github, and I believe it to be excellent for side projects, but I seriously doubt it would be effective for huge commercial projects. Naturally, if you're talking about a CVS, you should also take into account git, svn, mercurial, perforce, etc. before making a choice, but I doubt Github will be very helpful. Also, I don't understand why any large enterprise would need Github when there are alternatives like Gitlab (though being a Github fanboi, I hope the use case emerges).
So, all tools are simply there to assist you, so use whatever the team feels most at ease using. Agile is all about changing things if they don't work after a few iterations, right?