A commit takes all staged changes and persists them in your local repository.
REMEMBER:Only changes that you previously staged will go into a commit. Modified or created files that were not checked in the Status list are unstaged and will stay as modified files on your disk - waiting to be staged and committed later.
If you don't have any staged changes, committing is still possible: The "amend" option allows you to change your last commit where modifying the commit's message can be your only change.
Click the "Commit" toolbar button or use the keyboard shortcut (CMD+ALT+C).
In the following dialog you need to enter a message describing the changes you made. Git considers the first line of text as the subject and (after two line breaks) the remainder as the "body" of your message.
Check the "Sign-Off" option if you want your name automatically appended at the end of the message.
The "amend" option allows you to change your last commit. Amending rewrites the log history so that you will not be able to see that the commit was changed. Using amend you can add another set of changes to your last commit or just modify its message - or both.
By checking the amend option in the commit dialog Tower will prefill the message textfield with your last message (if there isn't already text contained).
WARNING:Be careful using the amend option - don't amend commits that you have already pushed to a remote repository!
Depending on what works best for you there are two ways to compose a commit message:
If you write your commit message in one go and just before you commit, simply entering the message right in the commit dialog is the best option for you.
If you, however, prefer composing your message over the course of the day you will want to use the "Commit Message Draft" textfield. It allows you to compose your message alongside and will save the message as it proceeds - even if you switch repositories in the meantime. When you finally decide to commit the composed message will be prefilled in the commit dialog.
If you cancel the commit dialog, the draft textfield will be filled with the already entered text.