Agit is a Git client for Android devices, allowing you to checkout the entire history of a Git repository while on the move, review changes and store for full offline access.
• Clone remote Git repositories onto your phone!
• Just like regular Git, the full history is stored for offline access.
• Animated Diffs - Watch diffs smoothly transition from Before to After - and back again. I'm using 'smooth' figuratively here. It's still pretty cool.
• Supports git, http, https, ssh protocols:
- see https://github.com/rtyley/agit/wiki/HTTP for details about HTTP authentication
- see https://github.com/rtyley/agit/wiki/SSH or watch http://youtu.be/6YXR-ZhZ1Qk for SSH setup instructions
• Pull-to-refresh fetching
• Currently this is a 'read-only' client. You can clone & fetch, but not commit and push. I haven't yet had time to build all the user interface around that - but I reckon implementing pinch-gesture-branch-merge would be fun.
• Periodic sync enabled on Android 2.2 and later - latest commits fetched quarter-hourly.
• Cloning substantial projects (eg Mongo, JQuery) will take a few minutes to perform - fortunately subsequent fetches will be much faster.
• Due to limitations in Java/JGit (the underlying library used by Agit for Git support) the following features are unfortunately unsupported: submodules, symbolic links.
Android devices have limited memory, and due to the nature of Git delta-packing individual large files in your repo (eg around 5MB or above) can cause unavoidable out-of-memory errors, even on modern devices. This doesn't constrain overall repository size - which can be much bigger - it only constrains the *largest files* you can have in your repository's history. More information here:
To help users fix the large-file repos that Agit has trouble with, I've developed a The BFG, a command line tool purpose-built for slimming down Git repositories:
The BFG is a much simpler and faster alternative to using git-filter-branch, and makes it easy to clean up repositories so that they can be read by Agit.