Yifeng Wang

Working Copy: Git client for iOS

Working Copy screenshot on iPad

Look around, look around at how lucky we are to be alive right now. Pardon me for some Hamilton pun, but pause and think how crazy it would be if someone'd told you that Git operations could be done on your mobile devices just a few years back. What a time to be alive.

The star of today's post is Working Copy. It's not just a Git client on iOS; it's one of the best Git GUIs I've ever seen, on any platform.1 To get started, you can either clone a repo from a remote server or initiate one locally. Besides from popular services such as GitHub and BitBucket, you can clone repos from any server you have access to (via SSH). Once you have a repo inside Working Copy, you can freely navigate around the repo, make changes, and commit (or discard) those changes. Working Copy provides a basic text editor with syntax highlighting. Thanks to iOS share sheet, you can also edit the code in your favorite external editor. After committing the changes, you can push the code back to the remote server if you wish. You can browse commit history with ease. Tap on a commit and you are presented with a side-by-side diff view. You can check out, tag, or even cherrypick the commit if needed. Commit history can also be presented in a tree graph which can be accessed from a repo's summary view. Other operations that Working Copy supports include fetching remote changes, resolving merge conflicts (it has a great diff tool), and branch management (creation, merging and deletion). As a bonus, Working Copy provides a JavaScript console and HTML previewing, which really come in handy when it comes to web development.

Working Copy is an excellent tool for your Git needs on the go. In my opinion, it's especially helpful when you have the need to review code, resolve merge conflicts, or make small changes when you are out and about. The developer also smartly worked around App Store's trial restriction by making the app a free download with no function limitation except that pushing to remote servers requires an one time in app purchase. You should grab a copy.

  1. I highly recommend you check out GitUp on Mac.