NOTE: Git XL can be used independently of xltrail. Git XL allows you to work locally with VBA based workbooks, while xltrail is a web based application that allows you to work with both sheets and VBA. Git XL can be used with or without xltrail.
Git XL 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 XL once. Once downloaded and installed, set up Git XL by running:
C:\> git xl install
Alternatively, initialise Git XL per repository, using the
--local option, inside the root folder of your repository's local working copy:
C:\Repository> git xl 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 --xl 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 xl ls-files command.
C:\Repository> git xl ls-files ./Book1.xlsb VBA/Document/ThisWorkbook VBA/Document/Sheet1 VBA/Module/Module1 VBA/Module/Module2 VBA/Module/Module3