Skip to content
GitTree
Preferences

Configure Git and repository behavior

Preferences › General holds how GitTree drives Git: the Git executable, Pull mode, Auto-fetch interval, rebase options, Long paths and Line endings. Repo-Specific Preferences overrides some of them for one repository, such as its Base branch, auto-fetch, commit template and how it notices file changes.

FreeUpdated

Works in GitTree Free: every local Git feature, once you are signed in.

On this page
  1. Before you start
  2. Where to find it
  3. Steps
  4. Expected result
  5. Early warnings
  6. If something goes wrong
  7. Questions
  8. Related

Before you start

Where to find it

  • Preferences › General; Preferences › Repo-Specific Preferences › your repository.
ActionmacOSWindows and Linux
Preferences⌘,Ctrl+,

Steps

  1. Choose the Git program

    Leave Git executable empty to find Git automatically, or give the path of the one to use.

  2. Decide what Pull does

    Set Pull mode to Fast-forward only, Fast-forward if possible, else merge or Rebase. A rebase keeps the old tip, and Undo restores it.

  3. Set rebase options

    Rebase: stash local changes, Rebase: move stacked branches and Interactive rebase: arrange fixup! commits can follow git config (Inherit) or be set here.

  4. Override for one repository

    In Repo-Specific Preferences, set its Base branch, Auto-fetch interval (-1 follows the app), Commit message template or Notice file changes by.

Expected result

GitTree runs the Git you chose, pulls and rebases the way you set, and each repository can differ.

Early warnings

  • Warn about conflicts before merging: after a fetch, says which files would conflict with the upstream and base branch. It changes nothing.
  • Show overlapping work: marks files you are changing that fetched, unmerged branches also change.

If something goes wrong

Changes made outside GitTree appear late on a network share or in WSL

Set Notice file changes by to Checking every few seconds for that repository.

Questions

Does GitTree change my git config for these?

Only settings that name a git key, such as Long paths (core.longpaths) or Line endings (core.autocrlf), write it, and only when you change them.