Alongside Xcode I find BBEdit very useful for editing data files, diagnosing merge problems, writing shell scripts, etc. I still do almost all my real coding in Xcode to use the autocomplete.
Tower is useful for anything non-trivial in Git. For basic operations the Xcode Git support is useful.