SmartGit's Log displays the repository's history as a list of commits, sorted by increasing age, and with a graph on the left side to show the parent-child relationships between the commits. What is shown on the Log depends on what was selected when the Log command was invoked:
A root Log can be invoked from other places in SmartGit as well:
Using the Filter field above the Commits graph, you can restrict the displayed commits to those matching a certain filter criterion. On change of the Filter field, SmartGit will restart the search from the select Branches and report matching commits bit by bit. The search will be performed directly in the repository, so eventually SmartGit will find all matching commits in the entire repository.
Using the Filter field drop-down menu, you can specify filter criterions.
The Details view shows details on the selected commit:
Git does not remember the (current) branch as part of a commit. However, when creating merge commits, Git always uses the currently checked out (branch that points to a) commit as first parent and the merged one as second parent. That way it's possible to find out which commits belong to the same branch (first parent) and which were merged (second parent).
In the Log Frame, many commands which are known from the Project Window are available as well:
You can compare two commits in the Graph by selecting both commits (Ctrl-click). The difference from the newer commit compared to the older commit will be displayed in the Files view. By selecting a file you can see detailed change in the Changes view.
When comparing branches you can also invoke Reveal Commit from the context menu of the first branch in the Branches view, then invoke Compare with Selected Commit on the second branch.
In the Branches view, you can toggle Recyclable Commits to get back obsolete heads which are not reachable anymore from any ref. Technically, SmartGit will include all commits which are found in the reflogs (