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.
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
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.
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.
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.
Open, drag, paste…
Open any file or paste text to start a comparison.
Merge Any Text
Start a 3-way merge from any file comparison.
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.
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
As Seen Around the Interwebs
Michael Tsai – Blog
“…it acts more like a Git client here in that as you move up and down the commit list it shows you the changes made in the selected commit…”
iOS Dev Weekly
“…It's beautifully designed and feels like a very well crafted native Mac app…”
Console
“Well designed native macOS app focused on Git diffs. Easily compare files and branches…”
Requires macOS Sonoma