Choosing Between Sourcetree’s Embedded Git and System Git: A Practical Decision Guide
Decide whether to use Sourcetree’s bundled Git or a system‑installed Git. This guide lists constraints, compares options in a compact table, explains trade‑offs, and shows how to validate the choice in practice.
24 Nov 2025, 08:24 UTC

Problem: Which Git binary should Sourcetree use?
When you launch Sourcetree on Windows or macOS you can choose between an embedded Git that comes bundled with the app and the system‑installed Git that you may already use from the command line. The choice influences compatibility, security updates, credential handling, and how Git‑related features behave inside the GUI.
Decision: Embedded vs System Git
Pick Embedded Git if:
- You want guaranteed UI compatibility for advanced features like interactive rebase, submodule handling, and Git LFS.
- You prefer isolation so that changes to your global Git configuration don’t unexpectedly affect the Sourcetree experience.
- Your team uses a single, tested Git version for all tools.
Pick System Git if:
- You need the latest security patches and bug fixes as soon as they’re released.
- You want to share the same Git executable, configuration, hooks, and credential helper across CLI and GUI.
- You work in a corporate environment where Git is centrally managed or patched.
Constraints to Consider
- Operating System: Embedded Git versions differ between Windows and macOS; verify the bundled version on your platform.
- Team Standardization: If your team already uses a specific Git version, using System Git keeps the experience consistent.
- Security Policy: Some organizations require the most recent Git for compliance; System Git is preferable.
- Credential Management: Embedded Git may use Sourcetree’s own credential store, while System Git respects OS keychains or custom helpers.
- Proxy / CA Configuration: Embedded Git may not honor corporate proxy or custom CA settings that are configured for the system Git.
Compact Comparison Table
| Feature | Embedded Git | System Git | Notes |
|---|---|---|---|
| Version Tested by Atlassian | Yes | No | Ensures UI compatibility. |
| Security Updates | Delayed (on Sourcetree releases) | Immediate | System Git gets patches as soon as they’re released. |
| Configuration Isolation | Yes (Sourcetree‑specific config) | Shared (global gitconfig) | System Git shares hooks, global settings, and credential helpers. |
| Credential Handling | Sourcetree store | OS keychain / custom helper | May require re‑entering credentials after mode switch. |
| Git LFS Support | Bundled LFS version | System LFS | Same LFS binary is used as the selected Git binary. |
| Feature Compatibility (interactive rebase, submodules) | High | Depends on the installed Git version; newer features may be missing if Git is old. | Test with a known repo. |
| Proxy / CA Settings | Only what Sourcetree configures | System Git honors OS proxy / CA config | Important for corporate HTTPS remotes. |
Trade‑Offs Explained
Using the embedded Git gives you a stable, tested environment. The UI can rely on specific Git flags and behaviors, so features like git rebase -i or submodule updates work without surprises. However, you’re tied to the version that came with the Sourcetree release; you’ll only receive updates when Atlassian pushes a new Sourcetree build.
With system Git you get the freshest Git binary. Security patches and new features reach you immediately. All tools on the machine—CLI, IDE plugins, CI scripts—share the same Git installation, which simplifies troubleshooting. The downside is that if a new Git release introduces a breaking change, the Sourcetree UI might not yet support it, leading to subtle errors or missing UI elements.
Concrete Implementation: Switching Modes
1. Open Sourcetree.
2. Go to Tools > Options (Windows) or Sourcetree > Preferences (macOS).
3. Select the Git tab.
4. Choose Use System Git or Use Embedded Git.
5. If you pick System Git, browse to the git executable (e.g., /usr/local/bin/git on macOS, C:\Program Files\Git\bin\git.exe on Windows). If you pick Embedded Git, the path will be automatically set to the bundled binary.
6. Click OK and restart Sourcetree if prompted.
Validation Steps
After switching, verify that the chosen Git binary is actually in use and that your workflow behaves as expected.
1. Confirm the Git Version
In Sourcetree’s Git tab, you’ll see a line like Git version 2.39.1. In a terminal, run:
git --version
# Expected output: git version 2.39.1 (or the version you see in Sourcetree)
Both outputs should match. If they differ, Sourcetree is still using the other binary.
2. Test a Pull / Fetch
Open any repository in Sourcetree and perform a Pull. Observe the log for any errors. Repeat with the other mode to compare.
3. Run an Interactive Rebase
In Sourcetree, select a branch with at least three commits, right‑click, and choose Rebase children of… (or the equivalent). The UI should launch the interactive rebase editor. Verify that the rebase completes without errors. Compare the result to running:
git rebase -i HEAD~3
in the terminal.
4. Verify Credential Handling
Push to an HTTPS remote that requires authentication. If using System Git, the OS keychain should be invoked. With Embedded Git, Sourcetree’s credential store should prompt or use stored credentials. Ensure you can push without repeated prompts.
5. Test Git LFS
Clone a repository that uses Git LFS (e.g., https://github.com/git-lfs/git-lfs.git). After cloning, check that LFS tracked files are present as real files, not pointer files. In the terminal, run:
git lfs pull
If the files are fetched correctly, LFS is functioning with the selected Git binary.
Limitations and Caveats
- Atlassian’s release schedule may lag behind Git’s release cycle; if you need a very recent Git feature, consider using System Git.
- After switching modes, you may need to re‑enter stored credentials or re‑point SSH keys in Sourcetree’s account settings.
- Corporate proxy or custom CA certificates might not be honored by the embedded Git; System Git will typically respect OS‑level proxy settings.
- If you use custom Git hooks, they’ll only be applied when using System Git; the embedded Git uses its own hook directory.
Practical Recommendation
For most teams that value stability and have a consistent Git workflow, the embedded Git is the safer choice. It eliminates surprises in the GUI and ensures that advanced features work out of the box. For teams that require the latest security patches, rely on a centrally managed system Git and accept that occasional UI quirks may appear after a major Git upgrade.
Always run the validation steps above after any change to confirm that your environment behaves as expected. If you encounter a mismatch or an error, re‑check the git --version output and the Sourcetree Git tab settings.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.