I'm glad that I haven't found the need to do any serious work on my phone (Android). From time-to-time I've logged into a server via SSH to get a little work done, but I haven't needed to solve any serious bugs that couldn't wait for me to get to a computer. Just in case, I keep some apps handy.
This app has limited functionality and is mostly just a viewer. You can create and comment on issues, but cannot fork, pull, etc. Useful for viewing commits and watching issues.
SGit goes well with GitHub. It has the ability to push, pull, merge, clone, commit, and most of the rest of the basics. It also has a built in file editor, but I recommend using another one because it zooms in which makes it difficult to work with and also auto-saves too frequently.
Not all work is with files, however. Sometimes you'll be working with a database, and Connct2SQL is the best I've seen. It's pretty basic and isn't much more than a CLI version with a few buttons for common parts of a query (SELECT, WHERE, etc) along with quick access to table and column names. If you know how to type a query, Connect2SQL will be good enough.
For managing servers, Rackspace Cloud is the app you're looking for (assuming you use Rackspace). You can monitor network activity, disk usage, reboot your server, etc. It also has options for changing server images and upgrades, but I've never used those.
Turbo Client is an FTP/SFTP client, and just one among many. There are quite a few similar apps that have a similar set of features that I could use, but Turbo Client is my SFTP client because I generally like the look of it, they are the makers of my currently preferred editor (see below), and I absolutely must have SSH keys.
Turbo Client is currently my preferred text editor. It has syntax highlighting, support for a wide variety of formats, and a decent theme. I avoid editing code on my phone as much as possible, so I'm not that familiar with it, but it is the best I have found.
The almighty terminal! If you know how to use one, all of these other apps are unnecessary (though not without benefit). A terminal can do nearly everything in a more powerful, albeit often ugly way. There is no description that would do this justice. If you know what this is, I have no need to tell you. If you don't, then you probably won't want one.
Last but not least, Hacker's Keyboard (as seen in image for Terminal Emulator). Because the standard Android keyboard doesn't have everything you need… And this one probably does. Oh, how I missed just a simple tab key!That sums up my list. If you feel that I missed something or can suggest better, let me know in the comments.