Frequently Asked Questions
Tower runs on Windows 7 (with SP2 installed) 64bit or later. If you don't run Windows 10, you'll need to have .NET Framework 4.6 installed. An installation of Git is not required since Tower comes with a fully functional Git binary.
Be careful with third-party warnings: Should you experience any issues with Virus Scanners or the Windows Security System please contact us with a screenshot of the warning.
Please have a look at our release notes.
In some rare cases, the updater cannot properly quit the "old" Tower app as you hit the "Install and Relaunch" button of the updater. This will prevent the new Tower version from starting up, showing just the main menu, but no window.
In this case, you need to quit the old Tower process yourself by starting the Task Manager, search for "Tower" and quit all processes that show up selecting "End Task" in the context menu. A reboot of your machine will also work.
After terminating the old process, Tower should start up normally again.
Releases in the stable release channel are delivered via:
Releases in the beta release channel are delivered via:
On our support page, you can enter the email address used to place your order and have your license key resent.
If you want to be the first to have new features and fixes, you can have early access to "Beta" versions of Tower. Simply do the following:
- open Tower's preferences on the "Updates" channel
- configure "Beta" as your release channel
- restart Tower
- choose "Check for Updates..." from the main "File" menu
From now on, you should always get our latest beta versions!
When Tower crashes (i.e. is unexpectedly terminated), please send us the corresponding crash report:
In contrast, when Tower hangs or has a high CPU usage, you can help us identify the problem by contacting us with detailed information about your setup & repositories.
We've prepared a Troubleshooting Guide that walks you through the most common pitfalls with remote connections.
Yes, hook scripts are respected by Tower.
Please note that if your hook script prints out error messages and you would like them to be displayed in Tower, you have to make sure the error message is printed to STDERR:
echo "Error!" >&2
Interactive scripts that require user input as part of the script are currently not supported in Tower.
The photos come from gravatar.com. If you (or the committers in your project) have an account at gravatar, Tower gets the image for this account (account identifier is the email address).
An important thing to note is that the email of your Gravatar account must be the same as the email that the committer / author of the corresponding commit has.
So, if you committed with your git config email address set to "firstname.lastname@example.org" and your gravatar account has the same email address, then you should definitely see your picture.
When Git creates and stores a commit, the commit message entered by the user is stored as binary data and there is no conversion between encodings. The encoding of your commit message is determined by the client you are using to compose the commit message.
However, Git stores the name of the commit encoding if the config key "i18n.commitEncoding" is set (and if it's not the default value "utf-8"). You can print its current value with the following command:
$ git config i18n.commitEncoding
If it shows no output, it defaults to "utf-8".
If you commit changes from the command line, this value must match the encoding set in your shell environment. Otherwise, a wrong encoding is stored with the commit and can result in garbled output when viewing the commit history.
Tower uses and enforces UTF-8 as encoding for commits (regardless of what is set for "i18n.commitEncoding") to ensure a valid commit encoding.
On the command line, you can verify your encoding with the following command:
$ locale LANG="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_CTYPE="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_ALL="en_US.UTF-8"
This prints your current character encoding settings. Additionally, when using Terminal, you should make sure that your preferred encoding is correctly set in the preferences as well.
You can set your preferred shell encoding with the following lines in your shell profile:
export LANG="en_US.UTF-8" export LC_ALL="en_US.UTF-8"
Note: You should rather adjust your shell environment to UTF-8 than your Git config - because UTF-8 is the recommended encoding.
Viewing Commit History and Encodings
If you view the commit log on the command line, the config value "i18n.logOutputEncoding" (which defaults to "i18n.commitEncoding") needs to match your shell encoding as well. The command converts messages from the commit encoding to the output encoding. If your shell encoding does not match the output encoding, you will again receive garbled output!
However, if the commit message is stored with the wrong encoding and viewed with the wrong encoding, the commit message will display correctly. While this may look fine on your system, as soon as you share the commits with someone else, she will receive garbled output.
Inspecting Commit Encodings
Once a commit has a wrong encoding, there is no reliable way to detect and fix the encoding when the commit is displayed by clients. If possible, try to recreate the commit with the correct encoding by rebasing it.
If you want to examine a commit and its stored encoding, you can use the following command to inspect it:
$ git log -1 --pretty='format:%h: "%B" (Encoding: "%e")' SHA
You can also override the config value for "i18n.logOutputEncoding" when invoking the command to convert the encoding to the given output:
$ git -c i18n.logOutputEncoding=UTF-8 log -1 --pretty='format:%h: "%B" (Encoding: "%e")' SHA
Tower comes with support for many Diff and Merge tools. If you have problems using a certain tool with Tower, please see our detailed help page on Diff & Merge Tools.
You can use Tower with any Git repository - no matter where a possible remote repository is hosted.
Tower offers close integrations with the following hosting services:
In April 2015, GitHub presented a new feature called Git Large File Storage (git-lfs).
git-lfs comes as a Git extension, an additional command that is simply copied alongside an existing Git installation. Since Tower's bundled Git includes the git-lfs extension, you don't have to install it yourself.
In case of problems, please get in touch with us.
Using Tower's custom URL handling is an interesting way to open the app right from your browser. Tower will react on its custom URL scheme "gittower://openRepo/" + a remote repository URL