Git Config

This tab-set allows you to edit your Global (User) .gitconfig file, which controls a number of standard git settings. These settings will be applied as a default across all repositories that you work in. Please refer to the official Git config pages for details about each setting.

User

On the User tab, enter your Full Name and Git Email.

Fetch and Pull

Choose Merge fetched remote changes or Rebase local branch onto fetched changes as the default when pulling a tracked branch.

The remaining options are:

  • Prune obsolete remote tracked branches removes remote-tracking branches whose remote branches have been deleted.
  • Always fetch new commits, tags and branches from submodule fetches submodule history even when the parent repository does not require a new submodule commit.
  • Update registered submodules checks out the submodule commits recorded by the updated parent repository.
  • Initialize new submodules includes newly added submodules when updating submodules.

Submodule push handling

On the Push tab, Submodule handling controls a push when a repository commit references submodule commits that have not been pushed:

  • ignore submodules pushes only the parent repository.
  • abort if any needs to be pushed stops the push so you can push the submodules first.
  • push submodules first attempts to push the required submodule commits before the parent repository.

Note

An existing mode that SmartGit cannot configure is shown as unsupported with its value.

Credential helper configuration

The Credential Helper tab shows Configure SmartGit as credential helper for Git command line. This option is available only in Repository | Settings, under Git Config -> Credential Helper. See Credential Helper for setup and use.

Commit signing

The Signing tab contains:

  • GPG Program: the executable used for signing.
  • Signing Key: the key used to sign commits and tags.
  • Sign all commits: signs all new commits.

See Sign Tags and Commits for setup instructions.

File encoding

On the Encoding tab, Text File Encoding selects the fallback encoding for viewing and editing text files. Choose System Default to use the encoding shown in parentheses, or select a specific encoding. Automatic encoding detection still applies; see Encoding Tab.

Tag grouping defaults

On the Tag-Grouping tab, Group Patterns combines matching refs, such as a sequence of build tags, into groups for a compact display. Single Patterns preserves matching refs individually, such as separate release branches. Both fields accept comma-separated regular expressions matching full ref names. These settings affect the File Log, commit details, and the Tags category in the Branches view. See Tag-Grouping for pattern syntax, precedence, displayed names, and mapping examples.

Note

If a setting comes from an included Git configuration file, edit it in that file.

Note

  • This tab customizes User Git configuration. You can also customize or override these settings at a per-repository, System (affecting all users on the local system), and Super (Portable) level. Please refer to Repository Settings for further details about repository-specific git configuration.
  • Advanced Users can also edit the Global and Repository-specific git configuration files directly using the Repository | Edit Git Config menu Option and then select the User or Repository option respectively.

Tip

  • SmartGit shows the physical file location of each of the User (Global), System, and Super (Portable) git configuration files at the bottom of the Git Config tab.
  • Feature Branch Prefixing - For users who use a combination of Feature-Flow, Git-Flow or Git-Flow-Light, it is possible to provide a standard branch prefix across all 3 Development Processes through the following .gitconfig setting:
[smartgit "gui"]
    prefixStartFeature = feature/