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 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
There is no step two.
git diff and
git merge with workbook files, the same way as you normally do with text files.
To file an issue or contribute to the project, head over to the repository.
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
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