Using file locking in Git
Discover the inner workings of Anchorpoint and Git file locking and how to utilize them effectively.
Projects in Autodesk Maya often involve complex assets, including .mb or .ma scene files, textures, rigs, and animation data. Without a proper system in place, managing these files across a team can get messy. This is where Git, a powerful version control system, can help. This article will explore the usefulness of Git for Maya workflows and explain how to use it properly.
In a team environment, Maya projects often involve large numbers of assets, such as models, rigs, animations, and textures. These projects also require frequent updates to the same files by different artists, as well as the ability to track versions and roll back mistakes. Using Maya with Git provides access to:
GitHub is a widely used cloud platform built around Git, the version control system. It adds tools that make project management and automation easier. You can interact with GitHub directly through Git commands or use desktop applications like Anchorpoint to simplify the process of pushing and pulling files.
Version control, also known as source control, is the practice of tracking and managing changes to code. A version control system records these changes over time, which makes it easier for teams to review the history of a project, roll back changes if needed, and collaborate without overwriting each other’s work. As development has become faster and more complex, version control has become essential for efficient teamwork.
Although tools like Dropbox are simple to use, they primarily store file changes without much context. Git and version control save every update as a commit, showing what changed, who made the change, and when. This makes it easier to roll back to an earlier version if needed and provides built-in documentation of your project’s history.
To use Maya with Git, you will need two things:
Although GitHub is the most widely used platform, its free and pro plans limit individual files to 2 GB. The Team plan increases this limit to 4 GB, and the Enterprise plan supports files up to 5 GB. GitHub Git LFS offers users 10 GB of free storage and bandwidth. Any additional usage is charged at $0.07 per GB for storage and $0.0875 per GB for outbound data transfer.
Other options, like Azure DevOps, offer more flexible LFS storage at no additional cost. Alternatively, you can host your own Git server to have full control over file management.
In this tutorial, we will use Anchorpoint because it is ideal for artists and comes with all the configurations necessary for 3D creation suites, such as Maya, ready to go.
Begin by registering at dev.azure.com. After creating your account, you can set up a new project in Azure DevOps. While the setup may feel a little time consuming, it only needs to be completed once.
Follow the setup process below to connect Azure DevOps to Anchorpoint. If you need to work offline, select the Shared Folder option when creating a new project.
During setup, you might run into problems, such as login errors. These can usually be fixed by using custom credentials under the “Use custom credentials” option.
To convert your Maya project into a Git repository, create a project in Anchorpoint and link it to your local project folder. Once created, Anchorpoint will automatically sync it with Azure DevOps.
When Anchorpoint detects uncommitted changes, it will ask you to add a commit message. After committing, click “Sync” to upload your files to Azure DevOps.
A .gitignore file determines which files shouldn’t be uploaded, like build outputs, temporary Maya files, or the DerivedDataCache. In this setup, a custom .gitignore called DCCs is used, specifically designed for handling art assets.
Each team member will need an active Azure DevOps account and an Anchorpoint account. Once invited to your project, they’ll get a notification. They’ll then choose an empty folder on their computer where Anchorpoint will download the project from Azure DevOps.
In this version control setup, instead of saving endless incremental files, you simply work and push changes to the cloud. It may take some adjustment, but it saves time, eliminates clutter, improves collaboration, and keeps the project well-structured.
With each push, Anchorpoint first checks for updates made by your teammates and downloads them before sending your changes.
During the various stages of content creation, files are often stored in shared solutions like NAS, Dropbox, or Google Drive. For workflows such as motion graphics, product visualization, or asset creation, a full version control system like Git isn’t necessary. However, with Anchorpoint, you can achieve a Git-style workflow by making commits directly on a shared drive with the DCC pipeline tools.
In this setup, versioning relies on incremental file names (v001, v002), along with metadata, both of which are managed by Anchorpoint. This provides an organized workflow with a publishing process similar to those used in animation or VFX pipelines. The drawback is that this approach is not compatible with game engines because they cannot interpret incremental file versioning.
Git, on the other hand, tracks every change to files and synchronizes them with a central repository, using a server as the single source of truth. This type of system is essential for workflows involving game engines.
Yes. With the introduction of Git Large File Storage (LFS), Git can now manage large files. Although you may still find opinions online claiming that Git doesn’t scale well or is only suited for text files, that is no longer true. In fact, we tested a Git repository containing over a million files and 1 TB of data, and it performed reliably.
Most artists are unfamiliar with Git or version control systems in general, whereas software developers use them regularly. In game development, a version control system is essential. Maya artists often rely on incremental saves (v001, v002, etc.), which work fine for storing files in Dropbox or similar tools. However, using a version control system provides additional benefits, such as a structured workflow, automatic backups, clear visibility of contributions, an organized file browser, and built-in documentation.
Yes. Git is free and open source. Even if you decide not to use Anchorpoint, you can choose any other Git-compatible application.