I have compiled the technical documentation for a physical product. It includes documents like user manuals, technical descriptions, maintenance instructions, etc. I have decided that all these documents should be collected in PDF format in one single directory. The corresponding original files (in Word, Excel, or other formats) are stored elsewhere and there is an Excel sheet that assigns an original document to each PDF.

The collection of PDFs will be subject to change, i.e., PDFs will be added, removed, or replaced by other versions. I am thinking of using Git for tracking these changes and being able to revert back to previous versions.

I am aware that Git is not intended to be used primarily with binary files, as it cannot track changes inside documents if they are in binary format. This means that between different commits, there will just be different PDF documents stored, and no in-file differences. This also means that the repository size will be larger than with a text-file-based approach, which I am willing to accept.

I am also aware that there exist document management systems that are better suited for this task. The main reason I want to use Git is that I already know the tool.

Are there any reasons that I am not aware of why using Git for this task would be an unwise idea?

  • Basic, native Git is not that good in managing large binary blobs. You will have to tell your users that they will have to install "git large file storage" extension. This makes it easier to download multi-gigabyte files and keep them under version control
    – knb
    Apr 2 at 8:01

1 Answer 1


You can use GIT for any files. I store code, images, notes, documentation, help files and even database schema, all in one place. Basically everything except the executable and the database. So a version branch has all the related information.

There is absolutely no issue storing binary files in GIT, apart from more storage (as you have noted).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.