Git Diffs & Merges, but Nicer

Browse commits, compare branches, see how a file has changed over time. Gain insights into tricky conflicts and resolve them with a powerful merge tool.

JuxtaCode repository window comparing two commits side-by-side.

New in Version 1.1

Search Commits

Now you can search commits by message, hash, branch or tag, making it even easier to zero in on the code change you want to inspect.

Plus:

  • Open commits in their own tabs
  • Refreshed branch picker
Read Release Notes

See What Changed

Simply open your Git repo to browse commits, review code changes or track a file's history.

Browse Commits with Ease

Go through your project's timeline by selecting commits from the sidebar. You'll be presented with fully expanded changesets, complete with syntax highlighting.

A JuxtaCode window showing a repository's commits and the diff of the selected commit.

Review Code Changes

Select any 2 changesets to present them side-by-side in JuxtaCode's 2-up diff tool. This view shows one file at a time making it easy to scrutinize changes between two branches or commits.

Track a File's History

Access a file’s complete history by simply opening it. A dedicated tab will show all the relevant changes from the file’s inception to the latest commit (or your local changes if you’ve made a recent edit) even if the file has been renamed or moved along the way.

See Commit Details

Detailed information about each commit is always available in the inspector sidebar. See who authored the commit, the files that were changed and the commit message itself.

JuxtaCode's commit inspector.

Filter by Branch or Tag

You can focus the commit log on specific branches and tags by selecting them in the reference popup. Have a lot of branches? Just start typing the name of the branch you’re interested in to narrow down the list.

Filter by File

Selecting files in the inspector sidebar will filter out the others from changeset diffs. Useful when you want to focus on one or two files in a large commit.

The file list itself can also be filtered by name, file extension or change type so you can drill down to the specific changes that matter to you.

Untangle Tricky Merges

JuxtaCode detects conflicts and surfaces the information you need to track down the underlying causes. When it comes to making fine-grained edits, the powerful and adaptive 3-way merge tool helps you weave together code from each side of the conflict.

Reveal the Story Behind the Conflict

Conflicting commits are helpfully labeled as OURS and THEIRS, making it easy to see which changes led to the conflict. The workspace view lets you choose how to resolve each file. You can also unresolve files if you need a do-over.

3-way Merge Tool

Make light work of complex conflicts with the powerful 3-way merge tool. Line-level changes are highlighted with bands of colour that persist - growing and shrinking - as you merge the code. Word differences are highlighted dynamically as you type.

Compare & Merge Any Text

JuxtaCode’s diff and merge tools can be used with any plain text, even if it's not in a Git repo.

JuxtaCode window showing a list of files and a side-by-side comparison of two of the files.

Open, drag, paste…

Open any file or paste text to start a comparison.

Five python files being dragged into a JuxtaCode comparison window.

Merge Any Text

Start a 3-way merge from any file comparison.

The 'New Merge' toolbar item of a JuxtaCode comparision window.

Fits Your Workflow

Command Line Tool

Launch diffs and merges right form the terminal with the juxta command line tool.

CONFLICT (content): Merge conflict in complete-works/complete-works.xcodeproj/project.pbxproj
Auto-merging complete-works/Shared/Model/Model.swift
CONFLICT (content): Merge conflict in complete-works/Shared/Model/Model.swift
Automatic merge failed; fix conflicts and then commit the result.
> juxta_

Integrate with Visual Studio Code

Switch easily from VS Code to JuxtaCode whenever you need to resolve a conflict.

JuxtaCode's 3-way merge tool, opened from a conflicted file in Visual Studio Code.

Launch From Your Git Client

While you can select commits to compare and files to merge within JuxtaCode, you can also drive these actions from your Git client of choice.

  • ✔︎Tower
  • ✔︎Gitfox
  • ✔︎Fork