Skip to main content

Technical background (Git)

What is Git#

Git is a versioning system, which among other things is behind the well-known platform GitHub. The task of Git is to record all file changes within a folder (a repository) so that these can be saved (committed) as a version. Git is the most popular versioning system in software development. It is open source and has lots of plugins and extensions. It is possible to host Git projects on numerous servers such as GitHub, GitLab, Bitbucket or Azure Devops.

Git does not store versions incrementally. So you don't have to adjust filenames. When creating a new version, it takes a snapshot of a file and puts it in a hidden directory. You can restore old file versions with Anchorpoint or any other Git software.

Git repositories in Anchorpoint#

A project in Anchorpoint is a Git repository. This means that within this folder all changes are tracked. As soon as you add a new file, rename it, move it or overwrite it, Anchorpoint detects this change and shows it to you with an icon. In the timeline all changed files are shown again and can be versioned. With versioning you create a snapshot of this file and upload it to the central server.

"Anchorpoint Git Folder"

A hidden .git folder, as well as a hidden .gitattributes file is placed in each project. The previous file versions are stored there.

"Anchorpoint Git Folder"

If you navigate further in the folder you will find the previous versions in numbered subfolders.

"Anchorpoint Git Tracking"

The pencil icon indicates a modified file.

What about large files#

Anchorpoint uses Git LFS for binary data. Basically, anything that is not a plain text file is a binary file and is versioned via Git LFS. You don't need to install any additional plugins. LFS data is not put into the Git repository, but into a separate cache. There is no limit to the size of a single file.

Branches#

Anchorpoint supports branches and displays a selection of branches if there is more than one branch in a repository. However, all operations around creating and merging branches must be performed on another Git client.