git-xltrail:
A free and open-source local Git extension

NOTE: git-xltrail can be used independently of xltrail, the web based application. git-xltrail allows you to work locally with VBA based workbooks, while xltrail allows you to work with both cells and VBA. git-xltrail can be used with or without xltrail.

git-xltrail is a free & open-source Git extension that makes git-diff and git-merge work with Excel workbooks. It works either on the command line or with Atlassian's free Git desktop tool SourceTree, see here for an introduction.

xltrail works directly on the workbook file level and supports all Excel file formats, including xls, xlt, xla, xlam, xlsx, xlsm, xlsb, xltx, xltm.

Download v0.3.1 (Windows)

Getting Started

1.
Download and install the Git extension by clicking the button above. You only have to set up git-xltrail once. Once downloaded and installed, set up git-xltrail by running:

C:\> git xltrail install

Alternatively, initialise git-xltrail per repository, using the --local option, inside the root folder of your repository's local working copy:

C:\Repository> git xltrail install --local

2.
There is no step two.
Use git diff and git merge with workbook files, the same way as you normally do with text files.

git-xltrail is an open source project

To file an issue or contribute to the project, head over to the repository.

git-xltrail Features

Get meaningful output for git diff when comparing Excel workbook files containing VBA code.

C:\Repository> git diff dev..master
diff --xltrail a/Book1.xlsb b/Book1.xlsb
--- a/Book1.xlsb/VBA/Module/Module1
+++ b/Book1.xlsb/VBA/Module/Module1
@@ -1,4 +1,4 @@
 Option Explicit
 Public Function Version() As String
-   Version = "v1.0"
+   Version = "v1.1"
 End Function

Use Git branches to work on workbook changes and merge branches via the normal git merge.

C:\Repository> git merge dev
--- a/Book1.xlsb/VBA/Module/Module1
+++ b/Book1.xlsb/VBA/Module/Module1
Auto-merging Book1.xlsb
Merge made by the 'recursive' strategy.
 Book1.xlsb | Bin 8021 -> 7910 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

List all workbooks in your repository and get meta data on workbook content with the git xltrail ls-files command.

C:\Repository> git xltrail ls-files
./Book1.xlsb
    VBA/Document/ThisWorkbook
    VBA/Document/Sheet1
    VBA/Module/Module1
    VBA/Module/Module2
    VBA/Module/Module3