Tower
Tower is the most powerful Git client for Mac (and Windows). It’s indispensible for using Git without the command line, which I do almost every day.
Customize the UI
App header
View > Show Window Title
View > Customize Toolbar
as follows:
- Previous
- Next
space
- Fetch
- Pull
- Push
space
- Apply Stash
- Save Stash
space
- Merge
- Rebase
- Git-Flow
space
- Finder
- Terminal
space
- Search
flexible space
- Refresh
- Quick Actions
- Open
Show | Icon and text |
---|
Working copy
Sort by “filenname”.
Branches: commit list
- Show graph: unchecked
- Group by: day
- Commit size: medium
Preferences
General
Terminal application | iTerm2 |
---|
Git config
Global user name | Brendan Falkowski |
---|---|
Global email | [email protected] |
Diff tool | Kaleidoscope |
Merge tool | Kaleidoscope |
Configure command line environment
Git repositories may be configured with pre-commit or pre-push hooks. If hooks call command line utilities, then Tower’s shell needs to know where those binaries are located.
Create this file: ~/Library/Application Support/com.fournova.Tower3/environment.plist
Sample environment file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PATH</key>
<string>/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin</string>
</dict>
</plist>
My custom environment file
This isn’t required anymore. Yarn fixed its issue with `brew` installation, so Homebrew-installed Yarn is found in the normal `/usr/local/bin` path.
I added yarn
binaries to Tower’s shell PATH
variable because Magento PWA Studio runs Yarn in a pre-push hook.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PATH</key>
<string>/Users/brendan/.yarn/bin:/Users/brendan/.config/yarn/global/node_modules/.bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin</string>
</dict>
</plist>
You can’t use $HOME
in a path. Only use absolute paths. Equivalent for me: /Users/brendan
.