Git basics#
Git is a version control (or source control) system that allows you to store snapshots of a file, without changing the filename. A version control system allows you to store all file versions on a central server as snapshots or checkpoints. This way, you can always roll back if something breaks.
It allows you to:
To do backups for your project, in case your files get corrupted
To sync between computers
To share your files with your team
It forces you to work in a proper way by committing your work at least once a day
Adds documentation to your work
It facilitates team collaboration with features such as file locking, so that you prevent losing work due to the fact that two people have worked on the same file at the same time
What is Git#
Git is one of many versioning systems similar to Perforce, SVN or Unity Version Control. Git is open source and has the largest ecosystems with platforms such as GitHub, Azure DevOps, GitLab and Git clients such as GitHub desktop, SourceTree or Fork.
Git terminology#
In Git, your project is stored in a so called “repository”, which contains all the project files. This repository is mostly online on GitHub or any other platform. You will “commit” new versions of your files to the repository. A commit can be seen such as a change list or a bundle of files that you have modified for a given task or on a given day. When you upload your commits to the repository you do a “push” and when you download them, you do a “pull”.
If you become more familiar with Git, you can use “branches” to better organize your development work. Branches are like isolated spaces where you can develop new features on your project without breaking anything.
Git in Anchorpoint#
Anchorpoint supports a subset of Git that is relevant for non technical users. This includes connecting to repositories, automatically configuring Git LFS, committing, pushing and pulling. Anchorpoint adds extra features such as file locking and understands file types such as .uasset, .psd, .fbx etx.
Anchorpoint uses a metadata server to add additional centralized functionality to Git, such as file locking, attributes (tagging, annotations) and a centralized Git configuration. Furthermore, integrations to Unreal and Unity allow for more control when locking and committing file changes.
File locking#
Anchorpoint provides its own file locking system using the Anchorpoint Metadata Server. This allows real-time locking of binary and text-based files. Anchorpoint does not support Git LFS file locking. You should not use both systems in parallel.
Git servers#
Next to GitHub, there are plenty of other solutions such as Azure DevOps, Bitbucket, GitLab or Gitea if you want to self host a Git server. Anchorpoint can push and pull files to these servers and works like a normal Git client.
You can use Anchorpoint’s integrations to create new repositories on that severs. If you already have a repository on a Git server, use the option “Connect existing repository via Https”.
Using Git in Anchorpoint with other Git clients#
You can use other Git clients with Anchorpoint such as SourceTree or GitHub desktop. Keep in mind that these tools cannot use selective checkout or clean the Git cache. If you have previously cleared the git cache in Anchorpoint, you may find that when you pull into GitHub Desktop, it downloads the entire cache from the server.
We recommend using it only for Git operations that are missing in Anchorpoint (e.g. cherry picking, rebasing, etc.), not for pulling and pushing.